source: LMDZ6/trunk/libf/phylmd/rrtm/yomarar.F90 @ 3513

Last change on this file since 3513 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: 4.9 KB
Line 
1MODULE YOMARAR
2
3USE PARKIND1  ,ONLY : JPIM     ,JPRB
4
5IMPLICIT NONE
6
7SAVE
8
9!*
10!     ------------------------------------------------------------------
11
12!     VARIABLES pour utiliser la PHYSIQUE de meso_NH :
13!     VARIABLES to use the MESO-NH physics:
14
15!     KSPLITR :  Number of small time step
16!                integration for  rain
17!                sedimendation
18
19INTEGER(KIND=JPIM) :: NSPLITR     ! ??? (missing comment)
20INTEGER(KIND=JPIM) :: NRR, NRRL, NRRI   !number of microphysical species
21INTEGER(KIND=JPIM) :: NSV         !number of passiv variables in MesoNH,
22                                  ! always 0 in AROME
23INTEGER(KIND=JPIM) :: NSWB_MNH    !number of SW bands for surface
24                                  ! (must be equal to NSW !!)
25INTEGER(KIND=JPIM) :: NGPAR       !number of fields in the buffer containing
26                                  ! the 2D pseudo-historical variables.
27INTEGER(KIND=JPIM) :: MINPRR      !pointer on INPRR
28INTEGER(KIND=JPIM) :: MACPRR      !pointer on ACPRR
29INTEGER(KIND=JPIM) :: MINPRS      !pointer on INPRS
30INTEGER(KIND=JPIM) :: MACPRS      !pointer on ACPRS
31INTEGER(KIND=JPIM) :: MINPRG      !pointer on INPRG
32INTEGER(KIND=JPIM) :: MACPRG      !pointer on ACPRG
33INTEGER(KIND=JPIM) :: MALBDIR     !pointer on ALBDIR
34INTEGER(KIND=JPIM) :: MALBSCA     !pointer on ALBSCA
35INTEGER(KIND=JPIM) :: MRAIN       !pointer on surface rain
36INTEGER(KIND=JPIM) :: MSNOW       !pointer on surface snow
37INTEGER(KIND=JPIM) :: MGZ0        !pointer on GZ0
38INTEGER(KIND=JPIM) :: MGZ0H       !pointer on GZ0H
39INTEGER(KIND=JPIM) :: MVQS        !pointer on surface moisture
40INTEGER(KIND=JPIM) :: MVTS        !pointer on surface temperature
41INTEGER(KIND=JPIM) :: MVEMIS      !pointer on surface emissivity
42INTEGER(KIND=JPIM) :: MSWDIR      !pointer on SW direct surface flux
43INTEGER(KIND=JPIM) :: MSWDIF      !pointer on SW surface diffuse flux
44INTEGER(KIND=JPIM) :: MSFU        !pointer on U surface flux
45INTEGER(KIND=JPIM) :: MSFV        !pointer on V surface flux
46INTEGER(KIND=JPIM) :: MSFRV       !pointer on Qv  surface flux
47INTEGER(KIND=JPIM) :: MSFTH       !pointer on Theta surface flux
48INTEGER(KIND=JPIM) :: MFRTHDS     !pointer on IR downward surface flux
49INTEGER(KIND=JPIM) :: MUM         !pointer on U surface wind
50INTEGER(KIND=JPIM) :: MVM         !pointer on V surface wind
51INTEGER(KIND=JPIM) :: MTM         !pointer on T at first model layer
52INTEGER(KIND=JPIM) :: MQVM        !pointer on QV at first model layer
53INTEGER(KIND=JPIM) :: MPABSM      !pointer on Pressure at first model layer
54INTEGER(KIND=JPIM) :: MPSURF      !pointer on surface pressure
55INTEGER(KIND=JPIM) :: MZZ         !pointer on height of first model layer
56INTEGER(KIND=JPIM) :: MRHODREF    !pointer on RHODREF
57INTEGER(KIND=JPIM) :: MSFSV       !pointer on surf. fluxes of scalars
58
59REAL(KIND=JPRB), DIMENSION(:), ALLOCATABLE  :: XSW_BANDS  !SW spectral bands
60                                              ! for ext. surface scheme
61LOGICAL :: LOSUBG_COND ! see OSUBG_COND in mesoNH
62LOGICAL :: LOSUBG_AUCV ! see OSUBG_AUCV in mesoNH
63LOGICAL :: LOWARM      ! see OWARM in mesoNH
64LOGICAL :: LOSIGMAS    ! see OSIGMAS in mesoNH
65
66! * for the squall line case:
67LOGICAL :: LSQUALL ! use for the squall line case
68INTEGER(KIND=JPIM) :: NREFROI1 !starting point for cooling
69INTEGER(KIND=JPIM) :: NREFROI2 !end point for cooling
70REAL(KIND=JPRB) :: VSQUALL ! mean velocity displacement of the squall line.
71
72! * for the MESO-NH physics printings:
73INTEGER(KIND=JPIM) :: NPTP ! index in NPROMA paquet where the print will be done
74INTEGER(KIND=JPIM) :: NPRINTFR !frequency of physical prints in apl_arome
75                               ! (default 1/h)
76
77! * for the surface diagnostics.
78INTEGER(KIND=JPIM) :: NDIAGFR  ! frequency of surface scheme diagnostics
79
80!* for other diagnostics
81!  wmax per vertical level
82LOGICAL :: LDIAGWMAX !activate print of WMAX in apl_arome
83INTEGER(KIND=JPIM) :: NDIAGWMAX ! frequency of preceding prints (in time step)
84
85!* for chemical scheme
86! time step factor
87INTEGER(KIND=JPIM) :: NDTCHEM
88!* for MNH budget anlysis
89LOGICAL :: LAROBU_ENABLE
90
91! for budgets and DDH, number of processes in budget arrays
92INTEGER(KIND=JPIM),ALLOCATABLE ::  NBUPROC(:)
93INTEGER(KIND=JPIM),ALLOCATABLE ::  NJBUDG1(:)
94INTEGER(KIND=JPIM),ALLOCATABLE ::  NJBUDG2(:)
95
96!* number of budgets used in AROME, without pasive scalars
97INTEGER(KIND=JPIM), PARAMETER ::  JPAROBUD = 11
98
99!     ------------------------------------------------------------------
100!$OMP THREADPRIVATE(larobu_enable,ldiagwmax,losigmas,losubg_aucv,losubg_cond,lowarm,lsquall)
101!$OMP THREADPRIVATE(macprg,macprr,macprs,malbdir,malbsca,mfrthds,mgz0,mgz0h,minprg,minprr,minprs)
102!$OMP THREADPRIVATE(mpabsm,mpsurf,mqvm,mrain,mrhodref,msfrv,msfsv,msfth,msfu,msfv,msnow,mswdif)
103!$OMP THREADPRIVATE(mswdir,mtm,mum,mvemis,mvm,mvqs,mvts,mzz,ndiagfr,ndiagwmax,ndtchem,ngpar)
104!$OMP THREADPRIVATE(nprintfr,nptp,nrefroi1,nrefroi2,nrr,nrri,nrrl,nsplitr,nsv,nswb_mnh,vsquall)
105!$OMP THREADPRIVATE(nbuproc,njbudg1,njbudg2,xsw_bands)
106END MODULE YOMARAR
Note: See TracBrowser for help on using the repository browser.