14 #include "inc_openmp.h" 38 DENS, MOMZ, MOMX, MOMY, RHOT, PROG, & ! (inout)
40 dens_t, momz_t, momx_t, momy_t, rhot_t, &
41 rtot, cvtot, corioli, &
42 num_diff, divdmp_coef, ddiv, &
43 flag_fct_momentum, flag_fct_t, &
44 flag_fct_along_stream, &
46 rcdz, rcdx, rcdy, rfdz, rfdx, rfdy, &
47 phi, gsqrt, j13g, j23g, j33g, mapf, &
49 bnd_w, bnd_e, bnd_s, bnd_n, &
54 real(RP),
intent(inout) :: dens(
ka,
ia,
ja)
55 real(RP),
intent(inout) :: momz(
ka,
ia,
ja)
56 real(RP),
intent(inout) :: momx(
ka,
ia,
ja)
57 real(RP),
intent(inout) :: momy(
ka,
ia,
ja)
58 real(RP),
intent(inout) :: rhot(
ka,
ia,
ja)
59 real(RP),
intent(inout) :: prog(
ka,
ia,
ja,
va)
61 real(RP),
intent(inout) :: mflx_hi(
ka,
ia,
ja,3)
62 real(RP),
intent(inout) :: tflx_hi(
ka,
ia,
ja,3)
64 real(RP),
intent(in) :: dens_t(
ka,
ia,
ja)
65 real(RP),
intent(in) :: momz_t(
ka,
ia,
ja)
66 real(RP),
intent(in) :: momx_t(
ka,
ia,
ja)
67 real(RP),
intent(in) :: momy_t(
ka,
ia,
ja)
68 real(RP),
intent(in) :: rhot_t(
ka,
ia,
ja)
70 real(RP),
intent(in) :: rtot(
ka,
ia,
ja)
71 real(RP),
intent(in) :: cvtot(
ka,
ia,
ja)
72 real(RP),
intent(in) :: corioli(
ia,
ja)
74 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja,5,3)
75 real(RP),
intent(in) :: divdmp_coef
76 real(RP),
intent(in) :: ddiv(
ka,
ia,
ja)
78 logical,
intent(in) :: flag_fct_momentum
79 logical,
intent(in) :: flag_fct_t
80 logical,
intent(in) :: flag_fct_along_stream
82 real(RP),
intent(in) :: cdz (
ka)
83 real(RP),
intent(in) :: fdz (
ka-1)
84 real(RP),
intent(in) :: fdx (
ia-1)
85 real(RP),
intent(in) :: fdy (
ja-1)
86 real(RP),
intent(in) :: rcdz(
ka)
87 real(RP),
intent(in) :: rcdx(
ia)
88 real(RP),
intent(in) :: rcdy(
ja)
89 real(RP),
intent(in) :: rfdz(
ka-1)
90 real(RP),
intent(in) :: rfdx(
ia-1)
91 real(RP),
intent(in) :: rfdy(
ja-1)
93 real(RP),
intent(in) :: phi (
ka,
ia,
ja)
94 real(RP),
intent(in) :: gsqrt(
ka,
ia,
ja,7)
95 real(RP),
intent(in) :: j13g (
ka,
ia,
ja,7)
96 real(RP),
intent(in) :: j23g (
ka,
ia,
ja,7)
97 real(RP),
intent(in) :: j33g
98 real(RP),
intent(in) :: mapf (
ia,
ja,2,4)
100 real(RP),
intent(in) :: ref_pres(
ka,
ia,
ja)
101 real(RP),
intent(in) :: ref_dens(
ka,
ia,
ja)
103 logical,
intent(in) :: bnd_w
104 logical,
intent(in) :: bnd_e
105 logical,
intent(in) :: bnd_s
106 logical,
intent(in) :: bnd_n
108 real(RP),
intent(in) :: dt
131 ATMOS_DYN_Tinteg_short_TYPE )
138 #define EXTM(pre, name, post) pre ## name ## post 139 #define NAME(pre, name, post) EXTM(pre, name, post) 141 use name(scale_atmos_dyn_tinteg_short_, tinteg_short,)
, only: &
142 name(atmos_dyn_rk_tinteg_short_, tinteg_short, _setup), &
143 name(atmos_dyn_rk_tinteg_short_, tinteg_short,)
153 character(len=*),
intent(in) :: ATMOS_DYN_Tinteg_short_TYPE
157 name(atmos_dyn_tinteg_short_, tinteg_short, _setup)( &
158 atmos_dyn_tinteg_short_type )
161 select case ( atmos_dyn_tinteg_short_type )
162 case (
'RK3',
'RK3WS2002' )
164 atmos_dyn_tinteg_short_type )
168 atmos_dyn_tinteg_short_type )
170 case (
'OFF',
'NONE' )
173 write(*,*)
'xxx ATMOS_DYN_TINTEG_SHORT_TYPE is invalid: ', atmos_dyn_tinteg_short_type
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, Rtot, CVtot, CORIOLI, num_diff, 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, dt)
RK3.
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_dyn_tinteg_short_rk4_setup(tinteg_type)
Setup.
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, Rtot, CVtot, CORIOLI, num_diff, 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, dt)
RK3.
module Atmosphere / Dynamics Temporal integration
integer, public ia
of x whole cells (local, with HALO)
integer, public ka
of z whole cells (local, with HALO)
module Atmosphere / Dyn Tinteg
subroutine, public atmos_dyn_tinteg_short_rk3_setup(tinteg_type)
Setup.
subroutine, public atmos_dyn_tinteg_short_setup(ATMOS_DYN_Tinteg_short_TYPE)
Register.
procedure(short), pointer, public atmos_dyn_tinteg_short
module Atmosphere / Dyn Tinteg
integer, public ja
of y whole cells (local, with HALO)