forked from wrf-model/WRF
-
Notifications
You must be signed in to change notification settings - Fork 0
/
module_model_constants.F
159 lines (133 loc) · 8.09 KB
/
module_model_constants.F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
!WRF:MODEL_LAYER:CONSTANTS
!
MODULE module_model_constants
! 2. Following are constants for use in defining real number bounds.
! A really small number.
REAL , PARAMETER :: epsilon = 1.E-15
! 4. Following is information related to the physical constants.
! These are the physical constants used within the model.
! JM NOTE -- can we name this grav instead?
REAL , PARAMETER :: g = 9.81 ! acceleration due to gravity (m {s}^-2)
REAL , PARAMETER :: r_d = 287. ! gas constant of dry air (J deg^-1 kg^-1)
REAL , PARAMETER :: cp = 7.*r_d/2. !
REAL , PARAMETER :: r_v = 461.6 ! gas constant for water vapor (J deg^-1 kg^-1)
REAL , PARAMETER :: cv = cp-r_d ! Specific heat of air at contant volume (J deg^-1 kg^-1)
REAL , PARAMETER :: cpv = 4.*r_v
REAL , PARAMETER :: cvv = cpv-r_v !
REAL , PARAMETER :: cvpm = -cv/cp
REAL , PARAMETER :: cliq = 4190. ! specific heat of liquid water at 0^oC
REAL , PARAMETER :: cice = 2106. ! specific heat of ice at 0^oC
REAL , PARAMETER :: psat = 610.78
REAL , PARAMETER :: rcv = r_d/cv !
REAL , PARAMETER :: rcp = r_d/cp
REAL , PARAMETER :: rovg = r_d/g
REAL , PARAMETER :: c2 = cp * rcv
real , parameter :: mwdry = 28.966 ! molecular weight of dry air (g/mole)
REAL , PARAMETER :: p1000mb = 100000. ! pressure at 1000 hPa (pa)
REAL , PARAMETER :: t0 = 300. ! base state tempertaure (K)
REAL , PARAMETER :: p0 = p1000mb ! base state surface pressure (pa)
REAL , PARAMETER :: cpovcv = cp/(cp-r_d)
REAL , PARAMETER :: cvovcp = 1./cpovcv
REAL , PARAMETER :: rvovrd = r_v/r_d
REAL , PARAMETER :: reradius = 1./6370.0e03 ! reciprocal of earth radius (m^-1)
REAL , PARAMETER :: asselin = .025
! REAL , PARAMETER :: asselin = .0
REAL , PARAMETER :: cb = 25.
REAL , PARAMETER :: XLV0 = 3.15E6 ! constant defined for calculation of latent heating
REAL , PARAMETER :: XLV1 = 2370. ! constant defined for calculation of latent heating
REAL , PARAMETER :: XLS0 = 2.905E6 ! constant defined for calculation of latent heating
REAL , PARAMETER :: XLS1 = 259.532 ! constant defined for calculation of latent heating
REAL , PARAMETER :: XLS = 2.85E6 ! latent heat of sublimation of water at 0^oC (J kg^-1)
REAL , PARAMETER :: XLV = 2.5E6 ! latent heat of vaporization of water at 0^oC (J kg^-1)
REAL , PARAMETER :: XLF = 3.50E5 ! latent heat of fusion of water at 0^oC (J kg^-1)
REAL , PARAMETER :: rhowater = 1000. ! density of liquid water at 0^oC (kg m^-3)
REAL , PARAMETER :: rhosnow = 100. ! density of snow (kg m^-3)
REAL , PARAMETER :: rhoair0 = 1.28 ! density of dry air at 0^oC and 1000mb pressure (kg m^-3)
REAL , PARAMETER :: RE_QC_BG = 2.49E-6 ! effective radius of cloud for background (m)
REAL , PARAMETER :: RE_QI_BG = 4.99E-6 ! effective radius of ice for background (m)
REAL , PARAMETER :: RE_QS_BG = 9.99E-6 ! effective radius of snow for background (m)
REAL , PARAMETER :: RE_QC_MAX = 50.E-6 ! max effective radius of cloud allowed
REAL , PARAMETER :: RE_QI_MAX = 125.E-6 ! max effective radius of ice allowed
REAL , PARAMETER :: RE_QS_MAX = 999.E-6 ! max effective radius of snow allowed
!
! Now namelist-specified parameter: ccn_conc - RAS
! REAL , PARAMETER :: n_ccn0 = 1.0E8
!
REAL , PARAMETER :: piconst = 3.1415926535897932384626433 ! constant of PI
REAL , PARAMETER :: DEGRAD = piconst/180. ! radians per degree
REAL , PARAMETER :: DPD = 360./365.
REAL , PARAMETER :: SVP1=0.6112 ! constant for saturation vapor pressure calculation (dimensionless)
REAL , PARAMETER :: SVP2=17.67 ! constant for saturation vapor pressure calculation (dimensionless)
REAL , PARAMETER :: SVP3=29.65 ! constant for saturation vapor pressure calculation (K)
REAL , PARAMETER :: SVPT0=273.15 ! constant for saturation vapor pressure calculation (K)
REAL , PARAMETER :: EP_1=R_v/R_d-1. ! constant for virtual temperature (r_v/r_d - 1) (dimensionless)
REAL , PARAMETER :: EP_2=R_d/R_v ! constant for specific humidity calculation (dimensionless)
REAL , PARAMETER :: KARMAN=0.4 ! von Karman constant
REAL , PARAMETER :: EOMEG=7.2921E-5 ! angular velocity of rotation (rad^-1)
REAL , PARAMETER :: STBOLT=5.67051E-8 ! Stefan-Boltzmann constant (W m^-2 deg^-4)
REAL , PARAMETER :: prandtl = 1./3.0 ! prandtl's mixing length (m)
! constants for w-damping option
REAL , PARAMETER :: w_alpha = 0.3 ! strength m/s/s
REAL , PARAMETER :: w_beta = 1.0 ! activation cfl number
REAL , PARAMETER :: pq0=379.90516 !
REAL , PARAMETER :: epsq2=0.2 ! initial TKE for camuw PBL scheme (m2 s^-2)
REAL , PARAMETER :: a2=17.2693882
REAL , PARAMETER :: a3=273.16
REAL , PARAMETER :: a4=35.86
REAL , PARAMETER :: epsq=1.e-12 ! threshold specified for SPECIFIC HUMIDITY calculation in BMJ cumulus scheme (kg kg^-1)
REAL , PARAMETER :: p608=rvovrd-1.
REAL , PARAMETER :: climit=1.e-20
REAL , PARAMETER :: cm1=2937.4
REAL , PARAMETER :: cm2=4.9283
REAL , PARAMETER :: cm3=23.5518
! REAL , PARAMETER :: defc=8.0
! REAL , PARAMETER :: defm=32.0
REAL , PARAMETER :: defc=0.0
REAL , PARAMETER :: defm=99999.0
REAL , PARAMETER :: epsfc=1./1.05
REAL , PARAMETER :: epswet=0.0
REAL , PARAMETER :: fcdif=1./3.
REAL , PARAMETER :: fcm=0.00003
REAL , PARAMETER :: gma=-r_d*(1.-rcp)*0.5
REAL , PARAMETER :: p400=40000.0
REAL , PARAMETER :: phitp=15000.0
REAL , PARAMETER :: pi2=2.*3.1415926, pi1=3.1415926
REAL , PARAMETER :: plbtm=105000.0
REAL , PARAMETER :: plomd=64200.0
REAL , PARAMETER :: pmdhi=35000.0
REAL , PARAMETER :: q2ini=0.50
REAL , PARAMETER :: rfcp=0.25/cp
REAL , PARAMETER :: rhcrit_land=0.75
REAL , PARAMETER :: rhcrit_sea=0.80
REAL , PARAMETER :: rlag=14.8125
REAL , PARAMETER :: rlx=0.90
REAL , PARAMETER :: scq2=50.0
REAL , PARAMETER :: slopht=0.001
REAL , PARAMETER :: tlc=2.*0.703972477
REAL , PARAMETER :: wa=0.15
REAL , PARAMETER :: wght=0.35
REAL , PARAMETER :: wpc=0.075
REAL , PARAMETER :: z0land=0.10 ! surface roughness length over land (m)
REAL , PARAMETER :: z0max=0.008 ! maximum roughness length (m)
REAL , PARAMETER :: z0sea=0.001 ! roughness length over ocean (m)
! Earth
! The value for P2SI *must* be set to 1.0 for Earth
! Although, now we may not need this declaration here (see above)
!REAL , PARAMETER :: P2SI = 1.0
! Orbital constants:
INTEGER , PARAMETER :: PLANET_YEAR = 365 ! number of days in a calendar year
REAL , PARAMETER :: OBLIQUITY = 23.5 ! solar obliquity (degree)
REAL , PARAMETER :: ECCENTRICITY = 0.014 ! Orbital eccentricity
REAL , PARAMETER :: SEMIMAJORAXIS = 1.0 ! Ratio of semi-major axis of planet / semi-major axis of earth
REAL , PARAMETER :: zero_date = 0.0 ! Time of perihelion passage
REAL , PARAMETER :: EQUINOX_FRACTION= 0.0 ! Fraction into the year (from perhelion) of the occurrence of the Northern Spring Equinox
! 2012103
#if (EM_CORE == 1)
! for calls to set_tiles
INTEGER, PARAMETER :: ZONE_SOLVE_EM = 1
INTEGER, PARAMETER :: ZONE_SFS = 2
#endif
CONTAINS
SUBROUTINE init_module_model_constants
END SUBROUTINE init_module_model_constants
END MODULE module_model_constants