LMDZ
yoerad.F90
Go to the documentation of this file.
1 MODULE yoerad
2 
3 USE parkind1 ,ONLY : jpim ,jprb
4 
5 IMPLICIT NONE
6 
7 SAVE
8 
9 ! ------------------------------------------------------------------
10 !* ** *YOERAD* - CONTROL OPTIONS FOR RADIATION CONFIGURATION
11 ! ------------------------------------------------------------------
12 
13 INTEGER(KIND=JPIM) :: naer
14 INTEGER(KIND=JPIM) :: nmode
15 INTEGER(KIND=JPIM) :: nozocl
16 INTEGER(KIND=JPIM) :: nradfr
17 INTEGER(KIND=JPIM) :: nradpfr
18 INTEGER(KIND=JPIM) :: nradpla
19 INTEGER(KIND=JPIM) :: nrint
20 INTEGER(KIND=JPIM) :: nradint
21 INTEGER(KIND=JPIM) :: nradres
22 INTEGER(KIND=JPIM) :: nradnfr
23 INTEGER(KIND=JPIM) :: nradsfr
24 INTEGER(KIND=JPIM) :: novlp
25 INTEGER(KIND=JPIM) :: nrproma
26 INTEGER(KIND=JPIM) :: nlw
27 !INTEGER(KIND=JPIM) :: NSW mis dans .def MPL 20140211
28 INTEGER(KIND=JPIM) :: nswnl
29 INTEGER(KIND=JPIM) :: nswtl
30 INTEGER(KIND=JPIM) :: ntsw
31 INTEGER(KIND=JPIM) :: nuv
32 INTEGER(KIND=JPIM) :: ncsradf
33 INTEGER(KIND=JPIM) :: niceopt
34 INTEGER(KIND=JPIM) :: nliqopt
35 INTEGER(KIND=JPIM) :: nradip
36 INTEGER(KIND=JPIM) :: nradlp
37 INTEGER(KIND=JPIM) :: ninhom
38 INTEGER(KIND=JPIM) :: nlayinh
39 INTEGER(KIND=JPIM) :: nlngr1h
40 INTEGER(KIND=JPIM) :: npertaer
41 INTEGER(KIND=JPIM) :: npertoz
42 INTEGER(KIND=JPIM) :: nscen
43 INTEGER(KIND=JPIM) :: nhincsol
44 INTEGER(KIND=JPIM) :: nmcica
45 
46 LOGICAL :: lerad1h
47 LOGICAL :: leradhs
48 LOGICAL :: lepo3ra
49 LOGICAL :: lradlb
50 LOGICAL :: lonewsw
51 LOGICAL :: lecsrad
52 LOGICAL :: lrrtm
53 LOGICAL :: lsrtm
54 LOGICAL :: ldiffc
55 LOGICAL :: lhvolca
56 LOGICAL :: lnewaer
57 LOGICAL :: lnotroaer
58 LOGICAL :: lrayl
59 LOGICAL :: loptrproma
60 LOGICAL :: leco2var
61 LOGICAL :: lhghg
62 
63 CHARACTER (LEN = 256) :: crtabledir
64 CHARACTER (LEN = 32) :: crtablefil
65 LOGICAL :: lccnl
66 LOGICAL :: lccno
67 
68 REAL(KIND=JPRB) :: raovlp , rbovlp
69 REAL(KIND=JPRB) :: rccnlnd, rccnsea
70 LOGICAL :: ledbug
71 REAL(KIND=JPRB) :: rpertoz, rre2de
72 REAL(KIND=JPRB) :: rlwinhf, rswinhf
73 
74 ! * E.C.M.W.F. PHYSICS PACKAGE *
75 
76 ! J.-J. MORCRETTE E.C.M.W.F. 89/07/14
77 
78 ! NAME TYPE PURPOSE
79 ! ---- : ---- : ---------------------------------------------------
80 ! LERAD1H: LOGICAL : .T. TO ALLOW MORE FREQUENT RADIATION CALCULATIONS
81 ! : DURING FIRST N HOURS OF FORECAST
82 ! NLNGR1H: INTEGER : NUMBER FORECAST HOURS DURING WHICH MORE FREQUENT
83 ! RADIATION CALCULATIONS ARE REQUIRED
84 ! LERADHS: LOGICAL : .T. IF RAD.COMPUTED ON A COARSER SAMPLED GRID
85 ! LEPO3RA: LOGICAL : .T. IF PROGNOSTIC OZONE (EC) IS PASSED TO RADIATION
86 ! NAER : INTEGER : CONFIGURATION INDEX FOR AEROSOLS
87 ! NMODE : INTEGER : CONFIGURATION FOR RADIATION CODE: FLUX VS. RADIANCE
88 ! NOZOCL : INTEGER : CHOICE OF OZONE CLIMATOLOGY (0 old, 1 new)
89 ! NRADFR : INTEGER : FREQUENCY OF FULL RADIATION COMPUTATIONS
90 ! IF(NRADFR.GT.0): RAD EVERY 'NRADFR' TIME-STEPS
91 ! IF(NRADFR.LT.0): RAD EVERY '-NRADFR' HOURS
92 ! NRADPFR: INTEGER : PRINT FREQUENCY FOR RAD.STATISTICS (in RAD.T.STEPS)
93 ! NRADPLA: INTEGER : PRINT RAD.STATISTICS EVERY 'NRADPLA' ROWS
94 ! NRINT : INTEGER : INTERPOLATION DISTANCE (in points)
95 ! NRADINT: INTEGER : RADIATION INTERPOLATION METHOD
96 ! : 0 = CURRENT RADIATION INTERPOLATION (CONTROLLED BY NRINT)
97 ! : 1 = SPECTRAL TRANSFORM INTERPOLATION
98 ! : 2 = 4 POINT HORIZONTAL INTERPOLATION
99 ! : 3 = 12 POINT HORIZONTAL INTERPOLATION
100 ! NRADRES: INTEGER : RADIATION GRID SPECTRAL RESOLUTION
101 ! NRADNFR: INTEGER : NORMAL FREQUENCY OF RADIATION STEPS
102 ! NRADSFR: INTEGER : START-UP FREQUENCY OF RADIATION STEPS
103 ! NOVLP : INTEGER : CLOUD OVERLAP CONFIGURATION
104 ! NRPROMA: INTEGER : VECTOR LENGTH FOR RADIATION CALCULATIONS
105 ! NLW : INTEGER : NUMBER OF LONGWAVE SPECTRAL INTERVALS
106 ! NSW : INTEGER : NUMBER OF SHORTWAVE SPECTRAL INTERVALS
107 ! NSWNL : INTEGER : NUMBER OF SHORTWAVE SPECTRAL INTERVALS IN NL MODEL
108 ! NSWTL : INTEGER : NUMBER OF SHORTWAVE SPECTRAL INTERVALS IN TL MODEL
109 ! NTSW : INTEGER : MAXIMUM POSSIBLE NUMBER OF SW SPECTRAL INTERVALS
110 ! NUV : INTEGER : NUMBER OF UV SPECTRAL INTERVALS FOR THE UV PROCESSOR
111 ! LRADLB : LOGICAL : .T. IF RADIATION COURSER GRID IS TO BE LOAD BALANCED
112 ! : OVER PROCESSORS (I.E. WHEN NRINT>1)
113 ! LOPTRPROMA:LOGICAL: .T. NRPROMA will be optimised
114 ! : .F. NRPROMA will not be optimised (forced
115 ! : by negative NRPROMA in namelist)
116 
117 ! NRADIP : INTEGER : INDEX FOR DIAGNOSIS OF ICE CLOUD EFFECTIVE RADIUS
118 ! 0=EbCu/SmSh 1=EbCu/EbCu 2=FuLi/FuLi 3=Fu/Fu&al
119 ! NRADLP : INTEGER : INDEX FOR DIAGNOSIS OF LIQ. CLOUD EFFECTIVE RADIUS
120 ! 0=YF/SmSh 1=ASl/HSa 2=ASl/LiLi
121 ! NICEOPT: INTEGER : INDEX FOR ICE CLOUD OPTICAL PROPERTIES
122 ! 0=40u 1=40-130 2=30-60 3=Sun'01
123 ! NLIQOPT: INTEGER : INDEX FOR LIQUID WATER CLOUD OPTICAL PROPERTIES
124 ! 0=f(P) 1=10/13 2=Martin_et_al
125 
126 ! LONEWSW: LOGICAL : .T. IF NEW SW CODE IS ACTIVE
127 ! LECSRAD: LOGICAL : .T. IF CLEAR-SKY RADIATION IS ARCHIVED AS PEXTR2
128 ! NCSRADF: INTEGER : 1 IF ACCUMULATED, 2 IF INSTANTANEOUS
129 ! LRRTM : LOGICAL : .T. IF RRTM140MR IS USED FOR LW RADIATION TRANSFER
130 
131 ! LHVOLCA: LOGICAL : .T. IF GISS HISTORY OF VOLCANIC AEROSOLS IS ON
132 ! LNEWAER: LOGICAL : .T. IF AEROSOL MONTHLY DISTRIBUTIONS ARE USED
133 ! LNOTROAER:LOGICAL: .T. IF NO TROPOSPHERIC AEROSOLS
134 ! CRTABLEDIR: CHAR : IF NRADINT > 0 SPECIFIES DIRECTORY PATH FOR RADIATION
135 ! : GRID RTABLE NAMELIST
136 ! CRTABLEFIL: CHAR : IF NRADINT > 0 SPECIFIES FILE NAME OF RADIATION
137 ! : GRID RTABLE NAMELIST
138 ! LRAYL : LOGICAL : .T. NEW RAYLEIGH FOR SW-6 VERSION
139 
140 ! RAOVLP : REAL : COEFFICIENTS FOR ALPHA1 FACTOR IN HOGAN &
141 ! RBOVLP : REAL : ILLINGWORTH's PARAMETRIZATION
142 
143 ! LCCNL : LOGICAL : .T. IF CCN CONCENTRATION OVER LAND IS DIAGNOSED
144 ! LCCNO : LOGICAL : .T. IF CCN CONCENTRATION OVER OCEAN IS DIAGNOSED
145 ! RCCNLND: REAL : NUMBER CONCENTRATION (CM-3) OF CCNs OVER LAND
146 ! RCCNSEA: REAL : NUMBER CONCENTRATION (CM-3) OF CCNs OVER SEA
147 
148 ! LDIFFC : LOGICAL : .T. IF SAVIJARVI'S DIFFUSIVITY CORRECTION IS ON
149 
150 ! NINHOM : INTEGER : 0 IF NO INHOMOGENEITY SCALING EFFECT
151 ! 1 IF SIMPLE 0.7 SCALING
152 ! 2 IF BARKER, 3 IF CAIRNS ET AL.
153 ! RLWINHF: REAL : INHOMOG. SCALING FACTOR FOR CLOUD LW OPTICAL THICKNESS
154 ! RSWINHF: REAL : INHOMOG. SCALING FACTOR FOR CLOUD SW OPTICAL THICKNESS
155 
156 ! NPERTAER : INTERGER : PERCENTAGE OF PERTURBATION FOR AEROSOL
157 ! NPERTOZONE : INTEGER : PERCENTAGE OF PERTURBATION FOR OZONE
158 ! NHINCSOL:INTEGER :
159 ! = 0 NO VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR
160 ! = 1 IF YEAR-TO-YEAR VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR
161 ! = 2 IF MONTH-TO-MONTH VARIABILITY OF SOLAR CONSTANT IS ACCOUNTED FOR
162 ! LECO2VAR: LOGICAL: .T. IF ERA-40/AMIP2 VARIABILITY OF GHG IS ON
163 ! LHGHG : LOGICAL : .T. IF VARIABILITY OF GREENHOUSE GASES (INCLUDING CO2) IS ON
164 ! N.B.: LHGHG supercedes LECO2VAR and allows using better specification of trace gases
165 ! NSCEN : INTEGER : 21st CENTURY SCENARIO FOR GHG (1=A1B, 2=A2, 3=B1)
166 ! RRe2De : REAL : CONVERSION FACTOR BETWWEN EFFECTIVE RADIUS AND PARTICLE SIZE
167 ! FOR ICE
168 ! NMCICA : INTEGER : 0: NO McICA
169 ! 1: McICA w maximum-random in cloud generator
170 ! 2: McICA w generalized overlap in cloud generator
171 ! ------------------------------------------------------------------
172 
173 !$OMP THREADPRIVATE(crtabledir,crtablefil,lccnl,lccno,ldiffc,leco2var,lecsrad)
174 !$OMP THREADPRIVATE(ledbug,lepo3ra,lerad1h,leradhs,lhghg,lhvolca,lnewaer,lnotroaer)
175 !$OMP THREADPRIVATE(lonewsw,loptrproma,lradlb,lrayl,lrrtm,lsrtm,naer,ncsradf,nhincsol)
176 !$OMP THREADPRIVATE(niceopt,ninhom,nlayinh,nliqopt,nlngr1h,nlw,nmcica,nmode,novlp,nozocl)
177 !$OMP THREADPRIVATE(npertaer,npertoz,nradfr,nradint,nradip,nradlp,nradnfr,nradpfr,nradpla)
178 !$OMP THREADPRIVATE(nradres,nradsfr,nrint,nrproma,nscen,nswnl,nswtl,ntsw,nuv,raovlp)
179 !$OMP THREADPRIVATE(rbovlp,rccnlnd,rccnsea,rlwinhf,rpertoz,rre2de,rswinhf)
180 
181 END MODULE yoerad
logical lerad1h
Definition: yoerad.F90:46
integer(kind=jpim) nlw
Definition: yoerad.F90:26
integer(kind=jpim) nuv
Definition: yoerad.F90:31
integer(kind=jpim) npertaer
Definition: yoerad.F90:40
integer(kind=jpim) nozocl
Definition: yoerad.F90:15
integer(kind=jpim) nradpla
Definition: yoerad.F90:18
integer(kind=jpim) ntsw
Definition: yoerad.F90:30
character(len=256) crtabledir
Definition: yoerad.F90:63
logical lhvolca
Definition: yoerad.F90:55
integer(kind=jpim) nradfr
Definition: yoerad.F90:16
integer(kind=jpim) nmcica
Definition: yoerad.F90:44
integer(kind=jpim) nradnfr
Definition: yoerad.F90:22
logical lnewaer
Definition: yoerad.F90:56
logical ldiffc
Definition: yoerad.F90:54
logical lccno
Definition: yoerad.F90:66
integer(kind=jpim) novlp
Definition: yoerad.F90:24
integer(kind=jpim) nradpfr
Definition: yoerad.F90:17
real(kind=jprb) rpertoz
Definition: yoerad.F90:71
real(kind=jprb) rlwinhf
Definition: yoerad.F90:72
logical lonewsw
Definition: yoerad.F90:50
logical lsrtm
Definition: yoerad.F90:53
integer(kind=jpim) nswnl
Definition: yoerad.F90:28
real(kind=jprb) rre2de
Definition: yoerad.F90:71
integer(kind=jpim) naer
Definition: yoerad.F90:13
logical lnotroaer
Definition: yoerad.F90:57
real(kind=jprb) rccnsea
Definition: yoerad.F90:69
integer(kind=jpim) nrint
Definition: yoerad.F90:19
logical leradhs
Definition: yoerad.F90:47
logical lhghg
Definition: yoerad.F90:61
integer(kind=jpim) nliqopt
Definition: yoerad.F90:34
integer, parameter jprb
Definition: parkind1.F90:31
logical lecsrad
Definition: yoerad.F90:51
integer(kind=jpim) nmode
Definition: yoerad.F90:14
integer(kind=jpim) nradres
Definition: yoerad.F90:21
Definition: yoerad.F90:1
integer(kind=jpim) npertoz
Definition: yoerad.F90:41
integer(kind=jpim) nrproma
Definition: yoerad.F90:25
integer(kind=jpim) nswtl
Definition: yoerad.F90:29
integer(kind=jpim) nhincsol
Definition: yoerad.F90:43
real(kind=jprb) rccnlnd
Definition: yoerad.F90:69
integer(kind=jpim) ncsradf
Definition: yoerad.F90:32
integer(kind=jpim) nscen
Definition: yoerad.F90:42
integer(kind=jpim) niceopt
Definition: yoerad.F90:33
logical loptrproma
Definition: yoerad.F90:59
logical lccnl
Definition: yoerad.F90:65
integer(kind=jpim) nlayinh
Definition: yoerad.F90:38
integer(kind=jpim) nradlp
Definition: yoerad.F90:36
real(kind=jprb) raovlp
Definition: yoerad.F90:68
logical lrrtm
Definition: yoerad.F90:52
logical lepo3ra
Definition: yoerad.F90:48
integer(kind=jpim) ninhom
Definition: yoerad.F90:37
integer, parameter jpim
Definition: parkind1.F90:13
logical leco2var
Definition: yoerad.F90:60
integer(kind=jpim) nradip
Definition: yoerad.F90:35
character(len=32) crtablefil
Definition: yoerad.F90:64
real(kind=jprb) rbovlp
Definition: yoerad.F90:68
integer(kind=jpim) nradint
Definition: yoerad.F90:20
logical lrayl
Definition: yoerad.F90:58
real(kind=jprb) rswinhf
Definition: yoerad.F90:72
logical ledbug
Definition: yoerad.F90:70
logical lradlb
Definition: yoerad.F90:49
integer(kind=jpim) nlngr1h
Definition: yoerad.F90:39
integer(kind=jpim) nradsfr
Definition: yoerad.F90:23