updated top-level README and version_decl for V4.5 (#1847)
[WRF.git] / phys / module_bl_mynn_common.F
blob30e212454e266965796adc08d450040a5d3a1279
1 !====================================================================
3  module module_bl_mynn_common
5 !------------------------------------------
6 !Define Model-specific constants/parameters.
7 !This module will be used at the initialization stage
8 !where all model-specific constants are read and saved into
9 !memory. This module is then used again in the MYNN-EDMF. All
10 !MYNN-specific constants are declared globally in the main
11 !module (module_bl_mynn) further below:
12 !------------------------------------------
14 ! The following 5-6 lines are the only lines in this file that are not
15 ! universal for all dycores... Any ideas how to universalize it?
16 ! For MPAS:
17 ! use mpas_kind_types,only: kind_phys => RKIND
18 ! For CCPP:
19 !  use machine,  only : kind_phys
20 ! For WRF
21   use module_gfs_machine,  only : kind_phys
23 !WRF CONSTANTS
24   use module_model_constants, only:         &
25     & karman, g, p1000mb,                   &
26     & cp, r_d, r_v, rcp, xlv, xlf, xls,     &
27     & svp1, svp2, svp3, p608, ep_2, rvovrd, &                                                                         
28     & cpv, cliq, cice, svpt0
30  implicit none
31  save
32 ! save :: cp, cpv, cice, cliq, p608, karman, rcp, & !taken directly from module_model_constants
33 !         r_d, r_v, xls, xlv, xlf, rvovrd, ep_2,  & !taken directly from module_model_constants
34 !         p1000mb, svp1, svp2, svp3,              & !taken directly from module_model_constants
35 !         grav, t0c,                              & !renamed from module_model_constants
36 !         zero, half, one, two, onethird,         & !set here
37 !         twothirds, tref, tkmin, tice,           & !set here
38 !         ep_3, gtr, rk, tv0, tv1, xlscp, xlvcp,  & !derived here
39 !         g_inv                                     !derived here
41 ! To be specified from dycore
42 ! real:: cp           != 7.*r_d/2. (J/kg/K)
43 ! real:: cpv          != 4.*r_v    (J/kg/K) Spec heat H2O gas
44 ! real:: cice         != 2106.     (J/kg/K) Spec heat H2O ice
45 ! real:: cliq         != 4190.     (J/kg/K) Spec heat H2O liq
46 ! real:: p608         != R_v/R_d-1.
47 ! real:: ep_2         != R_d/R_v
48 !! real:: grav         != accel due to gravity
49 ! real:: karman       != von Karman constant
50 !! real:: t0c          != temperature of water at freezing, 273.15 K
51 ! real:: rcp          != r_d/cp
52 ! real:: r_d          != 287.  (J/kg/K) gas const dry air
53 ! real:: r_v          != 461.6 (J/kg/K) gas const water
54 ! real:: xlf          != 0.35E6 (J/kg) fusion at 0 C
55 ! real:: xlv          != 2.50E6 (J/kg) vaporization at 0 C
56 ! real:: xls          != 2.85E6 (J/kg) sublimation
57 ! real:: rvovrd       != r_v/r_d != 1.608
59 ! Specified locally
60  real,parameter:: zero   = 0.0
61  real,parameter:: half   = 0.5
62  real,parameter:: one    = 1.0
63  real,parameter:: two    = 2.0
64  real,parameter:: onethird  = 1./3.
65  real,parameter:: twothirds = 2./3.
66  real,parameter:: tref  = 300.0   ! reference temperature (K)
67  real,parameter:: TKmin = 253.0   ! for total water conversion, Tripoli and Cotton (1981)
68 ! real,parameter:: p1000mb=100000.0
69 ! real,parameter:: svp1  = 0.6112 !(kPa)
70 ! real,parameter:: svp2  = 17.67  !(dimensionless)
71 ! real,parameter:: svp3  = 29.65  !(K)
72  real,parameter:: tice  = 240.0  !-33 (C), temp at saturation w.r.t. ice
73  real,parameter:: grav  = g
74  real,parameter:: t0c   = svpt0        != 273.15
76 ! To be derived in the init routine
77  real,parameter:: ep_3   = 1.-ep_2 != 0.378
78  real,parameter:: gtr    = grav/tref
79  real,parameter:: rk     = cp/r_d
80  real,parameter:: tv0    =  p608*tref
81  real,parameter:: tv1    = (1.+p608)*tref
82  real,parameter:: xlscp  = (xlv+xlf)/cp
83  real,parameter:: xlvcp  = xlv/cp
84  real,parameter:: g_inv  = 1./grav
86 ! grav   = g
87 ! t0c    = svpt0        != 273.15
88 ! ep_3   = 1.-ep_2      != 0.378                                                                                   
89 ! gtr    = grav/tref
90 ! rk     = cp/r_d
91 ! tv0    = p608*tref
92 ! tv1    = (1.+p608)*tref
93 ! xlscp  = (xlv+xlf)/cp
94 ! xlvcp  = xlv/cp
95 ! g_inv  = 1./grav
98  end module module_bl_mynn_common