Go to the documentation of this file.
34 DENS, MOMZ, MOMX, MOMY, RHOT, PROG, & ! (inout)
36 dens_t, momz_t, momx_t, momy_t, rhot_t, &
37 dpres0, cvtot, corioli, &
38 num_diff, wdamp_coef, divdmp_coef, ddiv, &
39 flag_fct_momentum, flag_fct_t, &
40 flag_fct_along_stream, &
42 rcdz, rcdx, rcdy, rfdz, rfdx, rfdy, &
43 phi, gsqrt, j13g, j23g, j33g, mapf, &
45 bnd_w, bnd_e, bnd_s, bnd_n, twod, &
50 real(RP),
intent(inout) :: DENS(KA,IA,JA)
51 real(RP),
intent(inout) :: MOMZ(KA,IA,JA)
52 real(RP),
intent(inout) :: MOMX(KA,IA,JA)
53 real(RP),
intent(inout) :: MOMY(KA,IA,JA)
54 real(RP),
intent(inout) :: RHOT(KA,IA,JA)
55 real(RP),
intent(inout) :: PROG(KA,IA,JA,VA)
57 real(RP),
intent(inout) :: mflx_hi(KA,IA,JA,3)
58 real(RP),
intent(out) :: tflx_hi(KA,IA,JA,3)
60 real(RP),
intent(in) :: DENS_t(KA,IA,JA)
61 real(RP),
intent(in) :: MOMZ_t(KA,IA,JA)
62 real(RP),
intent(in) :: MOMX_t(KA,IA,JA)
63 real(RP),
intent(in) :: MOMY_t(KA,IA,JA)
64 real(RP),
intent(in) :: RHOT_t(KA,IA,JA)
66 real(RP),
intent(in) :: DPRES0(KA,IA,JA)
67 real(RP),
intent(in) :: CVtot(KA,IA,JA)
68 real(RP),
intent(in) :: CORIOLI(IA,JA)
70 real(RP),
intent(in) :: num_diff(KA,IA,JA,5,3)
71 real(RP),
intent(in) :: wdamp_coef(KA)
72 real(RP),
intent(in) :: divdmp_coef
73 real(RP),
intent(in) :: DDIV(KA,IA,JA)
75 logical,
intent(in) :: FLAG_FCT_MOMENTUM
76 logical,
intent(in) :: FLAG_FCT_T
77 logical,
intent(in) :: FLAG_FCT_ALONG_STREAM
79 real(RP),
intent(in) :: CDZ (KA)
80 real(RP),
intent(in) :: FDZ (KA-1)
81 real(RP),
intent(in) :: FDX (IA-1)
82 real(RP),
intent(in) :: FDY (JA-1)
83 real(RP),
intent(in) :: RCDZ(KA)
84 real(RP),
intent(in) :: RCDX(IA)
85 real(RP),
intent(in) :: RCDY(JA)
86 real(RP),
intent(in) :: RFDZ(KA-1)
87 real(RP),
intent(in) :: RFDX(IA-1)
88 real(RP),
intent(in) :: RFDY(JA-1)
90 real(RP),
intent(in) :: PHI (KA,IA,JA)
91 real(RP),
intent(in) :: GSQRT(KA,IA,JA,7)
92 real(RP),
intent(in) :: J13G (KA,IA,JA,7)
93 real(RP),
intent(in) :: J23G (KA,IA,JA,7)
94 real(RP),
intent(in) :: J33G
95 real(RP),
intent(in) :: MAPF (IA,JA,2,4)
97 real(RP),
intent(in) :: REF_pres(KA,IA,JA)
98 real(RP),
intent(in) :: REF_dens(KA,IA,JA)
100 logical,
intent(in) :: BND_W
101 logical,
intent(in) :: BND_E
102 logical,
intent(in) :: BND_S
103 logical,
intent(in) :: BND_N
104 logical,
intent(in) :: TwoD
106 real(RP),
intent(in) :: dt
129 ATMOS_DYN_Tinteg_short_TYPE, ATMOS_DYN_Tstep_short_TYPE )
150 character(len=*),
intent(in) :: atmos_dyn_tinteg_short_type
151 character(len=*),
intent(in) :: atmos_dyn_tstep_short_type
154 select case( atmos_dyn_tinteg_short_type )
155 case(
'RK3',
'RK3WS2002' )
157 atmos_dyn_tinteg_short_type )
161 atmos_dyn_tinteg_short_type )
163 case(
'RK7s6o',
'RK7s6oLawson1967',
'RK7s6oButcher1964' )
164 if ( .not. (atmos_dyn_tstep_short_type ==
'HEVE' .or. atmos_dyn_tstep_short_type ==
'FVM-HEVE') )
then
165 log_error(
"ATMOS_DYN_Tinteg_short_setup",*)
"ATMOS_DYN_TINTEG_SHORT_TYPE is now supported only for 'HEVE',", atmos_dyn_tinteg_short_type
168 atmos_dyn_tinteg_short_type )
170 case(
'RK11s8o',
'RK11s8oCooperVerner1972' )
171 if ( .not. (atmos_dyn_tstep_short_type ==
'HEVE' .or. atmos_dyn_tstep_short_type ==
'FVM-HEVE') )
then
172 log_error(
"ATMOS_DYN_Tinteg_short_setup",*)
"ATMOS_DYN_TINTEG_SHORT_TYPE is now supported only for 'HEVE',", atmos_dyn_tinteg_short_type
175 atmos_dyn_tinteg_short_type )
177 case(
'OFF',
'NONE' )
180 log_error(
"ATMOS_DYN_Tinteg_short_setup",*)
'ATMOS_DYN_TINTEG_SHORT_TYPE is invalid: ', atmos_dyn_tinteg_short_type
subroutine, public prc_abort
Abort Process.
subroutine, public atmos_dyn_tinteg_short_rk11s8o_setup(tinteg_type)
Setup.
subroutine, public atmos_dyn_tinteg_short_rk4(DENS, MOMZ, MOMX, MOMY, RHOT, PROG, mflx_hi, tflx_hi, DENS_t, MOMZ_t, MOMX_t, MOMY_t, RHOT_t, DPRES0, CVtot, CORIOLI, num_diff, wdamp_coef, divdmp_coef, DDIV, FLAG_FCT_MOMENTUM, FLAG_FCT_T, FLAG_FCT_ALONG_STREAM, CDZ, FDZ, FDX, FDY, RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, PHI, GSQRT, J13G, J23G, J33G, MAPF, REF_pres, REF_dens, BND_W, BND_E, BND_S, BND_N, TwoD, dt)
RK3.
subroutine, public atmos_dyn_tinteg_short_setup(ATMOS_DYN_Tinteg_short_TYPE, ATMOS_DYN_Tstep_short_TYPE)
Register.
module Atmosphere / Dynamics Temporal integration
subroutine, public atmos_dyn_tinteg_short_rk4_setup(tinteg_type)
Setup.
module Atmosphere / Dyn Tinteg
module atmosphere / grid / cartesC index
subroutine, public atmos_dyn_tinteg_short_rk3(DENS, MOMZ, MOMX, MOMY, RHOT, PROG, mflx_hi, tflx_hi, DENS_t, MOMZ_t, MOMX_t, MOMY_t, RHOT_t, DPRES0, CVtot, CORIOLI, num_diff, wdamp_coef, divdmp_coef, DDIV, FLAG_FCT_MOMENTUM, FLAG_FCT_T, FLAG_FCT_ALONG_STREAM, CDZ, FDZ, FDX, FDY, RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, PHI, GSQRT, J13G, J23G, J33G, MAPF, REF_pres, REF_dens, BND_W, BND_E, BND_S, BND_N, TwoD, dt)
RK3.
procedure(short), pointer, public atmos_dyn_tinteg_short
module Atmosphere / Dyn Tinteg
module Atmosphere / Dyn Tinteg
subroutine, public atmos_dyn_tinteg_short_rk3_setup(tinteg_type)
Setup.
subroutine, public atmos_dyn_tinteg_short_rk11s8o(DENS, MOMZ, MOMX, MOMY, RHOT, PROG, mflx_hi, tflx_hi, DENS_t, MOMZ_t, MOMX_t, MOMY_t, RHOT_t, DPRES0, CVtot, CORIOLI, num_diff, wdamp_coef, divdmp_coef, DDIV, FLAG_FCT_MOMENTUM, FLAG_FCT_T, FLAG_FCT_ALONG_STREAM, CDZ, FDZ, FDX, FDY, RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, PHI, GSQRT, J13G, J23G, J33G, MAPF, REF_pres, REF_dens, BND_W, BND_E, BND_S, BND_N, TwoD, dt)
RK7s6o.
module Atmosphere / Dyn Tinteg
subroutine, public atmos_dyn_tinteg_short_rk7s6o(DENS, MOMZ, MOMX, MOMY, RHOT, PROG, mflx_hi, tflx_hi, DENS_t, MOMZ_t, MOMX_t, MOMY_t, RHOT_t, DPRES0, CVtot, CORIOLI, num_diff, wdamp_coef, divdmp_coef, DDIV, FLAG_FCT_MOMENTUM, FLAG_FCT_T, FLAG_FCT_ALONG_STREAM, CDZ, FDZ, FDX, FDY, RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, PHI, GSQRT, J13G, J23G, J33G, MAPF, REF_pres, REF_dens, BND_W, BND_E, BND_S, BND_N, TwoD, dt)
RK7s6o.
subroutine, public atmos_dyn_tinteg_short_rk7s6o_setup(tinteg_type)
Setup.