10 real(kind_real),
parameter ::
grav_polar = 9.8321849378_kind_real
11 real(kind_real),
parameter ::
grav_equator = 9.7803253359_kind_real
12 real(kind_real),
parameter ::
earth_omega = 7.292115e-5_kind_real
28 real(kind_real),
intent(in) :: Latitude, geometricZ
29 real(kind_real),
intent(out) :: geopotentialH
30 real(kind_real) :: sino, termg, termr
32 sino = sin(deg2rad*latitude)**2
35 geopotentialh = (termg/grav) * ((termr*geometricz)/(termr+geometricz))
43 real(kind_real),
intent(in) :: latitude, geopotentialH
44 real(kind_real),
intent(out) :: geometricZ
45 real(kind_real),
intent(out),
optional ::dzdh_jac
46 real(kind_real) :: sino
47 real(kind_real) :: termg, termr, termrg
49 sino = sin(deg2rad*latitude)**2
52 termrg = termg/grav*termr
54 geometricz = termr*geopotentialh/(termrg-geopotentialh)
56 if (
present(dzdh_jac))
then
57 dzdh_jac = termr/(termrg-geopotentialh) + (termr*geopotentialh)/(termrg-geopotentialh)**2
65 real(kind_real),
intent(in) :: temperature, specH, pressure
66 real(kind_real),
intent(out) :: refr
67 integer(c_int),
intent(in) :: use_compress
68 real(kind_real) :: refr1,refr2,refr3, tfact
73 tfact = (1-rd_over_rv)*spech+rd_over_rv
74 refr1 =
n_a*pressure/temperature
75 refr2 =
n_b*spech*pressure/(temperature**2*tfact)
76 refr3 =
n_c*spech*pressure/(temperature*tfact)
77 refr = refr1 + refr2 + refr3
subroutine, public gnssro_ref_constants(use_compress)
real(kind_real), public n_a
real(kind_real), public n_b
real(kind_real), public n_c