source: LMDZ6/branches/blowing_snow/libf/phylmd/rrtm/yomphy1.F90

Last change on this file 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: 13.6 KB
Line 
1MODULE YOMPHY1
2
3USE PARKIND1  ,ONLY : JPIM     ,JPRB
4
5IMPLICIT NONE
6
7SAVE
8
9!*
10!     ------------------------------------------------------------------
11!     CONSTANTES PHYSIQUES REGLABLES INTERVENANT DANS LA DEFINITION DU
12!     SOL, DE LA NEIGE OU DE LA VEGETATION :
13!       ALB1    : COEFF. POUR LE SCHEMA (LVGSN).
14!               : COEFF. FOR THE SNOW SCHEME (LVGSN).
15!       ALB2    : COEFF. POUR LE SCHEMA (LVGSN).
16!               : COEFF. FOR THE SNOW SCHEME (LVGSN).
17!       ALBGLA  : ALBEDO BANQUISE (SANS NEIGE).
18!               : SNOW FREE SEA-ICE ALBEDO.
19!       ALBMAX  : ALBEDO MAXIMUM DE LA NEIGE.
20!               : MAXIMUM SNOW ALBEDO.
21!       ALBMER  : ALBEDO MER.
22!               : OPEN SEA ALBEDO.
23!       ALBMED  : ALBEDO MER DIFFUS.
24!               : OPEN SEA DIFFUSE ALBEDO.
25!       ALBMIN  : ALBEDO MINIMUM DE LA NEIGE.
26!               : MINIMUM SNOW ALBEDO.
27!       ALCRIN  : ALBEDO DE LA NEIGE.
28!               : SNOW ALBEDO.
29!       ALRCN1  : PREMIERE CONSTANTE POUR L'INFLUENCE NEIGEUSE SUR Z0.
30!               : FIRST CONSTANT FOR THE SNOW'S INFLUENCE ON Z0.
31!       ALRCN2  : DEUXIEME CONSTANTE POUR L'INFLUENCE NEIGEUSE SUR Z0.
32!               : SECOND CONSTANT FOR THE SNOW'S INFLUENCE ON Z0.
33!       EA      : EXPOSANT DANS LE SCHEMA SOL-VEGETATION
34!               : EXPONENT IN THE SOIL-VEGETATION SCHEME
35!       EC2REF  : IDEM
36!       EMCRIN  : EMISSIVITE DE LA NEIGE.
37!               : SNOW EMISSIVITY.
38!       EMMGLA  : EMISSIVITE DE LA BANQUISE
39!               : SEA-ICE EMISSIVITY.
40!       EMMMER  : EMISSIVITE DE LA MER
41!               : OPEN SEA EMISSIVITY.
42!       EWFC    : EXPOSANT DANS LE SCHEMA SOL-VEGETATION
43!               : EXPONENT IN THE SOIL-VEGETATION SCHEME
44!       EWWILT  : IDEM
45!       GA      : COEFFICIENT DE REGRESSION DANS LE SCHEMA SOL-VEGETATION
46!               : REGRESSION COEFFICIENT IN THE SOIL-VEGETATION SCHEME
47!       GC1     : IDEM.
48!       GC1S1, GC1S2, GC1S3, GC1S4 : COEFFICIENT POUR LE C1 PHASE VAPEUR
49!                                  : COEFFICIENT FOR C1 VAPOUR PHASE
50!       GTSVAP  : =0 PTS VARIABLE POUR LE CALCUL DU MAX DE C1. SI < 0 -GTSVAP
51!                 REPRESENTE LA TEMPERATURE CONSTANTE EN DEGRE CELSIUS
52!                 =0 PTS VARIABLE FOR THE COMPUTATION OF THE MAX OF C1. IF
53!                 < 0 -GTSVAP IS CONSTANT TEMPERATURE IN DEGRE
54!       GC1Y1   : VALEUR DU C1 POUR WS=0 POUR LA PHASE VAPEUR DE C1
55!               : VALUE OF C1 FOR WS=0 FOR VAPOUR PHASE OF C1
56!       GVEGMX,GLAIMX,GNEIMX,GWPIMX,GCGEL: COEFF POUR EAU GELEE DU SOL PROFOND.
57!       GVEGMX,GLAIMX,GNEIMX,GWPIMX,GCGEL: COEFF FOR ICE IN DEEP SOIL.
58!       GVEGMXS,GLAIMXS,GNEIMXS,GCGELS: COEFF POUR EAU GELEE DE SURFACE.
59!       GVEGMXS,GLAIMXS,GNEIMXS,GCGELS: COEFF FOR ICE IN THE SUPERFICIAL
60!               RESERVOIR.
61!       GC2     : REGRESSION COEFFICIENT IN THE SOIL-VEGETATION SCHEME
62!       GC2REF  : IDEM.
63!       GC3     : IDEM.
64!       GCZ0H   : IDEM.
65!       GC31    : COEFFICIENT POUR LE DRAINAGE PROFOND (SOL-VEGETATION)
66!               : COEFFICIENT FOR THE DEEP SOIL DRAINAGE (SOIL-VEGETATION)
67!       GC32    : IDEM
68!       GCONV   : FACTEUR DE CHANGEMENT D'UNITE (MASSE VOL. DE L'EAU LIQUIDE)
69!       GF1     : COEFFICIENT DE LA FONCTION F1 (SOL-VEGETATION).
70!               : COEFFICIENT FOR THE FUNCTION F1 (SOIL-VEGETATION).
71!       GF3(18) : COEFFICIENT DE LA FONCTION F3 (SOL-VEGETATION)
72!               : COEFFICIENT FOR THE FUNCTION F3 (SOIL-VEGETATION)
73!       GF4(18) : COEFFICIENT DE LA FONCTION F4 (SOL-VEGETATION)
74!               : COEFFICIENT FOR THE FUNCTION F4 (SOIL-VEGETATION)
75!       GWFC    : COEFFICIENT DE REGRESSION DANS LE SCHEMA SOL-VEGETATION
76!               : REGRESSION COEFFICIENT IN THE SOIL-VEGETATION SCHEME
77!       GWWILT  : IDEM.
78!       G1B     : IDEM.
79!       G1CGSAT : IDEM.
80!       G1C1SAT : IDEM.
81!       G1P     : COEFFICIENT DE REGRESSION DANS LE SCHEMA SOL-VEGETATION
82!               : REGRESSION COEFFICIENT IN THE SOIL-VEGETATION SCHEME
83!       G1WSAT  : IDEM.
84!       G2B     : IDEM.
85!       G2CGSAT : IDEM.
86!       G2C1SAT : IDEM.
87!       G2P     : IDEM.
88!       G2WSAT  : IDEM.
89!       G3CGSAT : IDEM.
90!       GSNC1   : IDEM (LSNV).
91!       GSNC2   : IDEM (LSNV).
92!       GWLEX   : (WL/WLMX)**GWLEX POUR LE CALCUL DU COEF. D'HALSTEAD.
93!               : (WL/WLMX)**GWLEX FOR THE HALSTEAD COEF.
94!       GWLMX   : COEFFICIENT POUR LE RESERVOIR D'INTERCEPTION MAX.
95!               : COEFFICIENT FOR INTERCEPTION WATER CONTENT.
96!       HSOL    : INVERSE DE L'INERTIE DU SOL EN SURFACE.
97!               : INVERSE OF THE SURFACE SOIL INERTIA.
98!       HSOLIWR : INVERSE DE LA QUANTITE CRITIQUE EN EAU (CALCUL DE HSOL).
99!               : INVERSE OF CRITICAL SOIL WATER CONTENT (HSOL COMPUTATION).
100!       HSOLIT0 : INVERSE DE LA LARGEUR CRITIQUE EN TEMPERATURE (CALCUL DE HSOL).
101!               : INVERSE OF TEMPERATURE CRITICAL DEVIATION (HSOL COMPUTATION).
102!       NTVGLA  : INDICE DE VEGETATION SUR GLACE.
103!               : VEGETATION INDEX OVER ICE.
104!       NTVMER  : INDICE DE VEGETATION SUR MER.
105!               : VEGETATION INDEX OVER SEA.
106!       OMTPRO  : 2 PI SUR LA PER. DE RAPP. DE LA TEMPERATURE PROFONDE.
107!               : 2 PI DIVIDED BY THE TIME CONSTANT OF DEEP TEMPERATURE.
108!       OMWPRO  : 1.   SUR LA PER. DE RAPP. DU CONTENU EN EAU PROFOND.
109!               : 1.   DIVIDED BY THE TIME CONSTANT OF DEEP SOIL WATER.
110!       RC1MAX  : VALEUR MAXIMALE DU COEFFICIENT HYDRIQUE G1=C1/RD1
111!               : MAXIMUM VALUE FOR THE HYDRIC COEFFICIENT G1
112!       RCTGLA  : COEFFICIENT THERMIQUE DE LA GLACE
113!               : ICE THERMAL COEFFICIENT.
114!       RCGMAX  : COEFFICIENT THERMIQUE DU SOL NU MAXIMUM
115!               : MAXIMUM THERMAL BARE GROUND COEFFICIENT.
116!       RCTVEG  : COEFFICIENT THERMIQUE DE LA VEGETATION.
117!          (18) : VEGETATION THERMAL COEFFICIENT.
118!       RD1     : EPAISSEUR DU RESERVOIR SUPERFICIEL.
119!               : UPPER RESERVOIR DEPTH.
120!       RD2GLA  : EPAISSEUR DU RESERVOIR BANQUISE.
121!               : SEA-ICE RESERVOIR DEPTH.
122!       RD2MER  : EPAISSEUR DU RESERVOIR MER.
123!               : OPEN SEA RESERVOIR DEPTH.
124!       RGL(18) : VALEUR LIMITE DU RAYONNEMENT GLOBAL DEPENDANT DU TYPE
125!                 DE VEGETATION. RGL INTERVIENT DANS LE CALCUL DE RSTO.
126!               : VEGETATION RADIATIVE COEFFICIENT LIMITING GLOBAL
127!                 RADIATION. RGL IS USED IN THE COMPUTATION OF RSTO.
128!       RHOMAX  : DENSITE MAXIMUM DE LA NEIGE.
129!               : MAXIMUM SNOW DENSITY.
130!       RHOMIN  : DENSITE MINIMUM DE LA NEIGE.
131!               : MINIMUM SNOW DENSITY.
132!       RLAIMX  : LAI MAX POUR LE SCHEMA (LVGSN).
133!               : LAI MAX FOR THE SNOW SCHEME (LVGSN).
134!       RLAI    : LAI A PARTIR DUQUEL ON REDUIT LA FRACTION DE NEIGE (LVGSN).
135!               : LAI FROM WHICH THE SNOW FRACTION IS REDUCED (LVGSN).
136!       RSMAX   : RESISTANCE STOMATIQUE MAXIMALE.
137!               : MAXIMUM STOMATAL RESISTANCE
138!       RTINER  : RAPPORT DES INERTIES THERMIQUES PROFONDEUR/SURFACE.
139!               : RATIO OF THE DEEP/SURFACE THERMAL INERTIAS.
140!       RZ0GLA  : LONGUEUR RUGOSITE DYNAMIQUE DE LA BANQUISE
141!               : DYNAMICAL ROUGHNESS LENGTH OF SEA-ICE
142!       RZ0MER  : LONGUEUR RUGOSITE DYNAMIQUE DE LA MER
143!               : DYNAMICAL ROUGHNESS LENGTH OF SEA
144!       RZHZ0G  : RAPPORT LONGUEUR DE RUGOSITE THERMIQUE SUR LONGUEUR
145!                 RUGOSITE DYNAMIQUE DE LA BANQUISE
146!               : RATIO OF THERMAL ROUGHNESS LENGTH ON DYNAMICAL
147!                 ROUGHNESS LENGTH OF SEA-ICE
148!       RZHZ0M  : RAPPORT LONGUEUR DE RUGOSITE THERMIQUE SUR LONGUEUR
149!                 RUGOSITE DYNAMIQUE DE LA MER
150!               : RATIO OF THERMAL ROUGHNESS LENGTH ON DYNAMICAL
151!                 ROUGHNESS LENGTH OF SEA
152!       SODELX(0:9): DISCRETISATION VERTICALE DU SOL (MAXI 10 COUCHES)
153!                : SOIL VERTICAL DISCRETIZATION (MAX 10 LAYERS)
154!       TMERGL  : TEMPERATURE DE FONTE DE LA GLACE DE MER.
155!               : MELTING TEMPERATURE OF FLOATING ICE.
156!       TOEXP   : TAUX DE DECROISSANCE EXPONENTIELLE DE L'ALBEDO ET
157!                 ET DE LA DENSITE DE LA NEIGE EN PERIODE DE FONTE.
158!               : RATE OF EXPONENTIAL DECREASE IN SNOW ALBEDO AND DENSITY
159!                 DURING SNOW MELT.
160!       TOLIN   : TAUX DE DECROISSANCE LINEAIRE DE L'ALBEDO DE LA NEIGE
161!                 EN PERIODE D'ACCUMULATION.
162!               : RATE OF LINEAR DECREASE IN SNOW ALBEDO
163!                 DURING SNOW ACCUMULATION.
164!       TREF4(18): TEMPERATURE SEUIL DE LA FONCTION F4 (SOL-VEGETATION)
165!                : THRESHOLD TEMPERATURE IN F4 FUNCTION (SOIL-VEGETATION)
166!       WCRIN   : QUANTITE CRITIQUE POUR LA NEIGE MI-COUVRANTE.
167!               : CRITICAL TRANSITION VALUE FOR SNOW DEPTH (HALF-COVER).
168!       WCRINC  : QUANTITE CRITIQUE POUR LA NEIGE MI-COUVRANTE.
169!                 (CALCULS THERMIQUES)
170!               : CRITICAL TRANSITION VALUE FOR SNOW DEPTH (HALF-COVER).
171!                 (THERMIC CALCULATIONS)
172!       WCRING  : QUANTITE CRITIQUE POUR LA NEIGE MI-COUVRANTE.
173!                 (CALCULS RADIATIFS ET EVAPORATION)
174!               : CRITICAL TRANSITION VALUE FOR SNOW DEPTH (HALF-COVER).
175!                 (RADIATIVE CALCULATIONS AND EVAPORATION)
176!       WNEW    : PRECIPITIONS DE NEIGE MINIMUM (MM) POUR RENOUVELER
177!                 L'ALBEDO DE LA NEIGE.
178!               : MINIMUM SNOWFALL (MM) TO RENEW THE SNOW ALBEDO.
179!       WPMX    : VALEUR MAXIMUN POUR LE CONTENU EN EAU EN PROFONDEUR.
180!               : MAXIMUM VALUE FOR DEEP SOIL WATER CONTENT.
181!       WSMX    : VALEUR MAXIMUN POUR LE CONTENU EN EAU DE SURFACE.
182!               : MAXIMUM VALUE FOR SURFACE SOIL WATER CONTENT.
183!       XCRINR  : COEFFICIENT DANS LE FACTEUR ZNR DETERMINANT
184!                 L'INFLUENCE DU RELIEF SOUS-MAILLE
185!                 SUR LES FRACTIONS DE NEIGE
186!               : COEFFICIENT IN THE FACTOR ZNR DETERMINING
187!                 THE INFLUENCE OF SUBGRID OROGRAPHY
188!                 ON THE SNOW COVER FRACTIONS
189!       XCRINV  : COEFFICIENT DE LA FRACTION PNEIJV DE NEIGE RECOUVRANT
190!                 LA VEGETATION.
191!               : COEFFICIENT FOR THE FRACTION PNEIJV OF SNOW COVERING
192!                 THE CANOPY.
193!       LIMC    : BORNE SUPERIEURE POUR CT
194!               : UPPER BOUND FOR CT
195!       LIMW    : CONTROLE DE W/Wwilt POUR CG,C1,C2
196!               : CHECKING W/Wwilt
197!       LC1VAP  : PHASE VAPEUR POUR LE C1
198!               : VAPOUR PHASE FOR C1
199
200REAL(KIND=JPRB) :: GF3(18)
201REAL(KIND=JPRB) :: GF4(18)
202REAL(KIND=JPRB) :: TREF4(18)
203REAL(KIND=JPRB) :: RCTVEG(18)
204REAL(KIND=JPRB) :: RGL(18)
205REAL(KIND=JPRB) :: SODELX(0:9)
206REAL(KIND=JPRB) :: GCZ0H(0:3,4)
207REAL(KIND=JPRB) :: ALBGLA
208REAL(KIND=JPRB) :: ALBMAX
209REAL(KIND=JPRB) :: ALBMER
210REAL(KIND=JPRB) :: ALBMED
211REAL(KIND=JPRB) :: ALBMIN
212REAL(KIND=JPRB) :: ALCRIN
213REAL(KIND=JPRB) :: ALRCN1
214REAL(KIND=JPRB) :: ALRCN2
215REAL(KIND=JPRB) :: EA
216REAL(KIND=JPRB) :: EC2REF
217REAL(KIND=JPRB) :: EMCRIN
218REAL(KIND=JPRB) :: EMMGLA
219REAL(KIND=JPRB) :: EMMMER
220REAL(KIND=JPRB) :: EWFC
221REAL(KIND=JPRB) :: EWWILT
222REAL(KIND=JPRB) :: GA
223REAL(KIND=JPRB) :: GC1
224REAL(KIND=JPRB) :: GC1S1
225REAL(KIND=JPRB) :: GC1S2
226REAL(KIND=JPRB) :: GC1S3
227REAL(KIND=JPRB) :: GC1S4
228REAL(KIND=JPRB) :: GC1Y1
229REAL(KIND=JPRB) :: GTSVAP
230REAL(KIND=JPRB) :: GVEGMX
231REAL(KIND=JPRB) :: GLAIMX
232REAL(KIND=JPRB) :: GNEIMX
233REAL(KIND=JPRB) :: GWPIMX
234REAL(KIND=JPRB) :: GCGEL
235REAL(KIND=JPRB) :: GC2
236REAL(KIND=JPRB) :: GC2REF
237REAL(KIND=JPRB) :: GC3
238REAL(KIND=JPRB) :: GC31
239REAL(KIND=JPRB) :: GC32
240REAL(KIND=JPRB) :: GCONV
241REAL(KIND=JPRB) :: GF1
242REAL(KIND=JPRB) :: GWFC
243REAL(KIND=JPRB) :: GWLEX
244REAL(KIND=JPRB) :: GWLMX
245REAL(KIND=JPRB) :: GWWILT
246REAL(KIND=JPRB) :: G1B
247REAL(KIND=JPRB) :: G1CGSAT
248REAL(KIND=JPRB) :: G1C1SAT
249REAL(KIND=JPRB) :: G1P
250REAL(KIND=JPRB) :: G1WSAT
251REAL(KIND=JPRB) :: G2B
252REAL(KIND=JPRB) :: G2CGSAT
253REAL(KIND=JPRB) :: G2C1SAT
254REAL(KIND=JPRB) :: G2P
255REAL(KIND=JPRB) :: G2WSAT
256REAL(KIND=JPRB) :: G3CGSAT
257REAL(KIND=JPRB) :: GSNC1
258REAL(KIND=JPRB) :: GSNC2
259REAL(KIND=JPRB) :: HSOL
260REAL(KIND=JPRB) :: HSOLIWR
261REAL(KIND=JPRB) :: HSOLIT0
262REAL(KIND=JPRB) :: OMTPRO
263REAL(KIND=JPRB) :: OMWPRO
264REAL(KIND=JPRB) :: RC1MAX
265REAL(KIND=JPRB) :: RCTGLA
266REAL(KIND=JPRB) :: RCGMAX
267REAL(KIND=JPRB) :: RD1
268REAL(KIND=JPRB) :: RD2GLA
269REAL(KIND=JPRB) :: RD2MER
270REAL(KIND=JPRB) :: RHOMAX
271REAL(KIND=JPRB) :: RHOMIN
272REAL(KIND=JPRB) :: RSMAX
273REAL(KIND=JPRB) :: RTINER
274REAL(KIND=JPRB) :: RZ0GLA
275REAL(KIND=JPRB) :: RZ0MER
276REAL(KIND=JPRB) :: RZHZ0G
277REAL(KIND=JPRB) :: RZHZ0M
278REAL(KIND=JPRB) :: RZHGLA
279REAL(KIND=JPRB) :: RZHMER
280REAL(KIND=JPRB) :: TMERGL
281REAL(KIND=JPRB) :: TOEXP
282REAL(KIND=JPRB) :: TOLIN
283REAL(KIND=JPRB) :: WCRIN
284REAL(KIND=JPRB) :: WCRINC
285REAL(KIND=JPRB) :: WCRING
286REAL(KIND=JPRB) :: WNEW
287REAL(KIND=JPRB) :: WPMX
288REAL(KIND=JPRB) :: WSMX
289REAL(KIND=JPRB) :: XCRINR
290REAL(KIND=JPRB) :: XCRINV
291LOGICAL :: LIMC
292LOGICAL :: LIMW
293LOGICAL :: LC1VAP
294INTEGER(KIND=JPIM) :: NTVGLA
295INTEGER(KIND=JPIM) :: NTVMER
296REAL(KIND=JPRB) :: GCGELS
297REAL(KIND=JPRB) :: GVEGMXS
298REAL(KIND=JPRB) :: GLAIMXS
299REAL(KIND=JPRB) :: GNEIMXS
300REAL(KIND=JPRB) :: ALB1
301REAL(KIND=JPRB) :: ALB2
302REAL(KIND=JPRB) :: RLAIMX
303REAL(KIND=JPRB) :: RLAI
304INTEGER(KIND=JPIM) :: NCHSP
305!     ------------------------------------------------------------------
306!$OMP THREADPRIVATE(alb1,alb2,albgla,albmax,albmed,albmer,albmin,alcrin,alrcn1,alrcn2,ea,ec2ref,emcrin,emmgla)
307!$OMP THREADPRIVATE(emmmer,ewfc,ewwilt,g1b,g1c1sat,g1cgsat,g1p,g1wsat,g2b,g2c1sat,g2cgsat,g2p,g2wsat,g3cgsat)
308!$OMP THREADPRIVATE(ga,gc1,gc1s1,gc1s2,gc1s3,gc1s4,gc1y1,gc2,gc2ref,gc3,gc31,gc32,gcgel,gcgels,gconv,gcz0h,gf1)
309!$OMP THREADPRIVATE(gf3,gf4,glaimx,glaimxs,gneimx,gneimxs,gsnc1,gsnc2,gtsvap,gvegmx,gvegmxs,gwfc,gwlex,gwlmx)
310!$OMP THREADPRIVATE(gwpimx,gwwilt,hsol,hsolit0,hsoliwr,lc1vap,limc,limw,nchsp,ntvgla,ntvmer,omtpro,omwpro,rc1max)
311!$OMP THREADPRIVATE(rcgmax,rctgla,rctveg,rd1,rd2gla,rd2mer,rgl,rhomax,rhomin,rlai,rlaimx,rsmax,rtiner,rz0gla)
312!$OMP THREADPRIVATE(rz0mer,rzhgla,rzhmer,rzhz0g,rzhz0m,sodelx,tmergl,toexp,tolin,tref4,wcrin,wcrinc,wcring)
313!$OMP THREADPRIVATE(wnew,wpmx,wsmx,xcrinr,xcrinv)
314END MODULE YOMPHY1
Note: See TracBrowser for help on using the repository browser.