14 #include "inc_openmp.h" 38 DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, &
39 DENS_av, MOMZ_av, MOMX_av, MOMY_av, RHOT_av, QTRC_av, &
41 num_diff, num_diff_q, &
43 DENS_tp, MOMZ_tp, MOMX_tp, MOMY_tp, RHOT_tp, RHOQ_tp, &
45 CDZ, CDX, CDY, FDZ, FDX, FDY, &
46 RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, &
48 J13G, J23G, J33G, MAPF, &
49 AQ_R, AQ_CV, AQ_CP, AQ_MASS, &
50 REF_dens, REF_pott, REF_qv, REF_pres, &
51 BND_W, BND_E, BND_S, BND_N, & ! (in)
52 nd_coef, nd_coef_q, nd_order, nd_sfc_fact, nd_use_rs, &
53 damp_dens, damp_velz, damp_velx, &
54 damp_vely, damp_pott, damp_qtrc, &
55 damp_alpha_dens, damp_alpha_velz, damp_alpha_velx, &
56 damp_alpha_vely, damp_alpha_pott, damp_alpha_qtrc, &
59 flag_fct_momentum, flag_fct_t, flag_fct_tracer, &
60 flag_fct_along_stream, &
69 real(RP),
intent(inout) :: DENS(KA,IA,JA)
70 real(RP),
intent(inout) :: MOMZ(KA,IA,JA)
71 real(RP),
intent(inout) :: MOMX(KA,IA,JA)
72 real(RP),
intent(inout) :: MOMY(KA,IA,JA)
73 real(RP),
intent(inout) :: RHOT(KA,IA,JA)
74 real(RP),
intent(inout) :: QTRC(KA,IA,JA,QA)
75 real(RP),
intent(inout) :: PROG(KA,IA,JA,VA)
77 real(RP),
intent(inout) :: DENS_av(KA,IA,JA)
78 real(RP),
intent(inout) :: MOMZ_av(KA,IA,JA)
79 real(RP),
intent(inout) :: MOMX_av(KA,IA,JA)
80 real(RP),
intent(inout) :: MOMY_av(KA,IA,JA)
81 real(RP),
intent(inout) :: RHOT_av(KA,IA,JA)
82 real(RP),
intent(inout) :: QTRC_av(KA,IA,JA,QA)
84 real(RP),
intent(out) :: mflx_hi(KA,IA,JA,3)
85 real(RP),
intent(out) :: tflx_hi(KA,IA,JA,3)
87 real(RP),
intent(out) :: num_diff(KA,IA,JA,5,3)
88 real(RP),
intent(out) :: num_diff_q(KA,IA,JA,3)
90 real(RP),
intent(in) :: QTRC0(KA,IA,JA,QA)
92 real(RP),
intent(in) :: DENS_tp(KA,IA,JA)
93 real(RP),
intent(in) :: MOMZ_tp(KA,IA,JA)
94 real(RP),
intent(in) :: MOMX_tp(KA,IA,JA)
95 real(RP),
intent(in) :: MOMY_tp(KA,IA,JA)
96 real(RP),
intent(in) :: RHOT_tp(KA,IA,JA)
97 real(RP),
intent(in) :: RHOQ_tp(KA,IA,JA,QA)
99 real(RP),
intent(in) :: CORIOLI(IA,JA)
101 real(RP),
intent(in) :: CDZ (KA)
102 real(RP),
intent(in) :: CDX (IA)
103 real(RP),
intent(in) :: CDY (JA)
104 real(RP),
intent(in) :: FDZ (KA-1)
105 real(RP),
intent(in) :: FDX (IA-1)
106 real(RP),
intent(in) :: FDY (JA-1)
107 real(RP),
intent(in) :: RCDZ(KA)
108 real(RP),
intent(in) :: RCDX(IA)
109 real(RP),
intent(in) :: RCDY(JA)
110 real(RP),
intent(in) :: RFDZ(KA-1)
111 real(RP),
intent(in) :: RFDX(IA-1)
112 real(RP),
intent(in) :: RFDY(JA-1)
114 real(RP),
intent(in) :: PHI (KA,IA,JA)
115 real(RP),
intent(in) :: GSQRT(KA,IA,JA,7)
116 real(RP),
intent(in) :: J13G (KA,IA,JA,7)
117 real(RP),
intent(in) :: J23G (KA,IA,JA,7)
118 real(RP),
intent(in) :: J33G
119 real(RP),
intent(in) :: MAPF (IA,JA,2,4)
121 real(RP),
intent(in) :: AQ_R (QA)
122 real(RP),
intent(in) :: AQ_CV (QA)
123 real(RP),
intent(in) :: AQ_CP (QA)
124 real(RP),
intent(in) :: AQ_MASS(QA)
126 real(RP),
intent(in) :: REF_dens(KA,IA,JA)
127 real(RP),
intent(in) :: REF_pott(KA,IA,JA)
128 real(RP),
intent(in) :: REF_qv (KA,IA,JA)
129 real(RP),
intent(in) :: REF_pres(KA,IA,JA)
131 logical,
intent(in) :: BND_W
132 logical,
intent(in) :: BND_E
133 logical,
intent(in) :: BND_S
134 logical,
intent(in) :: BND_N
136 real(RP),
intent(in) :: ND_COEF
137 real(RP),
intent(in) :: ND_COEF_Q
138 integer,
intent(in) :: ND_ORDER
139 real(RP),
intent(in) :: ND_SFC_FACT
140 logical,
intent(in) :: ND_USE_RS
142 real(RP),
intent(in) :: DAMP_DENS(KA,IA,JA)
143 real(RP),
intent(in) :: DAMP_VELZ(KA,IA,JA)
144 real(RP),
intent(in) :: DAMP_VELX(KA,IA,JA)
145 real(RP),
intent(in) :: DAMP_VELY(KA,IA,JA)
146 real(RP),
intent(in) :: DAMP_POTT(KA,IA,JA)
147 real(RP),
intent(in) :: DAMP_QTRC(KA,IA,JA,BND_QA)
149 real(RP),
intent(in) :: DAMP_alpha_DENS(KA,IA,JA)
150 real(RP),
intent(in) :: DAMP_alpha_VELZ(KA,IA,JA)
151 real(RP),
intent(in) :: DAMP_alpha_VELX(KA,IA,JA)
152 real(RP),
intent(in) :: DAMP_alpha_VELY(KA,IA,JA)
153 real(RP),
intent(in) :: DAMP_alpha_POTT(KA,IA,JA)
154 real(RP),
intent(in) :: DAMP_alpha_QTRC(KA,IA,JA,BND_QA)
156 real(RP),
intent(in) :: wdamp_coef(KA)
157 real(RP),
intent(in) :: divdmp_coef
159 logical,
intent(in) :: FLAG_FCT_MOMENTUM
160 logical,
intent(in) :: FLAG_FCT_T
161 logical,
intent(in) :: FLAG_FCT_TRACER
162 logical,
intent(in) :: FLAG_FCT_ALONG_STREAM
164 logical,
intent(in) :: USE_AVERAGE
166 real(DP),
intent(in) :: DTL
167 real(DP),
intent(in) :: DTS
169 logical ,
intent(in) :: Llast
195 DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, &
206 character(len=*),
intent(in) :: tstep_large_type
207 real(RP),
intent(inout) :: dens(
ka,
ia,
ja)
208 real(RP),
intent(inout) :: momz(
ka,
ia,
ja)
209 real(RP),
intent(inout) :: momx(
ka,
ia,
ja)
210 real(RP),
intent(inout) :: momy(
ka,
ia,
ja)
211 real(RP),
intent(inout) :: rhot(
ka,
ia,
ja)
212 real(RP),
intent(inout) :: qtrc(
ka,
ia,
ja,
qa)
213 real(RP),
intent(inout) :: prog(
ka,
ia,
ja,
va)
214 real(RP),
intent(inout) :: mflx_hi(
ka,
ia,
ja,3)
218 select case( tstep_large_type )
221 dens, momz, momx, momy, rhot, qtrc, prog, &
225 write(*,*)
'xxx ATMOS_DYN_Tstep_large_type is invalid: ', tstep_large_type
subroutine, public atmos_dyn_tstep_large_fvm_heve_setup(DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, mflx_hi)
Setup.
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_dyn_tstep_large_fvm_heve(DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, DENS_av, MOMZ_av, MOMX_av, MOMY_av, RHOT_av, QTRC_av, mflx_hi, tflx_hi, num_diff, num_diff_q, QTRC0, DENS_tp, MOMZ_tp, MOMX_tp, MOMY_tp, RHOT_tp, RHOQ_tp, CORIOLI, CDZ, CDX, CDY, FDZ, FDX, FDY, RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, PHI, GSQRT, J13G, J23G, J33G, MAPF, AQ_R, AQ_CV, AQ_CP, AQ_MASS, REF_dens, REF_pott, REF_qv, REF_pres, BND_W, BND_E, BND_S, BND_N, ND_COEF, ND_COEF_Q, ND_ORDER, ND_SFC_FACT, ND_USE_RS, DAMP_DENS, DAMP_VELZ, DAMP_VELX, DAMP_VELY, DAMP_POTT, DAMP_QTRC, DAMP_alpha_DENS, DAMP_alpha_VELZ, DAMP_alpha_VELX, DAMP_alpha_VELY, DAMP_alpha_POTT, DAMP_alpha_QTRC, wdamp_coef, divdmp_coef, FLAG_FCT_MOMENTUM, FLAG_FCT_T, FLAG_FCT_TRACER, FLAG_FCT_ALONG_STREAM, USE_AVERAGE, DTLS, DTSS, Llast)
Dynamical Process.
module Atmosphere / Dynamical scheme
integer, public ia
of whole cells: x, local, with HALO
integer, public ka
of whole cells: z, local, with HALO
subroutine, public atmos_dyn_tstep_large_setup(Tstep_large_type, DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, mflx_hi)
Register.
module ATMOSPHERE / Boundary treatment
procedure(large), pointer, public atmos_dyn_tstep_large
module Atmosphere / Dynamics
integer, public ja
of whole cells: y, local, with HALO