1 | MODULE YOM_YGFL |
---|
2 | |
---|
3 | USE PARKIND1 ,ONLY : JPIM ,JPRB |
---|
4 | |
---|
5 | USE TYPE_GFLS ,ONLY : TYPE_GFLD,TYPE_GFL_COMP,TYPE_GFL_NAML |
---|
6 | |
---|
7 | IMPLICIT NONE |
---|
8 | SAVE |
---|
9 | |
---|
10 | !------------------------------------------------------------------------- |
---|
11 | ! Contains the descriptors of GFL arrays |
---|
12 | |
---|
13 | ! YGFL : GFL general descriptor, for info about content see comments |
---|
14 | ! in type declaration module : type_gfls.F90 |
---|
15 | |
---|
16 | ! JPGFL : Max number of GFL fields |
---|
17 | ! JPNAMED_GFL : Number of currently pre-defined components of GFL |
---|
18 | ! JPGHG : Number of greenhouse gas fields |
---|
19 | ! JPGRG : Number of reactive gas fields |
---|
20 | ! JPAERO : Number of aerosol fields |
---|
21 | ! JPTRAC : Number of tracers for diagnostics |
---|
22 | !------------------------------------------------------------------------- |
---|
23 | |
---|
24 | INTEGER(KIND=JPIM),PARAMETER :: JPGFL=211 |
---|
25 | INTEGER(KIND=JPIM),PARAMETER :: JPNAMED_GFL=22 |
---|
26 | INTEGER(KIND=JPIM),PARAMETER :: JPGHG=3 |
---|
27 | INTEGER(KIND=JPIM),PARAMETER :: JPTRAC=2 |
---|
28 | INTEGER(KIND=JPIM),PARAMETER :: JPGRG=5 |
---|
29 | INTEGER(KIND=JPIM),PARAMETER :: JPAERO=7 |
---|
30 | INTEGER(KIND=JPIM),PARAMETER :: JPFORC=25 |
---|
31 | INTEGER(KIND=JPIM),PARAMETER :: JPEZDIAG=25 |
---|
32 | INTEGER(KIND=JPIM) :: NGFL_EXT |
---|
33 | INTEGER(KIND=JPIM) :: NGFL_FORC |
---|
34 | INTEGER(KIND=JPIM) :: NGFL_EZDIAG |
---|
35 | INTEGER(KIND=JPIM) :: NGHG |
---|
36 | INTEGER(KIND=JPIM) :: NTRAC |
---|
37 | INTEGER(KIND=JPIM) :: NGRG |
---|
38 | INTEGER(KIND=JPIM) :: NAERO |
---|
39 | INTEGER(KIND=JPIM) :: NACTAERO |
---|
40 | LOGICAL :: LGHGSFC, LAEROSFC , LSF6SFC |
---|
41 | TYPE(TYPE_GFLD) :: YGFL |
---|
42 | TYPE(TYPE_GFL_COMP),TARGET :: YGFLC(JPGFL) ! General descriptor of all components |
---|
43 | |
---|
44 | TYPE(TYPE_GFL_COMP),POINTER :: YQ ! Specific humidity |
---|
45 | TYPE(TYPE_GFL_COMP),POINTER :: YI ! Ice water |
---|
46 | TYPE(TYPE_GFL_COMP),POINTER :: YL ! Liquid water |
---|
47 | TYPE(TYPE_GFL_COMP),POINTER :: YS ! Snow |
---|
48 | TYPE(TYPE_GFL_COMP),POINTER :: YR ! Rain |
---|
49 | TYPE(TYPE_GFL_COMP),POINTER :: YG ! Graupels |
---|
50 | TYPE(TYPE_GFL_COMP),POINTER :: YTKE ! Turbulent Kinetic Energy |
---|
51 | TYPE(TYPE_GFL_COMP),POINTER :: YA ! Cloud fraction |
---|
52 | TYPE(TYPE_GFL_COMP),POINTER :: YO3 ! Ozone |
---|
53 | TYPE(TYPE_GFL_COMP),POINTER :: YSRC ! Second-order flux for AROME |
---|
54 | ! s'rc'/2Sigma_s2 |
---|
55 | ! multiplied by Lambda_3 |
---|
56 | TYPE(TYPE_GFL_COMP),POINTER :: YCPF ! Convective precipitation flux |
---|
57 | TYPE(TYPE_GFL_COMP),POINTER :: YSPF ! Stratiform precipitation flux |
---|
58 | TYPE(TYPE_GFL_COMP),POINTER :: YCVGQ ! Moisture Convergence for french physics |
---|
59 | TYPE(TYPE_GFL_COMP),POINTER :: YQVA ! total humidity variation |
---|
60 | TYPE(TYPE_GFL_COMP),POINTER :: YGHG(:) ! Greenhouse Gases |
---|
61 | TYPE(TYPE_GFL_COMP),POINTER :: YGRG(:) ! Reactive Gases |
---|
62 | TYPE(TYPE_GFL_COMP),POINTER :: YAERO(:) ! Aerosols |
---|
63 | TYPE(TYPE_GFL_COMP),POINTER :: YTRAC(:) ! tracers for diagnostics |
---|
64 | TYPE(TYPE_GFL_COMP),POINTER :: YFORC(:) ! large scale forcing |
---|
65 | TYPE(TYPE_GFL_COMP),POINTER :: YEZDIAG(:) ! easy diagnostics |
---|
66 | |
---|
67 | TYPE(TYPE_GFL_COMP),POINTER :: YSDSAT ! Standard Deviation of the |
---|
68 | ! SATuration Depression (Sigma_s) |
---|
69 | TYPE(TYPE_GFL_COMP),POINTER :: YCVV ! Convective Vertical Velocity |
---|
70 | |
---|
71 | ! Prognostic convection variables: add 6 named components |
---|
72 | TYPE(TYPE_GFL_COMP),POINTER :: YUOM ! Updraught vert velocity |
---|
73 | TYPE(TYPE_GFL_COMP),POINTER :: YUAL ! Updraught mesh fraction |
---|
74 | TYPE(TYPE_GFL_COMP),POINTER :: YDOM ! Downdraught vert velocity |
---|
75 | TYPE(TYPE_GFL_COMP),POINTER :: YDAL ! Downdraught mesh fraction |
---|
76 | TYPE(TYPE_GFL_COMP),POINTER :: YUEN ! Updraught entrainment |
---|
77 | TYPE(TYPE_GFL_COMP),POINTER :: YUNEBH ! pseudo-historic convective |
---|
78 | |
---|
79 | ! Extra fields |
---|
80 | |
---|
81 | TYPE(TYPE_GFL_COMP),POINTER :: YEXT(:) ! Extra fields |
---|
82 | |
---|
83 | TYPE(TYPE_GFL_NAML) :: YQ_NL ! Specific humidity |
---|
84 | TYPE(TYPE_GFL_NAML) :: YI_NL ! Ice water |
---|
85 | TYPE(TYPE_GFL_NAML) :: YL_NL ! Liquid water |
---|
86 | TYPE(TYPE_GFL_NAML) :: YS_NL ! Snow |
---|
87 | TYPE(TYPE_GFL_NAML) :: YR_NL ! Rain |
---|
88 | TYPE(TYPE_GFL_NAML) :: YG_NL ! Graupels |
---|
89 | TYPE(TYPE_GFL_NAML) :: YTKE_NL ! Turbulent Kinetic Energy |
---|
90 | TYPE(TYPE_GFL_NAML) :: YA_NL ! Cloud fraction |
---|
91 | TYPE(TYPE_GFL_NAML) :: YO3_NL ! Ozone |
---|
92 | TYPE(TYPE_GFL_NAML) :: YSRC_NL ! Second-order flux for AROME |
---|
93 | ! s'rc'/2Sigma_s2 |
---|
94 | ! multiplied by Lambda_3 |
---|
95 | TYPE(TYPE_GFL_NAML) :: YCPF_NL ! Convective precipitation flux |
---|
96 | TYPE(TYPE_GFL_NAML) :: YSPF_NL ! Stratiform precipitation flux |
---|
97 | TYPE(TYPE_GFL_NAML) :: YCVGQ_NL ! Moisture Convergence for french physics |
---|
98 | TYPE(TYPE_GFL_NAML) :: YQVA_NL ! Total humidity variation |
---|
99 | |
---|
100 | TYPE(TYPE_GFL_NAML) :: YGHG_NL(JPGHG) ! Greenhouse Gases |
---|
101 | TYPE(TYPE_GFL_NAML) :: YGRG_NL(JPGRG) ! Reactive Gases |
---|
102 | TYPE(TYPE_GFL_NAML) :: YAERO_NL(JPAERO) ! Aerosol fields |
---|
103 | TYPE(TYPE_GFL_NAML) :: YTRAC_NL(JPTRAC) ! Tracers for diagnostics |
---|
104 | |
---|
105 | ! Extra fields |
---|
106 | |
---|
107 | TYPE(TYPE_GFL_NAML) :: YSDSAT_NL ! Standard Deviation of the |
---|
108 | ! SATuration Depression (Sigma_s) |
---|
109 | TYPE(TYPE_GFL_NAML) :: YCVV_NL ! Convective Vertical Velocity |
---|
110 | TYPE(TYPE_GFL_NAML) :: YFORC_NL(JPFORC) ! Forcing precursor |
---|
111 | TYPE(TYPE_GFL_NAML) :: YEZDIAG_NL(JPEZDIAG) ! Easy diagnostics |
---|
112 | TYPE(TYPE_GFL_NAML) :: YEXT_NL(JPGFL-JPNAMED_GFL-JPGHG-JPGRG-JPFORC-JPEZDIAG-JPAERO-JPTRAC) ! Extra fields |
---|
113 | |
---|
114 | ! Prognostic convection variables: 6 more namelist components |
---|
115 | TYPE(TYPE_GFL_NAML) :: YUOM_NL ! Updraught vert velocity |
---|
116 | TYPE(TYPE_GFL_NAML) :: YUAL_NL ! Updraught mesh fraction |
---|
117 | TYPE(TYPE_GFL_NAML) :: YDOM_NL ! Downdraught vert velocity |
---|
118 | TYPE(TYPE_GFL_NAML) :: YDAL_NL ! Downdraught mesh fraction |
---|
119 | TYPE(TYPE_GFL_NAML) :: YUEN_NL ! Updraught entrainment |
---|
120 | TYPE(TYPE_GFL_NAML) :: YUNEBH_NL ! Pseudi Hist Conv cloud fraction |
---|
121 | |
---|
122 | !------------------------------------------------------------------ |
---|
123 | !$OMP THREADPRIVATE(laerosfc,lghgsfc,lsf6sfc,nactaero,naero,ngfl_ext,ngfl_ezdiag,ngfl_forc,nghg,ngrg) |
---|
124 | !$OMP THREADPRIVATE(ntrac,ya,ya_nl,yaero,yaero_nl,ycpf,ycpf_nl,ycvgq,ycvgq_nl,ycvv,ycvv_nl,ydal,ydal_nl) |
---|
125 | !$OMP THREADPRIVATE(ydom,ydom_nl,yext,yext_nl,yezdiag,yezdiag_nl,yforc,yforc_nl,yg,yg_nl,ygfl,ygflc,yghg) |
---|
126 | !$OMP THREADPRIVATE(yghg_nl,ygrg,ygrg_nl,yi,yi_nl,yl,yl_nl,yo3,yo3_nl,yq,yq_nl,yqva,yqva_nl,yr,yr_nl,ys) |
---|
127 | !$OMP THREADPRIVATE(ys_nl,ysdsat,ysdsat_nl,yspf,yspf_nl,ysrc,ysrc_nl,ytke,ytke_nl,ytrac,ytrac_nl,yual) |
---|
128 | !$OMP THREADPRIVATE(yual_nl,yuen,yuen_nl,yunebh,yunebh_nl,yuom,yuom_nl) |
---|
129 | END MODULE YOM_YGFL |
---|