[11] | 1 | !WRF:MODEL_LAYER:CONSTANTS |
---|
| 2 | ! |
---|
| 3 | !PLANET MARS |
---|
| 4 | |
---|
[1599] | 5 | MODULE module_model_constants |
---|
[1598] | 6 | USE module_configure |
---|
[1599] | 7 | ! 2. Following are constants for use in defining real number bounds. |
---|
[11] | 8 | |
---|
[1599] | 9 | ! A really small number. |
---|
[1724] | 10 | character(len=15) :: planet |
---|
[1599] | 11 | REAL , PARAMETER :: epsilon = 1.E-15 |
---|
| 12 | |
---|
[11] | 13 | ! 4. Following is information related to the physical constants. |
---|
| 14 | |
---|
[1599] | 15 | ! These are the physical parameter used within the model. |
---|
| 16 | |
---|
| 17 | !! added in WRFV3 |
---|
| 18 | real , parameter :: mwdry = 43.49 ! molecular weight of dry air (g/mole) |
---|
[11] | 19 | ! |
---|
| 20 | !------------------------------- |
---|
| 21 | |
---|
[1599] | 22 | REAL , PARAMETER :: asselin = .025 |
---|
| 23 | ! REAL , PARAMETER :: asselin = .0 |
---|
| 24 | REAL , PARAMETER :: cb = 25. |
---|
[11] | 25 | |
---|
[1599] | 26 | REAL , PARAMETER :: XLV0 = 3.15E6 |
---|
| 27 | REAL , PARAMETER :: XLV1 = 2370. |
---|
| 28 | REAL , PARAMETER :: XLS0 = 2.905E6 |
---|
| 29 | REAL , PARAMETER :: XLS1 = 259.532 |
---|
[11] | 30 | |
---|
[1599] | 31 | REAL , PARAMETER :: XLS = 2.85E6 |
---|
| 32 | REAL , PARAMETER :: XLV = 2.5E6 |
---|
| 33 | REAL , PARAMETER :: XLF = 3.50E5 |
---|
| 34 | |
---|
| 35 | REAL , PARAMETER :: rhowater = 1000. |
---|
| 36 | REAL , PARAMETER :: rhosnow = 100. |
---|
| 37 | REAL , PARAMETER :: rhoair0 = 0.02 !Earth Surface density: 1.217 kg/m3 |
---|
[11] | 38 | !Mars Surface density: 0.020 kg/m3 |
---|
[1599] | 39 | REAL , PARAMETER :: DEGRAD = 3.1415926/180. |
---|
| 40 | REAL , PARAMETER :: DPD = 360./669. ! longitude solaire d'un jour? |
---|
[11] | 41 | |
---|
[1599] | 42 | REAL , PARAMETER :: SVP1=0.6112 |
---|
| 43 | REAL , PARAMETER :: SVP2=17.67 |
---|
| 44 | REAL , PARAMETER :: SVP3=29.65 |
---|
| 45 | REAL , PARAMETER :: SVPT0=273.15 |
---|
| 46 | REAL , PARAMETER :: KARMAN=0.4 ! von karman constant |
---|
| 47 | REAL , PARAMETER :: STBOLT=5.67051E-8 ! stefan-boltzmann constant |
---|
[11] | 48 | |
---|
[1599] | 49 | !! NB: c_s and c_k in WRFV2 moved to module_diffusion_em.F |
---|
| 50 | !! NB: no need in WRFV3 because set in namelist |
---|
| 51 | REAL , PARAMETER :: prandtl = 1./3.0 |
---|
| 52 | ! constants for w-damping option |
---|
| 53 | ! REAL , PARAMETER :: w_alpha = 0.3 ! strength m/s/s |
---|
| 54 | REAL , PARAMETER :: w_alpha = 2.0 ! strength m/s/s |
---|
| 55 | ! REAL , PARAMETER :: w_beta = 1.0 ! activation cfl number |
---|
| 56 | REAL , PARAMETER :: w_beta = 0.8 ! activation cfl number |
---|
[1585] | 57 | |
---|
[1599] | 58 | !! in WRFV3 |
---|
| 59 | ! REAL , PARAMETER :: w_alpha = 0.3 ! strength m/s/s |
---|
| 60 | ! REAL , PARAMETER :: w_beta = 1.0 ! activation cfl number |
---|
| 61 | !! |
---|
| 62 | REAL , PARAMETER :: pq0=379.90516 |
---|
| 63 | REAL , PARAMETER :: epsq2=0.2 |
---|
| 64 | ! REAL , PARAMETER :: epsq2=0.02 |
---|
| 65 | REAL , PARAMETER :: a2=17.2693882 |
---|
| 66 | REAL , PARAMETER :: a3=273.16 |
---|
| 67 | REAL , PARAMETER :: a4=35.86 |
---|
| 68 | REAL , PARAMETER :: epsq=1.e-12 |
---|
| 69 | !#if ( NMM_CORE == 1 ) |
---|
| 70 | REAL , PARAMETER :: climit=1.e-20 |
---|
| 71 | REAL , PARAMETER :: cm1=2937.4 |
---|
| 72 | REAL , PARAMETER :: cm2=4.9283 |
---|
| 73 | REAL , PARAMETER :: cm3=23.5518 |
---|
| 74 | ! REAL , PARAMETER :: defc=8.0 |
---|
| 75 | ! REAL , PARAMETER :: defm=32.0 |
---|
| 76 | REAL , PARAMETER :: defc=0.0 |
---|
| 77 | REAL , PARAMETER :: defm=99999.0 |
---|
| 78 | REAL , PARAMETER :: epsfc=1./1.05 |
---|
| 79 | REAL , PARAMETER :: epswet=0.0 |
---|
| 80 | REAL , PARAMETER :: fcdif=1./3. |
---|
| 81 | ! REAL , PARAMETER :: fcm=0.003 |
---|
| 82 | REAL , PARAMETER :: fcm=0.00003 |
---|
| 83 | ! REAL , PARAMETER :: fcm=0.0 |
---|
| 84 | REAL , PARAMETER :: p400=40000.0 |
---|
| 85 | REAL , PARAMETER :: phitp=15000.0 |
---|
| 86 | REAL , PARAMETER :: pi2=2.*3.1415926 |
---|
| 87 | REAL , PARAMETER :: plbtm=105000.0 |
---|
| 88 | REAL , PARAMETER :: plomd=64200.0 |
---|
| 89 | REAL , PARAMETER :: pmdhi=35000.0 |
---|
| 90 | REAL , PARAMETER :: q2ini=0.50 |
---|
| 91 | REAL , PARAMETER :: rhcrit_land=0.75 |
---|
| 92 | REAL , PARAMETER :: rhcrit_sea=0.80 |
---|
| 93 | REAL , PARAMETER :: rlag=14.8125 |
---|
| 94 | REAL , PARAMETER :: rlx=0.90 |
---|
| 95 | REAL , PARAMETER :: scq2=50.0 |
---|
| 96 | REAL , PARAMETER :: slopht=0.001 |
---|
| 97 | REAL , PARAMETER :: tlc=2.*0.703972477 |
---|
| 98 | REAL , PARAMETER :: wa=0.15 |
---|
| 99 | REAL , PARAMETER :: wght=0.35 |
---|
| 100 | REAL , PARAMETER :: wpc=0.075 |
---|
| 101 | REAL , PARAMETER :: z0land=0.10 |
---|
| 102 | ! REAL , PARAMETER :: z0max=0.01 |
---|
| 103 | REAL , PARAMETER :: z0max=0.008 |
---|
| 104 | REAL , PARAMETER :: z0sea=0.001 |
---|
| 105 | REAL, PARAMETER :: r_v=461.6 ! gas constant for water vapor |
---|
| 106 | !#endif |
---|
[1585] | 107 | |
---|
[1599] | 108 | !!!! needed in WRFV3 |
---|
| 109 | ! Earth |
---|
[11] | 110 | |
---|
[1599] | 111 | ! The value for P2SI *must* be set to 1.0 for Earth |
---|
| 112 | ! Although, now we may not need this declaration here (see above) |
---|
| 113 | !REAL , PARAMETER :: P2SI = 1.0 |
---|
[1598] | 114 | |
---|
[1599] | 115 | ! Orbital constants: |
---|
[11] | 116 | |
---|
[1599] | 117 | INTEGER , PARAMETER :: PLANET_YEAR = 365 |
---|
| 118 | REAL , PARAMETER :: OBLIQUITY = 23.5 |
---|
| 119 | REAL , PARAMETER :: ECCENTRICITY = 0.014 |
---|
| 120 | REAL , PARAMETER :: SEMIMAJORAXIS = 1.0 ! In AU |
---|
| 121 | ! Don't know the following values, so we'll fake them for now |
---|
| 122 | REAL , PARAMETER :: zero_date = 0.0 ! Time of perihelion passage |
---|
| 123 | ! Fraction into the year (from perhelion) of the |
---|
| 124 | ! occurrence of the Northern Spring Equinox |
---|
| 125 | REAL , PARAMETER :: EQUINOX_FRACTION= 0.0 |
---|
| 126 | !!!! needed in WRFV3 |
---|
| 127 | |
---|
| 128 | ! These are the physical constants planet dependent used within the model. |
---|
| 129 | |
---|
[1598] | 130 | real :: g |
---|
| 131 | REAL :: r_d |
---|
| 132 | REAL :: cp |
---|
| 133 | !REAL :: cpp |
---|
| 134 | REAL :: cv |
---|
| 135 | REAL :: cpv |
---|
| 136 | REAL :: cvv |
---|
| 137 | REAL :: cvpm |
---|
| 138 | REAL :: cliq |
---|
| 139 | REAL :: cice |
---|
| 140 | REAL :: psat |
---|
| 141 | REAL :: rcv |
---|
| 142 | REAL :: rcp |
---|
| 143 | REAL :: rovg |
---|
| 144 | REAL :: c2 |
---|
| 145 | REAL :: EOMEG ! angular rotation rate (rad.s-1) |
---|
[11] | 146 | |
---|
[1598] | 147 | REAL :: p1000mb |
---|
| 148 | REAL :: t0 |
---|
| 149 | REAL :: p0 |
---|
| 150 | REAL :: cpovcv |
---|
| 151 | REAL :: cvovcp |
---|
| 152 | REAL :: rvovrd |
---|
| 153 | REAL :: gma |
---|
| 154 | REAL :: EP_1 |
---|
| 155 | REAL :: EP_2 |
---|
| 156 | REAL :: rfcp |
---|
| 157 | REAL :: p608 |
---|
| 158 | REAL :: rad |
---|
| 159 | REAL :: reradius |
---|
| 160 | Real :: molmas !Molecular mass |
---|
[1585] | 161 | |
---|
[1598] | 162 | REAL :: wdaysec ! duree du sol (s) ~88775 s |
---|
| 163 | REAL :: wmugaz ! Masse molaire de l'atm (g.mol-1) ~43.49 |
---|
| 164 | REAL :: womeg ! omega (rad.s-1) |
---|
| 165 | REAL :: wyear_day ! Duree de l'annee (sols) ~668.6 |
---|
| 166 | REAL :: wperiheli ! Dist.min. soleil-mars (Mkm) ~206.66 |
---|
| 167 | REAL :: waphelie ! Dist.max. soleil-mars (Mkm) ~249.22 |
---|
| 168 | REAL :: wperi_day ! Date du perihelie (sols depuis printemps) |
---|
| 169 | REAL :: wobliquit ! Obliquite de la planete (deg) ~25.2 |
---|
| 170 | REAL :: wz0 ! surface roughness (m) ~0.01 |
---|
| 171 | REAL :: wlmixmin ! longueur de melange ~100 |
---|
| 172 | REAL :: wemin_turb ! energie minimale ~1.e-8 |
---|
| 173 | REAL :: wemissiv ! Emissivite du sol martien ~.95 |
---|
| 174 | REAL :: wemissiceN ! Emissivite calotte nord |
---|
| 175 | REAL :: wemissiceS ! Emissivite calotte sud |
---|
| 176 | REAL :: walbediceN ! Albedo calotte nord !0.5 |
---|
| 177 | REAL :: walbediceS ! Albedo calotte sud !0.5 |
---|
| 178 | REAL :: wiceradiusN ! mean scat radius of CO2 snow (north) |
---|
| 179 | REAL :: wiceradiusS ! mean scat radius of CO2 snow (south) |
---|
| 180 | REAL :: wdtemisiceN ! time scale for snow metamorphism (north) !2 |
---|
| 181 | REAL :: wdtemisiceS ! time scale for snow metamorphism (south) !2 |
---|
| 182 | REAL :: wvolcapa ! volumetric capacity of soil (new soil model) |
---|
| 183 | REAL :: z_scale ! scale height |
---|
[1599] | 184 | |
---|
[1724] | 185 | REAL :: TT00 |
---|
| 186 | REAL :: nu |
---|
[1598] | 187 | CONTAINS |
---|
[1765] | 188 | SUBROUTINE init_module_model_constants |
---|
[1598] | 189 | IMPLICIT NONE |
---|
| 190 | Call initial_config |
---|
[1745] | 191 | planet=model_config_rec%planet |
---|
[1598] | 192 | !write(*,*) "unknown planet type", planet |
---|
| 193 | !stop |
---|
| 194 | |
---|
| 195 | ! These are the physical constants used within the model |
---|
| 196 | |
---|
[1599] | 197 | IF ( planet == "mars" ) then |
---|
[1598] | 198 | ! JM NOTE -- can we name this grav instead? |
---|
| 199 | g = 3.72 ! acceleration due to gravity (m {s}^-2) |
---|
[1585] | 200 | |
---|
[1598] | 201 | !#if ( NMM_CORE == 1 ) |
---|
| 202 | ! REAL :: r_d = 192. ! gas constant m2 s-2 K-1 |
---|
| 203 | ! REAL :: cp = 844.6 ! r= 8.314511E+0 *1000.E+0/mugaz |
---|
| 204 | !#else |
---|
| 205 | ! REAL :: r_d = 192. |
---|
| 206 | ! REAL :: cp = 844.6 |
---|
| 207 | !#endif |
---|
[1585] | 208 | |
---|
[1598] | 209 | r_d = 191. |
---|
| 210 | cp = 744.5 |
---|
| 211 | cliq = 4190. |
---|
| 212 | cice = 2106. |
---|
| 213 | psat = 610.78 |
---|
[1599] | 214 | t0 = 220. ! earth : 300 ... à remplacer par 220 ? |
---|
[1598] | 215 | p0 = 610. |
---|
| 216 | p1000mb = 610. |
---|
| 217 | reradius = 1./3397200. ! Rayon de mars (m) ~3397200 m |
---|
| 218 | EOMEG =7.0721E-5 ! angular rotation rate (rad.s-1) |
---|
| 219 | wdaysec = 88800. ! duree du sol (s) ~88775 s |
---|
| 220 | wmugaz = 43.49 ! Masse molaire de l'atm (g.mol-1) ~43.49 |
---|
| 221 | womeg = 7.0721E-5 ! omega (rad.s-1) |
---|
| 222 | wyear_day = 669. ! Duree de l'annee (sols) ~668.6 |
---|
| 223 | wperiheli = 206.66 ! Dist.min. soleil-mars (Mkm) ~206.66 |
---|
| 224 | waphelie = 249.22 ! Dist.max. soleil-mars (Mkm) ~249.22 |
---|
| 225 | wperi_day = 485. ! Date du perihelie (sols depuis printemps) |
---|
| 226 | wobliquit = 25.2 ! Obliquite de la planete (deg) ~25.2 |
---|
| 227 | wz0 = 1.e-2 ! surface roughness (m) ~0.01 |
---|
| 228 | wlmixmin = 30. ! longueur de melange ~100 |
---|
| 229 | wemin_turb = 1.e-6 ! energie minimale ~1.e-8 |
---|
| 230 | wemissiv = 0.95 ! Emissivite du sol martien ~.95 |
---|
| 231 | wemissiceN = 0.95 ! Emissivite calotte nord |
---|
| 232 | wemissiceS = 0.95 ! Emissivite calotte sud |
---|
| 233 | walbediceN = 0.65 ! Albedo calotte nord !0.5 |
---|
| 234 | walbediceS = 0.65 ! Albedo calotte sud !0.5 |
---|
| 235 | wiceradiusN = 100.e-6 ! mean scat radius of CO2 snow (north) |
---|
| 236 | wiceradiusS = 100.e-6 ! mean scat radius of CO2 snow (south) |
---|
| 237 | wdtemisiceN = 0.4 ! time scale for snow metamorphism (north) !2 |
---|
| 238 | wdtemisiceS = 0.4 ! time scale for snow metamorphism (south) !2 |
---|
| 239 | #ifdef NEWPHYS |
---|
| 240 | wvolcapa = 1.e6 ! volumetric capacity of soil (new soil model) |
---|
| 241 | #endif |
---|
[1724] | 242 | TT00=0. |
---|
| 243 | nu=0. |
---|
[1598] | 244 | !#endif |
---|
[1599] | 245 | ELSE if ( planet == "venus") then |
---|
[1598] | 246 | g = 8.87 |
---|
| 247 | r_d = 191.84383904727036 |
---|
| 248 | !cpp = 1000. |
---|
| 249 | cp = 1000. |
---|
| 250 | cliq = 4190. |
---|
| 251 | psat = 610.78 |
---|
| 252 | t0 = 735. ! earth : 300 |
---|
| 253 | p0 = 92.e5 |
---|
| 254 | p1000mb = 92.e5 |
---|
| 255 | reradius = 1./6051800. ! Rayon de mars (m) ~6051800 m |
---|
| 256 | rad = 6051800. |
---|
| 257 | wmugaz = 43.49 |
---|
| 258 | womeg = 0.2992549E-06 |
---|
[1599] | 259 | wdaysec = 0.1008707E08 |
---|
[1724] | 260 | TT00=460. |
---|
| 261 | nu=0.35 |
---|
[2295] | 262 | ELSE if ( planet == "titan") then |
---|
| 263 | g = 1.35 |
---|
[2777] | 264 | r_d = 298.734319568 |
---|
| 265 | cp = 1038.72627727 |
---|
[2295] | 266 | cliq = 4190. |
---|
| 267 | psat = 610.78 |
---|
| 268 | t0 = 94. ! earth : 300 |
---|
[2777] | 269 | p0 = 146144.796875 |
---|
| 270 | p1000mb = 146144.796875 |
---|
[2295] | 271 | reradius = 1./2575500.0 ! Rayon de mars (m) ~6051800 m |
---|
| 272 | rad = 2575500.0 |
---|
| 273 | wmugaz = 28.6 |
---|
| 274 | womeg = 0.2992549E-06 !!!!!!!!!!!!!!!!!!! |
---|
| 275 | wdaysec = 1377665.28 |
---|
| 276 | TT00=0. |
---|
| 277 | nu=0. |
---|
[2011] | 278 | ELSE if (( planet == "prescribed").or.(planet == "generic")) then |
---|
[1604] | 279 | open(17,file='planet_constant',form='formatted',status='old') |
---|
| 280 | rewind(17) |
---|
| 281 | read(17,*) g |
---|
| 282 | read(17,*) cp |
---|
| 283 | read(17,*) molmas |
---|
| 284 | read(17,*) t0 |
---|
| 285 | read(17,*) p0 |
---|
| 286 | read(17,*) rad |
---|
| 287 | close(17) |
---|
| 288 | r_d=8.314/(molmas*1e-3) |
---|
| 289 | p1000mb=p0 |
---|
| 290 | reradius=1./rad |
---|
[1724] | 291 | TT00=0. |
---|
| 292 | nu=0. |
---|
[1598] | 293 | Else |
---|
| 294 | write(*,*) "unknown planet type:", planet |
---|
| 295 | stop |
---|
| 296 | endif |
---|
| 297 | cv = cp-r_d |
---|
| 298 | cpv = 3.9*r_v |
---|
| 299 | cvv = cpv-r_v |
---|
| 300 | cvpm = -cv/cp |
---|
| 301 | rcv = r_d/cv |
---|
| 302 | rcp = r_d/cp |
---|
| 303 | rovg = r_d/g |
---|
| 304 | c2 = cp * rcv |
---|
| 305 | cpovcv = cp/(cp-r_d) |
---|
| 306 | cvovcp = 1./cpovcv |
---|
| 307 | rvovrd = r_v/r_d |
---|
| 308 | gma = -r_d*(1.-rcp)*0.5 |
---|
| 309 | EP_1 = r_v/r_d-1. |
---|
| 310 | EP_2 = r_d/r_v |
---|
| 311 | rfcp =0.25/cp |
---|
| 312 | p608 =rvovrd-1. |
---|
[1604] | 313 | z_scale =(r_d*t0/g)*1e-3 |
---|
[1598] | 314 | write(*,*) "planet : ", planet |
---|
| 315 | write(*,*) "g = ", g |
---|
| 316 | write(*,*) "cp = ", cp |
---|
| 317 | write(*,*) "r_d = ", r_d |
---|
| 318 | write(*,*) "t0 = ", t0 |
---|
| 319 | write(*,*) "p0 = ", p0 |
---|
[1724] | 320 | write(*,*) "T0 = ", TT00 |
---|
| 321 | write(*,*) "nu = ", nu |
---|
[1765] | 322 | END SUBROUTINE init_module_model_constants |
---|
[1599] | 323 | END MODULE module_model_constants |
---|