Radiation Scheme in CCPP
physparam.f
Go to the documentation of this file.
1 !!!!! ========================================================== !!!!!
2 !!!!! module physparam description !!!!!
3 !!!!! ========================================================== !!!!!
4 ! !
5 ! This module defines commonly used control variables/parameters !
6 ! in physics related programs. !
7 ! !
8 ! Section 1 contains control variables defined in the form of !
9 ! parameter. They are pre-determined choices and not adjustable !
10 ! during model's run-time. !
11 ! !
12 ! Section 2 contains control variables defined as module variables.!
13 ! They are more flexible to be changed during run-time by either !
14 ! through input namelist, or through model environment condition. !
15 ! They are preassigned here as the default values. !
16 ! !
17 !!!!! ========================================================== !!!!!
18 
25 
26 !========================================!
27  module physparam !
28 !........................................!
29 !
30 ! implicit none
31 
32 ! --- ... define kind parameters here
33 
34 ! ** if already exist, use the module containing kind definitions
35  use machine
36 
37 ! ** otherwise, define kind parameter here
38 ! implicit none
39 ! integer, public, parameter :: kind_io4 = 4
40 ! integer, public, parameter :: kind_io8 = 8
41 ! integer, public, parameter :: kind_phys= selected_real_kind(13,60) ! the '60' maps to 64-bit real
42 ! .....
43 
44 ! implicit none
45 !
46  public
47 
48 !==================================================================================
49 ! Section - 1 -
50 ! control flags are pre-set as run-time non-adjuztable parameters.
51 !==================================================================================
52 
53 ! ............................................. !
54 ! -1.1- control flags for sw radiation !
55 ! ............................................. !
58  integer,parameter :: iswrate = 2 ! sw heating rate unit control flag
59  ! =1:k/day; =2:k/second.
62  integer,parameter :: iswrgas = 1 ! sw rare gases effect control flag (ch4,n2o,o2,...)
63  ! =0:no; =1:yes.
68  integer,save :: iswcliq = 1 ! sw optical property for liquid clouds
69  ! =0:input cld opt depth, ignoring iswcice setting
70  ! =1:input cwp,rew, use hu and stamnes(1993) method
71  ! =2:not defined yet
77  integer,save :: iswcice = 3 ! sw optical property for ice clouds (only iswcliq>0)
78  ! =0:not defined yet
79  ! =1:input cip,rei, use ebert and curry (1992) method
80  ! =2:input cip,rei, use streamer v3.0 (2001) method
81  ! =3:input cip,rei, use fu's method (1996) method
86  integer,parameter :: iswmode = 2 ! sw control flag for 2-stream transfer scheme
87  ! =1:delta-eddington (joseph et al., 1976)
88  ! =2:pifm (zdunkowski et al., 1980)
89  ! =3:discrete ordinates (liou, 1973)
90 
91 
92 ! ............................................. !
93 ! -1.2- control flags for lw radiation !
94 ! ............................................. !
97  integer,parameter :: ilwrate = 2 ! lw heating rate unit (1:k/day; 2:k/second)
98  ! =1:k/day; =2:k/second.
101  integer,parameter :: ilwrgas = 1 ! lw rare gases effect control flag (ch4,n2o,o2,cfcs...)
102  ! =0:no; =1:yes.
107  integer,save :: ilwcliq = 1 ! lw optical property for liquid clouds
108  ! =0:input cld opt depth, ignoring ilwcice setting
109  ! =1:input cwp,rew, use hu and stamnes(1993) method
110  ! =2:not defined yet
116  integer,save :: ilwcice = 3 ! lw optical property for ice clouds (only ilwcliq>0)
117  ! =0:not defined yet
118  ! =1:input cip,rei, use ebert and curry (1992) method
119  ! =2:input cip,rei, use streamer (1996) method
120  ! =3:input cip,rei, use fu's method (1998) method
121 
122 ! ............................................. !
123 ! -1.3- control flag for lw aerosol property !
127  logical,parameter :: lalw1bd =.false. ! =t: use 1 broad-band lw aeros properties
128  ! =f: use multi bands aeros properites
129 
130 
131 
132 
133 !==================================================================================
134 ! Section - 2 -
135 ! values of control flags might be re-set in initialization subroutines
136 ! (may be adjusted at run time based on namelist input or run condition)
137 !==================================================================================
138 
139 ! ............................................. !
140 ! -2.1- for module radiation_astronomy !
141 ! ............................................. !
143  integer, save :: isolar = 0 ! solar constant scheme control flag
145  character, save :: solar_file*26 ! external solar constant data table
146 ! data solar_file / 'solarconstantdata.txt ' /
147  data solar_file / 'solarconstant_noaa_a0.txt ' /
148 
149 ! ............................................. !
150 ! -2.2- for module radiation_aerosols !
151 ! ............................................. !
153  integer, save :: iaermdl = 0 ! aerosol model scheme control flag
155  integer, save :: iaerflg = 0 ! aerosol effect control flag
157  logical, save :: lalwflg = .true. ! lw aerosols effect control flag
159  logical, save :: laswflg = .true. ! sw aerosols effect control flag
161  logical, save :: lavoflg = .true. ! stratospheric volcanic effect flag
163  character, save :: aeros_file*26 ! external aerosols data file
164 ! data aeros_file / 'climaeropac_global.txt ' /
165  data aeros_file / 'aerosol.dat ' /
166 
167 ! ............................................. !
168 ! -2.3- for module radiation_gases !
169 ! ............................................. !
171  integer, save :: ico2flg = 0 ! co2 data source control flag
173  integer, save :: ictmflg = 0 ! external data time/date control flag
175  integer, save :: ioznflg = 1 ! ozone data source control flag
177  character, save :: co2dat_file*26 ! external co2 2d monthly obsv data table
179  character, save :: co2gbl_file*26 ! external co2 global annual mean data tb
181  character, save :: co2usr_file*26 ! external co2 user defined data table
183  character, save :: co2cyc_file*26 ! external co2 clim monthly cycle data tb
184  data co2dat_file / 'co2historicaldata_2004.txt' / !year is run-time selected
185  data co2gbl_file / 'co2historicaldata_glob.txt' /
186  data co2usr_file / 'co2userdata.txt ' /
187  data co2cyc_file / 'co2monthlycyc.txt ' /
188 
189 ! ............................................. !
190 ! -2.4- for module radiation_clouds !
191 ! ............................................. !
193  integer, save :: icldflg = 1 ! cloud optical property scheme control flag
195  integer, save :: icmphys = 1 ! cloud microphysics scheme control flag
197  integer, save :: iovrsw = 1 ! cloud overlapping control flag for sw
199  integer, save :: iovrlw = 1 ! cloud overlapping control flag for lw
201  logical, save :: lcrick =.false. ! eliminating CRICK control flag
203  logical, save :: lcnorm =.false. ! in-cld condensate control flag
205  logical, save :: lnoprec =.false. ! precip effect on radiation flag (ferrier microphysics)
207  logical, save :: lsashal =.false. ! shallow convection flag
208 
209 ! ............................................. !
210 ! -2.5- for module radiation_surface !
211 ! ............................................. !
213  integer, save :: ialbflg = 0 ! surface albedo scheme control flag
215  integer, save :: iemsflg = 0 ! surface emissivity scheme control flag
217  character, save :: semis_file*26 ! external sfc emissivity data table
218  data semis_file / 'sfc_emissivity_idx.txt ' /
219 
220 ! ............................................. !
221 ! -2.6- general purpose !
222 ! ............................................. !
224  integer, save :: ivflip = 1 ! vertical profile indexing flag
226  integer, save :: isubcsw = 0 ! sub-column cloud approx flag in sw radiation
228  integer, save :: isubclw = 0 ! sub-column cloud approx flag in lw radiation
230  integer, save :: ipsd0 = 0 ! initial permutation seed for mcica radiation
231 
232 !
233 !...................................!
234  end module physparam !
235 !===================================!
integer, save ialbflg
surface albedo scheme control flag
Definition: physparam.f:213
integer, save ioznflg
ozone dta source control flag
Definition: physparam.f:175
integer, save iaerflg
aerosol effect control flag
Definition: physparam.f:155
integer, save ilwcice
lw optical property for ice clouds (only ilwcliq>0) =0:not defined yet =1:input cip...
Definition: physparam.f:116
integer, parameter ilwrgas
lw rare gases effect control flag (ch4,n2o,o2,cfcs,...) =0:no; =1:yes.
Definition: physparam.f:101
integer, save iaermdl
aerosol model scheme control flag
Definition: physparam.f:153
integer, save isubcsw
sub-column cloud approx flag in sw radiation
Definition: physparam.f:226
integer, save iemsflg
surface emissivity scheme control flag
Definition: physparam.f:215
character, save co2usr_file
external co2 user defined data table
Definition: physparam.f:181
character, save co2gbl_file
external co2 global annual mean data table
Definition: physparam.f:179
integer, save iovrsw
cloud overlapping control flag for sw
Definition: physparam.f:197
integer, parameter iswrgas
sw rare gases effect control flag (ch4,n2o,o2,...) =0:no; =1:yes.
Definition: physparam.f:62
integer, save ipsd0
initial permutation seed for mcica radiation
Definition: physparam.f:230
integer, save iovrlw
cloud overlapping control flag for lw
Definition: physparam.f:199
integer, save iswcliq
sw optical property for liquid clouds =0:input cld opt depth, ignoring iswcice setting =1:input c...
Definition: physparam.f:68
This module defines commonly used control variables/parameters in physics related programs...
Definition: physparam.f:27
integer, save isolar
solar constant scheme control flag
Definition: physparam.f:143
integer, parameter iswrate
sw heating rate unit control flag =1:k/day; =2:k/second.
Definition: physparam.f:58
integer, save ico2flg
co2 data source control flag
Definition: physparam.f:171
integer, save isubclw
sub-column cloud approx flag in lw radiation
Definition: physparam.f:228
integer, save icmphys
cloud microphysics scheme control flag
Definition: physparam.f:195
logical, save lnoprec
precip effect on radiation flag (ferrier microphysics)
Definition: physparam.f:205
character, save co2dat_file
external co2 2d monthly obsv data table
Definition: physparam.f:177
logical, save lcrick
eliminating CRICK control flag
Definition: physparam.f:201
integer, save ivflip
vertical profile indexing flag
Definition: physparam.f:224
integer, save ilwcliq
lw optical property for liquid clouds =0:input cld opt depth, ignoring ilwcice setting =1:input c...
Definition: physparam.f:107
logical, save lalwflg
lw aerosols effect control flag
Definition: physparam.f:157
integer, parameter ilwrate
lw heating rate unit =1:k/day; =2:k/second.
Definition: physparam.f:97
character, save co2cyc_file
external co2 clim monthly cycle data table
Definition: physparam.f:183
logical, parameter lalw1bd
control flag for lw aerosol property =t: use 1 broad-band lw aeros properties =f: use multi bands...
Definition: physparam.f:127
character, save aeros_file
external aerosols data file
Definition: physparam.f:163
character, save semis_file
external sfc emissivity data table
Definition: physparam.f:217
logical, save lsashal
shallow convection flag
Definition: physparam.f:207
character, save solar_file
external solar constant data table
Definition: physparam.f:145
integer, parameter iswmode
sw control flag for 2-stream transfer scheme =1:delta-eddington (joseph et al., 1976) =2:pifm (zd...
Definition: physparam.f:86
logical, save lavoflg
stratospheric volcanic effect flag
Definition: physparam.f:161
integer, save iswcice
sw optical property for ice clouds (only iswcliq>0) =0:not defined yet =1:input cip...
Definition: physparam.f:77
logical, save laswflg
sw aerosols effect control flag
Definition: physparam.f:159
logical, save lcnorm
in-cld condensate control flag
Definition: physparam.f:203
integer, save ictmflg
external data time/date control flag
Definition: physparam.f:173
integer, save icldflg
cloud optical property scheme control flag
Definition: physparam.f:193