source: LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_yoerad.f90

Last change on this file was 5099, checked in by abarral, 2 months ago

Replace most uses of CPP_DUST by the corresponding logical defined in lmdz_cppkeys_wrapper.F90
Convert several files from .F to .f90 to allow Dust to compile w/o rrtm/ecrad
Create lmdz_yoerad.f90
(lint) Remove "!" on otherwise empty line

File size: 7.7 KB
Line 
1! Copied from rrtm/yoerad.F90 to allow compilation of StratAer blocks
2
3MODULE lmdz_yoerad
4
5  IMPLICIT NONE
6
7  SAVE
8
9  !     ------------------------------------------------------------------
10  !*    ** *YOERAD* - CONTROL OPTIONS FOR RADIATION CONFIGURATION
11  !     ------------------------------------------------------------------
12
13  INTEGER :: NAER
14  INTEGER :: NMODE
15  INTEGER :: NOZOCL
16  INTEGER :: NRADFR
17  INTEGER :: NRADPFR
18  INTEGER :: NRADPLA
19  INTEGER :: NRINT
20  INTEGER :: NRADINT
21  INTEGER :: NRADRES
22  INTEGER :: NRADNFR
23  INTEGER :: NRADSFR
24  INTEGER :: NOVLP
25  INTEGER :: NRPROMA
26  INTEGER :: NLW
27  !INTEGER :: NSW  mis dans .def MPL 20140211
28  INTEGER :: NSWNL
29  INTEGER :: NSWTL
30  INTEGER :: NTSW
31  INTEGER :: NUV
32  INTEGER :: NCSRADF
33  INTEGER :: NICEOPT
34  INTEGER :: NLIQOPT
35  INTEGER :: NRADIP
36  INTEGER :: NRADLP
37  INTEGER :: NINHOM
38  INTEGER :: NLAYINH
39  INTEGER :: NLNGR1H
40  INTEGER :: NPERTAER
41  INTEGER :: NPERTOZ
42  INTEGER :: NSCEN
43  INTEGER :: NHINCSOL
44  INTEGER :: 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 :: RAOVLP, RBOVLP
69  REAL :: RCCNLND, RCCNSEA
70  LOGICAL :: LEDBUG
71  REAL :: RPERTOZ, RRe2De
72  REAL :: 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
181END MODULE lmdz_yoerad
Note: See TracBrowser for help on using the repository browser.