earthConstants_mod sourceΒΆ

  1MODULE earthConstants_mod
  2  ! MODULE earthConstants_mod (prefix='ec' category='8. Low-level utilities and constants')
  3  !
  4  !:Purpose: Define public constants related to the Earth.
  5  !
  6  !          Prefixes:
  7  !           * ec_ (Earth constants), for miscellaneous values from diverse sources or
  8  !           * ec_wgs_ (World Geodetic Syatem) when they are explicitly from WGS84 specification.
  9  !
 10  use mathPhysConstants_mod
 11  !
 12  ! The following constants should ultimately be taken from module
 13  ! modgps02wgs84const OR module modgps06gravity.  They have been placed here
 14  ! as an intermediate step.
 15  real(8), parameter :: ec_Omega  = 7292000.D-11               ! Approximation, see for instance ec_wgs_Omega below.
 16  real(8), parameter :: ec_rg     = 9.80616000000000000000D+00 ! ...616 ? This is Lambert IGF at 45 lat (g45). The WMO standard for conversions is ...665.
 17  real(8), parameter :: ec_ra     = 6371229.00000000000000D+00 ! ECMWF topographical mean radius (Authalic radius, eg ec_wgs_R2,+average topography)
 18  real(8), parameter :: ec_r1sa   = 1.D0/ec_ra                 ! 1.56955588945241177170D-07          ! Modified to explicitly 1/ec_ra
 19  !real(8), parameter :: RV       = 4.61524993308387870310D+02 ! WV gas constant? Seems unused.
 20  real(8), parameter :: ec_rayt   = 6371220.00000000000000D+00 ! Another topographical mean (NOAA)
 21  !
 22  ! Further values through the code:
 23  !
 24  real(8), parameter :: ec_RDay    = 86400.D0                                   ! Standard day
 25  real(8), parameter :: ec_JYear   = 365.25D0                                   ! Standard (Julian) year
 26  real(8), parameter :: ec_SidYear = ec_JYear*ec_RDAY*2.D0*MPC_PI_R8/6.283076D0 ! Not really sidereal year, seems rather anomalistic year (odd).
 27  real(8), parameter :: ec_SidDay  = ec_RDAY/(1.D0+ec_RDAY/ec_SidYear)          ! Approx sidereal day (wrt perihelion?), odd expression.
 28  real(8), parameter :: ec_ROmega  = 2.D0*MPC_PI_R8/ec_SidDay                   ! Angular rotation (approx., again)
 29  !                                                                             ! ec_SidDay ~= 86164.0996
 30  !                                                                             ! ec_ROmega ~= 7292115.D-11
 31  !                                                                             ! First seven digits as ec_wgs_Omega
 32
 33  ! WGS (World Geodetic System, 1984) constants
 34
 35  ! Semimajor axis (a) (m)                             [*Defining constant*]
 36  real(8), parameter :: ec_wgs_a = 6378137.0D0
 37
 38  ! Flattening (f)                                     [*Defining constant*]
 39  real(8), parameter :: ec_wgs_f = 1.D0 / 298.257223563D0
 40
 41  ! m = omega^2 a^2 b / GM
 42  real(8), parameter :: ec_wgs_m = 0.00344978650684D0
 43
 44  ! Theoretical (Normal) Gravity Formula Constant:
 45  real(8), parameter :: ec_wgs_TNGk = 0.00193185265241D0
 46
 47  ! First eccentricity squared:
 48  real(8), parameter :: ec_wgs_e2 = 6.69437999014D-3
 49
 50  ! Theoretical (Normal) Gravity at the equator (m/s2):
 51  real(8), parameter :: ec_wgs_GammaE = 9.7803253359D0
 52
 53  ! Earth's Gravitational Constant (GM) (m3/s2).       [*Defining constant*]
 54  ! This is the GM value with Earth's atmosphere included.
 55  real(8), parameter :: ec_wgs_GM         = 3986004.418D8
 56
 57  ! Angular velocity of the Earth (omega) (radians/s). [*Defining constant*]
 58  ! Standard Earth, rotating with a constant angular velocity.
 59  real(8), parameter :: ec_wgs_Omega      = 7292115.D-11
 60
 61  !  ***********************************************************
 62  !  Parameter values for special applications:
 63  !  ***********************************************************
 64
 65  ! Earth's Gravitational Constant (GM_KEP) (m3/s2).
 66  !
 67  ! This is the old GM value with Earth's atmosphere included,
 68  ! but still used for consistency in the transformations
 69  ! instantaneous keplerian <-> cartesian state vector.
 70  real(8), parameter :: ec_wgs_GM_KEP     = 3986005.0D8
 71
 72  ! Earth's Atmosphere Gravitational Constant (GMA) (m3/s2).
 73  ! This is the GM value of the Earth's atmosphere alone.
 74  real(8), parameter :: ec_wgs_GMA        = 3.5D8
 75
 76  ! Earth's Gravitational Constant (GMPrime) (m3/s2).
 77  ! This is the GM value with Earth's atmosphere excluded.
 78  real(8), parameter :: ec_wgs_GMPrime    = 3986000.9D8
 79
 80  ! Angular velocity of the Earth (omegaPrime) (radians/s).
 81  ! Standard Earth, rotating with a constant angular velocity (IAU, GRS67).
 82  real(8), parameter :: ec_wgs_OmegaPrime = 7292115.1467D-11
 83
 84  ! Angular velocity of the Earth (omegaStar) (radians/s).
 85  ! Standard Earth, in a precessing frame (TU: Julian centuries since J2000.0)
 86  ! OmegaStar = OmegaStar0 + OmegaStar1 * TU
 87  real(8), parameter :: ec_wgs_OmegaStar0 = 7292115.8553D-11
 88  real(8), parameter :: ec_wgs_OmegaStar1 = 4.3D-15
 89
 90  !  ***********************************************************
 91  !  Derived geometric constants:
 92  !  ***********************************************************
 93
 94  ! Inverse flattening: 1/f = ec_wgs_1f
 95  real(8), parameter :: ec_wgs_1f         = 298.257223563D0
 96
 97  ! Second degree zonal coefficient:
 98  real(8), parameter :: ec_wgs_C20        = -0.484166774985D-3
 99
