14 #include "inc_openmp.h" 37 DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, &
38 DENS_av, MOMZ_av, MOMX_av, MOMY_av, RHOT_av, QTRC_av, &
40 num_diff, num_diff_q, &
41 DENS_tp, MOMZ_tp, MOMX_tp, MOMY_tp, RHOT_tp, RHOQ_tp, &
43 CDZ, CDX, CDY, FDZ, FDX, FDY, &
44 RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, &
46 J13G, J23G, J33G, MAPF, &
47 AQ_R, AQ_CV, AQ_CP, AQ_MASS, &
48 REF_dens, REF_pott, REF_qv, REF_pres, &
49 BND_W, BND_E, BND_S, BND_N, &
50 ND_COEF, ND_COEF_Q, ND_ORDER, ND_SFC_FACT, ND_USE_RS, &
51 DAMP_DENS, DAMP_VELZ, DAMP_VELX, &
52 DAMP_VELY, DAMP_POTT, DAMP_QTRC, &
53 DAMP_alpha_DENS, DAMP_alpha_VELZ, DAMP_alpha_VELX, &
54 DAMP_alpha_VELY, DAMP_alpha_POTT, DAMP_alpha_QTRC, &
57 FLAG_FCT_MOMENTUM, FLAG_FCT_T, FLAG_FCT_TRACER, &
58 FLAG_FCT_ALONG_STREAM, &
67 real(RP),
intent(inout) :: DENS(KA,IA,JA)
68 real(RP),
intent(inout) :: MOMZ(KA,IA,JA)
69 real(RP),
intent(inout) :: MOMX(KA,IA,JA)
70 real(RP),
intent(inout) :: MOMY(KA,IA,JA)
71 real(RP),
intent(inout) :: RHOT(KA,IA,JA)
72 real(RP),
intent(inout) :: QTRC(KA,IA,JA,QA)
73 real(RP),
intent(inout) :: PROG(KA,IA,JA,VA)
75 real(RP),
intent(inout) :: DENS_av(KA,IA,JA)
76 real(RP),
intent(inout) :: MOMZ_av(KA,IA,JA)
77 real(RP),
intent(inout) :: MOMX_av(KA,IA,JA)
78 real(RP),
intent(inout) :: MOMY_av(KA,IA,JA)
79 real(RP),
intent(inout) :: RHOT_av(KA,IA,JA)
80 real(RP),
intent(inout) :: QTRC_av(KA,IA,JA,QA)
82 real(RP),
intent(out) :: mflx_hi(KA,IA,JA,3)
83 real(RP),
intent(out) :: tflx_hi(KA,IA,JA,3)
84 real(RP),
intent(out) :: num_diff(KA,IA,JA,5,3)
85 real(RP),
intent(out) :: num_diff_q(KA,IA,JA,3)
87 real(RP),
intent(in) :: DENS_tp(KA,IA,JA)
88 real(RP),
intent(in) :: MOMZ_tp(KA,IA,JA)
89 real(RP),
intent(in) :: MOMX_tp(KA,IA,JA)
90 real(RP),
intent(in) :: MOMY_tp(KA,IA,JA)
91 real(RP),
intent(in) :: RHOT_tp(KA,IA,JA)
92 real(RP),
intent(in) :: RHOQ_tp(KA,IA,JA,QA)
94 real(RP),
intent(in) :: CORIOLI(IA,JA)
96 real(RP),
intent(in) :: CDZ (KA)
97 real(RP),
intent(in) :: CDX (IA)
98 real(RP),
intent(in) :: CDY (JA)
99 real(RP),
intent(in) :: FDZ (KA-1)
100 real(RP),
intent(in) :: FDX (IA-1)
101 real(RP),
intent(in) :: FDY (JA-1)
102 real(RP),
intent(in) :: RCDZ(KA)
103 real(RP),
intent(in) :: RCDX(IA)
104 real(RP),
intent(in) :: RCDY(JA)
105 real(RP),
intent(in) :: RFDZ(KA-1)
106 real(RP),
intent(in) :: RFDX(IA-1)
107 real(RP),
intent(in) :: RFDY(JA-1)
109 real(RP),
intent(in) :: PHI (KA,IA,JA)
110 real(RP),
intent(in) :: GSQRT(KA,IA,JA,7)
111 real(RP),
intent(in) :: J13G (KA,IA,JA,7)
112 real(RP),
intent(in) :: J23G (KA,IA,JA,7)
113 real(RP),
intent(in) :: J33G
114 real(RP),
intent(in) :: MAPF (IA,JA,2,4)
116 real(RP),
intent(in) :: AQ_R (QA)
117 real(RP),
intent(in) :: AQ_CV (QA)
118 real(RP),
intent(in) :: AQ_CP (QA)
119 real(RP),
intent(in) :: AQ_MASS(QA)
121 real(RP),
intent(in) :: REF_dens(KA,IA,JA)
122 real(RP),
intent(in) :: REF_pott(KA,IA,JA)
123 real(RP),
intent(in) :: REF_qv (KA,IA,JA)
124 real(RP),
intent(in) :: REF_pres(KA,IA,JA)
126 logical,
intent(in) :: BND_W
127 logical,
intent(in) :: BND_E
128 logical,
intent(in) :: BND_S
129 logical,
intent(in) :: BND_N
131 real(RP),
intent(in) :: ND_COEF
132 real(RP),
intent(in) :: ND_COEF_Q
133 integer,
intent(in) :: ND_ORDER
134 real(RP),
intent(in) :: ND_SFC_FACT
135 logical,
intent(in) :: ND_USE_RS
137 real(RP),
intent(in) :: DAMP_DENS(KA,IA,JA)
138 real(RP),
intent(in) :: DAMP_VELZ(KA,IA,JA)
139 real(RP),
intent(in) :: DAMP_VELX(KA,IA,JA)
140 real(RP),
intent(in) :: DAMP_VELY(KA,IA,JA)
141 real(RP),
intent(in) :: DAMP_POTT(KA,IA,JA)
142 real(RP),
intent(in) :: DAMP_QTRC(KA,IA,JA,BND_QA)
143 real(RP),
intent(in) :: DAMP_alpha_DENS(KA,IA,JA)
144 real(RP),
intent(in) :: DAMP_alpha_VELZ(KA,IA,JA)
145 real(RP),
intent(in) :: DAMP_alpha_VELX(KA,IA,JA)
146 real(RP),
intent(in) :: DAMP_alpha_VELY(KA,IA,JA)
147 real(RP),
intent(in) :: DAMP_alpha_POTT(KA,IA,JA)
148 real(RP),
intent(in) :: DAMP_alpha_QTRC(KA,IA,JA,BND_QA)
150 real(RP),
intent(in) :: wdamp_coef(KA)
151 real(RP),
intent(in) :: divdmp_coef
152 logical,
intent(in) :: FLAG_FCT_MOMENTUM
153 logical,
intent(in) :: FLAG_FCT_T
154 logical,
intent(in) :: FLAG_FCT_TRACER
155 logical,
intent(in) :: FLAG_FCT_ALONG_STREAM
156 logical,
intent(in) :: USE_AVERAGE
158 real(DP),
intent(in) :: DTL
159 real(DP),
intent(in) :: DTS
182 ATMOS_DYN_Tinteg_large_TYPE )
196 character(len=*),
intent(in) :: atmos_dyn_tinteg_large_type
199 select case( atmos_dyn_tinteg_large_type )
202 atmos_dyn_tinteg_large_type )
206 atmos_dyn_tinteg_large_type )
208 case(
'OFF',
'NONE' )
211 write(*,*)
'xxx ATMOS_DYN_TINTEG_LARGE_TYPE is invalid: ', atmos_dyn_tinteg_large_type
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_dyn_tinteg_large_setup(ATMOS_DYN_Tinteg_large_TYPE)
Register.
module Atmosphere / Dynamics Temporal integration
procedure(large), pointer, public atmos_dyn_tinteg_large
subroutine, public atmos_dyn_tinteg_large_euler(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, 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, DTL, DTS)
RK3.
module Atmosphere / Dyn Tinteg
subroutine, public atmos_dyn_tinteg_large_rk3_setup(tinteg_type)
Setup.
subroutine, public atmos_dyn_tinteg_large_euler_setup(tinteg_type)
Setup.
module Atmosphere / Dyn Tinteg
subroutine, public atmos_dyn_tinteg_large_rk3(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, 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, DTL, DTS)
RK3.
module ATMOSPHERE / Boundary treatment