[2747] | 1 | !WRF:MODEL_LAYER:CONSTANTS |
---|
| 2 | ! |
---|
| 3 | |
---|
| 4 | MODULE module_model_constants |
---|
| 5 | |
---|
| 6 | ! 2. Following are constants for use in defining real number bounds. |
---|
| 7 | |
---|
| 8 | ! A really small number. |
---|
| 9 | |
---|
| 10 | REAL , PARAMETER :: epsilon = 1.E-15 |
---|
| 11 | |
---|
| 12 | ! 4. Following is information related to the physical constants. |
---|
| 13 | |
---|
| 14 | ! These are the physical constants used within the model. |
---|
| 15 | |
---|
| 16 | ! JM NOTE -- can we name this grav instead? |
---|
| 17 | REAL , PARAMETER :: g = 9.81 ! acceleration due to gravity (m {s}^-2) |
---|
| 18 | |
---|
| 19 | #if ( NMM_CORE == 1 ) |
---|
| 20 | REAL , PARAMETER :: r_d = 287.04 |
---|
| 21 | REAL , PARAMETER :: cp = 1004.6 |
---|
| 22 | #else |
---|
| 23 | REAL , PARAMETER :: r_d = 287. |
---|
| 24 | REAL , PARAMETER :: cp = 7.*r_d/2. |
---|
| 25 | #endif |
---|
| 26 | |
---|
| 27 | REAL , PARAMETER :: r_v = 461.6 |
---|
| 28 | REAL , PARAMETER :: cv = cp-r_d |
---|
| 29 | REAL , PARAMETER :: cpv = 4.*r_v |
---|
| 30 | REAL , PARAMETER :: cvv = cpv-r_v |
---|
| 31 | REAL , PARAMETER :: cvpm = -cv/cp |
---|
| 32 | REAL , PARAMETER :: cliq = 4190. |
---|
| 33 | REAL , PARAMETER :: cice = 2106. |
---|
| 34 | REAL , PARAMETER :: psat = 610.78 |
---|
| 35 | REAL , PARAMETER :: rcv = r_d/cv |
---|
| 36 | REAL , PARAMETER :: rcp = r_d/cp |
---|
| 37 | REAL , PARAMETER :: rovg = r_d/g |
---|
| 38 | REAL , PARAMETER :: c2 = cp * rcv |
---|
| 39 | real , parameter :: mwdry = 28.966 ! molecular weight of dry air (g/mole) |
---|
| 40 | |
---|
| 41 | REAL , PARAMETER :: p1000mb = 100000. |
---|
| 42 | REAL , PARAMETER :: t0 = 300. |
---|
| 43 | REAL , PARAMETER :: p0 = p1000mb |
---|
| 44 | REAL , PARAMETER :: cpovcv = cp/(cp-r_d) |
---|
| 45 | REAL , PARAMETER :: cvovcp = 1./cpovcv |
---|
| 46 | REAL , PARAMETER :: rvovrd = r_v/r_d |
---|
| 47 | |
---|
| 48 | REAL , PARAMETER :: reradius = 1./6370.0e03 |
---|
| 49 | |
---|
| 50 | REAL , PARAMETER :: asselin = .025 |
---|
| 51 | ! REAL , PARAMETER :: asselin = .0 |
---|
| 52 | REAL , PARAMETER :: cb = 25. |
---|
| 53 | |
---|
| 54 | REAL , PARAMETER :: XLV0 = 3.15E6 |
---|
| 55 | REAL , PARAMETER :: XLV1 = 2370. |
---|
| 56 | REAL , PARAMETER :: XLS0 = 2.905E6 |
---|
| 57 | REAL , PARAMETER :: XLS1 = 259.532 |
---|
| 58 | |
---|
| 59 | REAL , PARAMETER :: XLS = 2.85E6 |
---|
| 60 | REAL , PARAMETER :: XLV = 2.5E6 |
---|
| 61 | REAL , PARAMETER :: XLF = 3.50E5 |
---|
| 62 | |
---|
| 63 | REAL , PARAMETER :: rhowater = 1000. |
---|
| 64 | REAL , PARAMETER :: rhosnow = 100. |
---|
| 65 | REAL , PARAMETER :: rhoair0 = 1.28 |
---|
| 66 | |
---|
| 67 | REAL , PARAMETER :: DEGRAD = 3.1415926/180. |
---|
| 68 | REAL , PARAMETER :: DPD = 360./365. |
---|
| 69 | |
---|
| 70 | REAL , PARAMETER :: SVP1=0.6112 |
---|
| 71 | REAL , PARAMETER :: SVP2=17.67 |
---|
| 72 | REAL , PARAMETER :: SVP3=29.65 |
---|
| 73 | REAL , PARAMETER :: SVPT0=273.15 |
---|
| 74 | REAL , PARAMETER :: EP_1=R_v/R_d-1. |
---|
| 75 | REAL , PARAMETER :: EP_2=R_d/R_v |
---|
| 76 | REAL , PARAMETER :: KARMAN=0.4 |
---|
| 77 | REAL , PARAMETER :: EOMEG=7.2921E-5 |
---|
| 78 | REAL , PARAMETER :: STBOLT=5.67051E-8 |
---|
| 79 | |
---|
| 80 | REAL , PARAMETER :: prandtl = 1./3.0 |
---|
| 81 | ! constants for w-damping option |
---|
| 82 | REAL , PARAMETER :: w_alpha = 0.3 ! strength m/s/s |
---|
| 83 | REAL , PARAMETER :: w_beta = 1.0 ! activation cfl number |
---|
| 84 | |
---|
| 85 | REAL , PARAMETER :: pq0=379.90516 |
---|
| 86 | REAL , PARAMETER :: epsq2=0.2 |
---|
| 87 | ! REAL , PARAMETER :: epsq2=0.02 |
---|
| 88 | REAL , PARAMETER :: a2=17.2693882 |
---|
| 89 | REAL , PARAMETER :: a3=273.16 |
---|
| 90 | REAL , PARAMETER :: a4=35.86 |
---|
| 91 | REAL , PARAMETER :: epsq=1.e-12 |
---|
| 92 | REAL , PARAMETER :: p608=rvovrd-1. |
---|
| 93 | !#if ( NMM_CORE == 1 ) |
---|
| 94 | REAL , PARAMETER :: climit=1.e-20 |
---|
| 95 | REAL , PARAMETER :: cm1=2937.4 |
---|
| 96 | REAL , PARAMETER :: cm2=4.9283 |
---|
| 97 | REAL , PARAMETER :: cm3=23.5518 |
---|
| 98 | ! REAL , PARAMETER :: defc=8.0 |
---|
| 99 | ! REAL , PARAMETER :: defm=32.0 |
---|
| 100 | REAL , PARAMETER :: defc=0.0 |
---|
| 101 | REAL , PARAMETER :: defm=99999.0 |
---|
| 102 | REAL , PARAMETER :: epsfc=1./1.05 |
---|
| 103 | REAL , PARAMETER :: epswet=0.0 |
---|
| 104 | REAL , PARAMETER :: fcdif=1./3. |
---|
| 105 | REAL , PARAMETER :: fcm=0.00003 |
---|
| 106 | REAL , PARAMETER :: gma=-r_d*(1.-rcp)*0.5 |
---|
| 107 | REAL , PARAMETER :: p400=40000.0 |
---|
| 108 | REAL , PARAMETER :: phitp=15000.0 |
---|
| 109 | REAL , PARAMETER :: pi2=2.*3.1415926 |
---|
| 110 | REAL , PARAMETER :: plbtm=105000.0 |
---|
| 111 | REAL , PARAMETER :: plomd=64200.0 |
---|
| 112 | REAL , PARAMETER :: pmdhi=35000.0 |
---|
| 113 | REAL , PARAMETER :: q2ini=0.50 |
---|
| 114 | REAL , PARAMETER :: rfcp=0.25/cp |
---|
| 115 | REAL , PARAMETER :: rhcrit_land=0.75 |
---|
| 116 | REAL , PARAMETER :: rhcrit_sea=0.80 |
---|
| 117 | REAL , PARAMETER :: rlag=14.8125 |
---|
| 118 | REAL , PARAMETER :: rlx=0.90 |
---|
| 119 | REAL , PARAMETER :: scq2=50.0 |
---|
| 120 | REAL , PARAMETER :: slopht=0.001 |
---|
| 121 | REAL , PARAMETER :: tlc=2.*0.703972477 |
---|
| 122 | REAL , PARAMETER :: wa=0.15 |
---|
| 123 | REAL , PARAMETER :: wght=0.35 |
---|
| 124 | REAL , PARAMETER :: wpc=0.075 |
---|
| 125 | REAL , PARAMETER :: z0land=0.10 |
---|
| 126 | REAL , PARAMETER :: z0max=0.008 |
---|
| 127 | REAL , PARAMETER :: z0sea=0.001 |
---|
| 128 | !#endif |
---|
| 129 | |
---|
| 130 | |
---|
| 131 | ! Earth |
---|
| 132 | |
---|
| 133 | ! The value for P2SI *must* be set to 1.0 for Earth |
---|
| 134 | ! Although, now we may not need this declaration here (see above) |
---|
| 135 | !REAL , PARAMETER :: P2SI = 1.0 |
---|
| 136 | |
---|
| 137 | ! Orbital constants: |
---|
| 138 | |
---|
| 139 | INTEGER , PARAMETER :: PLANET_YEAR = 365 |
---|
| 140 | REAL , PARAMETER :: OBLIQUITY = 23.5 |
---|
| 141 | REAL , PARAMETER :: ECCENTRICITY = 0.014 |
---|
| 142 | REAL , PARAMETER :: SEMIMAJORAXIS = 1.0 ! In AU |
---|
| 143 | ! Don't know the following values, so we'll fake them for now |
---|
| 144 | REAL , PARAMETER :: zero_date = 0.0 ! Time of perihelion passage |
---|
| 145 | ! Fraction into the year (from perhelion) of the |
---|
| 146 | ! occurrence of the Northern Spring Equinox |
---|
| 147 | REAL , PARAMETER :: EQUINOX_FRACTION= 0.0 |
---|
| 148 | |
---|
| 149 | CONTAINS |
---|
| 150 | SUBROUTINE init_module_model_constants |
---|
| 151 | END SUBROUTINE init_module_model_constants |
---|
| 152 | END MODULE module_model_constants |
---|