100  ! Semiminor axis:
101  real(8), parameter :: ec_wgs_b          = 6356752.3142D0
102
103  ! First eccentricity:
104  real(8), parameter :: ec_wgs_e          = 8.1819190842622D-2
105
106  ! Second eccentricity:
107  real(8), parameter :: ec_wgs_ePrime     = 8.2094437949696D-2
108
109  ! Second eccentricity squared:
110  real(8), parameter :: ec_wgs_ePrime2    = 6.73949674228D-3
111
112  ! Linear eccentricity:
113  real(8), parameter :: ec_wgs_ELinear    = 5.2185400842339D5
114
115  ! Polar radius of curvature:
116  real(8), parameter :: ec_wgs_c          = 6399593.6258D0
117
118  ! Focal length:
119  real(8), parameter :: ec_wgs_EFocal     = 521854.00897D0
120
121  ! Axis ratio:
122  real(8), parameter :: ec_wgs_ba         = 0.996647189335D0
123
124  ! Mean radius of semiaxes:
125  real(8), parameter :: ec_wgs_R1         = 6371008.7714D0
126
127  ! Radius of sphere of equal area:
128  real(8), parameter :: ec_wgs_R2         = 6371007.1809D0
129
130  ! Radius of sphere of equal volume:
131  real(8), parameter :: ec_wgs_R3         = 6371000.7900D0
132
133  !  ***********************************************************
134  !  Derived physical constants:
135  !  ***********************************************************
136
137  ! Theoretical (Normal) Gravity potential of the ellipsoid (m2/s2):
138  real(8), parameter :: ec_wgs_U0         = 62636860.8497D0
139
140  ! Theoretical (Normal) Gravity at the pole (m/s2):
141  real(8), parameter :: ec_wgs_GammaP     = 9.8321849378D0
142
143  ! Mean Value of the Theoretical (Normal) Gravity (m/s2):
144  real(8), parameter :: ec_wgs_GammaM     = 9.7976432222D0
145
146  ! Mass of the Earth (Atmosphere Included):
147  real(8), parameter :: ec_wgs_Mass       = 5.9733328D24
148
149  ! Dynamical Ellipticity H:
150  real(8), parameter :: ec_wgs_H          = 1.D0 / 305.4413D0
151
152  ! Universal Constant of Gravitation (m3/kg*s2):
153  ! (value to be used only within WGS, for internal consistency)
154  real(8), parameter :: ec_wgs_G          = 6.673D-11
155
156  ! Earth's principal moments of inertia (A, B, C) (kg m2):
157  real(8), parameter :: ec_wgs_PMI_A      = 8.0091029D37
158  real(8), parameter :: ec_wgs_PMI_B      = 8.0092559D37
159  real(8), parameter :: ec_wgs_PMI_C      = 8.0354872D37
160
161end MODULE earthConstants_mod