56 lines
1.3 KiB
Fortran
56 lines
1.3 KiB
Fortran
c****************************************************************
|
|
c
|
|
c Various curvature functions
|
|
c
|
|
c
|
|
c****************************************************************
|
|
c**
|
|
c** FILE NAME: curvature.f
|
|
c**
|
|
c** DATE WRITTEN: 12/02/93
|
|
c**
|
|
c** PROGRAMMER:Scott Hensley
|
|
c**
|
|
c** FUNCTIONAL DESCRIPTION: This routine computes the curvature for
|
|
c** of various types required for ellipsoidal or spherical earth
|
|
c** calculations.
|
|
c**
|
|
c** ROUTINES CALLED:none
|
|
c**
|
|
c** NOTES: none
|
|
c**
|
|
c** UPDATE LOG:
|
|
c**
|
|
c*****************************************************************
|
|
|
|
real*8 function reast(r_a,r_e2,r_lat)
|
|
|
|
implicit none
|
|
real*8 r_a,r_e2,r_lat
|
|
|
|
reast = r_a/sqrt(1.d0 - r_e2*sin(r_lat)**2)
|
|
|
|
end
|
|
|
|
real*8 function rnorth(r_a,r_e2,r_lat)
|
|
|
|
implicit none
|
|
real*8 r_a,r_e2,r_lat
|
|
|
|
rnorth = (r_a*(1.d0 - r_e2))/(1.d0 - r_e2*sin(r_lat)**2)**(1.5d0)
|
|
|
|
end
|
|
|
|
real*8 function rdir(r_a,r_e2,r_hdg,r_lat)
|
|
|
|
implicit none
|
|
real*8 r_a,r_e2,r_lat,r_hdg,r_re,r_rn,reast,rnorth
|
|
|
|
r_re = reast(r_a,r_e2,r_lat)
|
|
r_rn = rnorth(r_a,r_e2,r_lat)
|
|
|
|
rdir = (r_re*r_rn)/(r_re*cos(r_hdg)**2 + r_rn*sin(r_hdg)**2)
|
|
|
|
end
|
|
|