source: LMDZ5/trunk/libf/phylmd/rrtm/yoerad.F90 @ 2678

Last change on this file since 2678 was 2010, checked in by Laurent Fairhead, 11 years ago

Modifications pour OpenMP


OpenMP modifications

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 7.7 KB
Line 
1MODULE YOERAD
2
3USE PARKIND1  ,ONLY : JPIM     ,JPRB
4
5IMPLICIT NONE
6
7SAVE
8
9!     ------------------------------------------------------------------
10!*    ** *YOERAD* - CONTROL OPTIONS FOR RADIATION CONFIGURATION
11!     ------------------------------------------------------------------
12
13INTEGER(KIND=JPIM) :: NAER
14INTEGER(KIND=JPIM) :: NMODE
15INTEGER(KIND=JPIM) :: NOZOCL
16INTEGER(KIND=JPIM) :: NRADFR
17INTEGER(KIND=JPIM) :: NRADPFR
18INTEGER(KIND=JPIM) :: NRADPLA
19INTEGER(KIND=JPIM) :: NRINT
20INTEGER(KIND=JPIM) :: NRADINT
21INTEGER(KIND=JPIM) :: NRADRES
22INTEGER(KIND=JPIM) :: NRADNFR
23INTEGER(KIND=JPIM) :: NRADSFR
24INTEGER(KIND=JPIM) :: NOVLP
25INTEGER(KIND=JPIM) :: NRPROMA
26INTEGER(KIND=JPIM) :: NLW
27!INTEGER(KIND=JPIM) :: NSW  mis dans .def MPL 20140211
28INTEGER(KIND=JPIM) :: NSWNL
29INTEGER(KIND=JPIM) :: NSWTL
30INTEGER(KIND=JPIM) :: NTSW
31INTEGER(KIND=JPIM) :: NUV
32INTEGER(KIND=JPIM) :: NCSRADF
33INTEGER(KIND=JPIM) :: NICEOPT
34INTEGER(KIND=JPIM) :: NLIQOPT
35INTEGER(KIND=JPIM) :: NRADIP
36INTEGER(KIND=JPIM) :: NRADLP
37INTEGER(KIND=JPIM) :: NINHOM
38INTEGER(KIND=JPIM) :: NLAYINH
39INTEGER(KIND=JPIM) :: NLNGR1H
40INTEGER(KIND=JPIM) :: NPERTAER
41INTEGER(KIND=JPIM) :: NPERTOZ
42INTEGER(KIND=JPIM) :: NSCEN
43INTEGER(KIND=JPIM) :: NHINCSOL
44INTEGER(KIND=JPIM) :: NMCICA
45
46LOGICAL :: LERAD1H
47LOGICAL :: LERADHS
48LOGICAL :: LEPO3RA
49LOGICAL :: LRADLB
50LOGICAL :: LONEWSW
51LOGICAL :: LECSRAD
52LOGICAL :: LRRTM
53LOGICAL :: LSRTM
54LOGICAL :: LDIFFC
55LOGICAL :: LHVOLCA
56LOGICAL :: LNEWAER
57LOGICAL :: LNOTROAER
58LOGICAL :: LRAYL
59LOGICAL :: LOPTRPROMA
60LOGICAL :: LECO2VAR
61LOGICAL :: LHGHG
62
63CHARACTER (LEN = 256) ::  CRTABLEDIR
64CHARACTER (LEN = 32) ::   CRTABLEFIL
65LOGICAL :: LCCNL
66LOGICAL :: LCCNO
67
68REAL(KIND=JPRB) :: RAOVLP , RBOVLP
69REAL(KIND=JPRB) :: RCCNLND, RCCNSEA
70LOGICAL :: LEDBUG
71REAL(KIND=JPRB) :: RPERTOZ, RRe2De
72REAL(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
181END MODULE YOERAD
Note: See TracBrowser for help on using the repository browser.