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 |
---|