LMDZ
yomarar.F90
Go to the documentation of this file.
1 MODULE yomarar
2 
3 USE parkind1 ,ONLY : jpim ,jprb
4 
5 IMPLICIT NONE
6 
7 SAVE
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 
19 INTEGER(KIND=JPIM) :: nsplitr ! ??? (missing comment)
20 INTEGER(KIND=JPIM) :: nrr, nrrl, nrri !number of microphysical species
21 INTEGER(KIND=JPIM) :: nsv !number of passiv variables in MesoNH,
22  ! always 0 in AROME
23 INTEGER(KIND=JPIM) :: nswb_mnh !number of SW bands for surface
24  ! (must be equal to NSW !!)
25 INTEGER(KIND=JPIM) :: ngpar !number of fields in the buffer containing
26  ! the 2D pseudo-historical variables.
27 INTEGER(KIND=JPIM) :: minprr !pointer on INPRR
28 INTEGER(KIND=JPIM) :: macprr !pointer on ACPRR
29 INTEGER(KIND=JPIM) :: minprs !pointer on INPRS
30 INTEGER(KIND=JPIM) :: macprs !pointer on ACPRS
31 INTEGER(KIND=JPIM) :: minprg !pointer on INPRG
32 INTEGER(KIND=JPIM) :: macprg !pointer on ACPRG
33 INTEGER(KIND=JPIM) :: malbdir !pointer on ALBDIR
34 INTEGER(KIND=JPIM) :: malbsca !pointer on ALBSCA
35 INTEGER(KIND=JPIM) :: mrain !pointer on surface rain
36 INTEGER(KIND=JPIM) :: msnow !pointer on surface snow
37 INTEGER(KIND=JPIM) :: mgz0 !pointer on GZ0
38 INTEGER(KIND=JPIM) :: mgz0h !pointer on GZ0H
39 INTEGER(KIND=JPIM) :: mvqs !pointer on surface moisture
40 INTEGER(KIND=JPIM) :: mvts !pointer on surface temperature
41 INTEGER(KIND=JPIM) :: mvemis !pointer on surface emissivity
42 INTEGER(KIND=JPIM) :: mswdir !pointer on SW direct surface flux
43 INTEGER(KIND=JPIM) :: mswdif !pointer on SW surface diffuse flux
44 INTEGER(KIND=JPIM) :: msfu !pointer on U surface flux
45 INTEGER(KIND=JPIM) :: msfv !pointer on V surface flux
46 INTEGER(KIND=JPIM) :: msfrv !pointer on Qv surface flux
47 INTEGER(KIND=JPIM) :: msfth !pointer on Theta surface flux
48 INTEGER(KIND=JPIM) :: mfrthds !pointer on IR downward surface flux
49 INTEGER(KIND=JPIM) :: mum !pointer on U surface wind
50 INTEGER(KIND=JPIM) :: mvm !pointer on V surface wind
51 INTEGER(KIND=JPIM) :: mtm !pointer on T at first model layer
52 INTEGER(KIND=JPIM) :: mqvm !pointer on QV at first model layer
53 INTEGER(KIND=JPIM) :: mpabsm !pointer on Pressure at first model layer
54 INTEGER(KIND=JPIM) :: mpsurf !pointer on surface pressure
55 INTEGER(KIND=JPIM) :: mzz !pointer on height of first model layer
56 INTEGER(KIND=JPIM) :: mrhodref !pointer on RHODREF
57 INTEGER(KIND=JPIM) :: msfsv !pointer on surf. fluxes of scalars
58 
59 REAL(KIND=JPRB), DIMENSION(:), ALLOCATABLE :: xsw_bands !SW spectral bands
60  ! for ext. surface scheme
61 LOGICAL :: losubg_cond ! see OSUBG_COND in mesoNH
62 LOGICAL :: losubg_aucv ! see OSUBG_AUCV in mesoNH
63 LOGICAL :: lowarm ! see OWARM in mesoNH
64 LOGICAL :: losigmas ! see OSIGMAS in mesoNH
65 
66 ! * for the squall line case:
67 LOGICAL :: lsquall ! use for the squall line case
68 INTEGER(KIND=JPIM) :: nrefroi1 !starting point for cooling
69 INTEGER(KIND=JPIM) :: nrefroi2 !end point for cooling
70 REAL(KIND=JPRB) :: vsquall ! mean velocity displacement of the squall line.
71 
72 ! * for the MESO-NH physics printings:
73 INTEGER(KIND=JPIM) :: nptp ! index in NPROMA paquet where the print will be done
74 INTEGER(KIND=JPIM) :: nprintfr !frequency of physical prints in apl_arome
75  ! (default 1/h)
76 
77 ! * for the surface diagnostics.
78 INTEGER(KIND=JPIM) :: ndiagfr ! frequency of surface scheme diagnostics
79 
80 !* for other diagnostics
81 ! wmax per vertical level
82 LOGICAL :: ldiagwmax !activate print of WMAX in apl_arome
83 INTEGER(KIND=JPIM) :: ndiagwmax ! frequency of preceding prints (in time step)
84 
85 !* for chemical scheme
86 ! time step factor
87 INTEGER(KIND=JPIM) :: ndtchem
88 !* for MNH budget anlysis
89 LOGICAL :: larobu_enable
90 
91 ! for budgets and DDH, number of processes in budget arrays
92 INTEGER(KIND=JPIM),ALLOCATABLE :: nbuproc(:)
93 INTEGER(KIND=JPIM),ALLOCATABLE :: njbudg1(:)
94 INTEGER(KIND=JPIM),ALLOCATABLE :: njbudg2(:)
95 
96 !* number of budgets used in AROME, without pasive scalars
97 INTEGER(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)
106 END MODULE yomarar
integer(kind=jpim) macprr
Definition: yomarar.F90:28
integer(kind=jpim) minprg
Definition: yomarar.F90:31
integer(kind=jpim) mrhodref
Definition: yomarar.F90:56
integer(kind=jpim) malbdir
Definition: yomarar.F90:33
integer(kind=jpim) ngpar
Definition: yomarar.F90:25
integer(kind=jpim), dimension(:), allocatable nbuproc
Definition: yomarar.F90:92
integer(kind=jpim) msfth
Definition: yomarar.F90:47
integer(kind=jpim) ndtchem
Definition: yomarar.F90:87
integer(kind=jpim) nrrl
Definition: yomarar.F90:20
integer(kind=jpim) mum
Definition: yomarar.F90:49
integer(kind=jpim) msfv
Definition: yomarar.F90:45
integer(kind=jpim) mqvm
Definition: yomarar.F90:52
integer(kind=jpim) nsplitr
Definition: yomarar.F90:19
integer(kind=jpim) ndiagwmax
Definition: yomarar.F90:83
integer(kind=jpim) mgz0h
Definition: yomarar.F90:38
integer(kind=jpim) nsv
Definition: yomarar.F90:21
logical ldiagwmax
Definition: yomarar.F90:82
logical lowarm
Definition: yomarar.F90:63
integer(kind=jpim) mrain
Definition: yomarar.F90:35
integer(kind=jpim) minprr
Definition: yomarar.F90:27
integer(kind=jpim) nswb_mnh
Definition: yomarar.F90:23
logical lsquall
Definition: yomarar.F90:67
integer(kind=jpim) mgz0
Definition: yomarar.F90:37
integer(kind=jpim) mswdif
Definition: yomarar.F90:43
integer(kind=jpim) mfrthds
Definition: yomarar.F90:48
integer, parameter jprb
Definition: parkind1.F90:31
logical losubg_cond
Definition: yomarar.F90:61
logical larobu_enable
Definition: yomarar.F90:89
integer(kind=jpim) msfsv
Definition: yomarar.F90:57
real(kind=jprb), dimension(:), allocatable xsw_bands
Definition: yomarar.F90:59
integer(kind=jpim) nrefroi1
Definition: yomarar.F90:68
integer(kind=jpim) mswdir
Definition: yomarar.F90:42
integer(kind=jpim) msfu
Definition: yomarar.F90:44
integer(kind=jpim) nrr
Definition: yomarar.F90:20
integer(kind=jpim) mzz
Definition: yomarar.F90:55
integer(kind=jpim) mvqs
Definition: yomarar.F90:39
integer(kind=jpim) nrri
Definition: yomarar.F90:20
integer(kind=jpim) msfrv
Definition: yomarar.F90:46
integer(kind=jpim) nptp
Definition: yomarar.F90:73
integer(kind=jpim) ndiagfr
Definition: yomarar.F90:78
real(kind=jprb) vsquall
Definition: yomarar.F90:70
integer(kind=jpim) mvemis
Definition: yomarar.F90:41
integer(kind=jpim) nprintfr
Definition: yomarar.F90:74
integer(kind=jpim) mpsurf
Definition: yomarar.F90:54
integer(kind=jpim) msnow
Definition: yomarar.F90:36
logical losubg_aucv
Definition: yomarar.F90:62
integer(kind=jpim), dimension(:), allocatable njbudg2
Definition: yomarar.F90:94
integer(kind=jpim) malbsca
Definition: yomarar.F90:34
integer(kind=jpim) mtm
Definition: yomarar.F90:51
integer, parameter jpim
Definition: parkind1.F90:13
integer(kind=jpim) minprs
Definition: yomarar.F90:29
integer(kind=jpim) macprg
Definition: yomarar.F90:32
integer(kind=jpim), parameter jparobud
Definition: yomarar.F90:97
integer(kind=jpim), dimension(:), allocatable njbudg1
Definition: yomarar.F90:93
integer(kind=jpim) mpabsm
Definition: yomarar.F90:53
integer(kind=jpim) mvm
Definition: yomarar.F90:50
integer(kind=jpim) mvts
Definition: yomarar.F90:40
logical losigmas
Definition: yomarar.F90:64
integer(kind=jpim) macprs
Definition: yomarar.F90:30
integer(kind=jpim) nrefroi2
Definition: yomarar.F90:69