15 #include "inc_openmp.h" 57 real(RP),
allocatable :: qtrc_rk1(:,:,:)
58 real(RP),
allocatable :: qtrc_rk2(:,:,:)
59 integer :: i_comm_rk1 = 1
60 integer :: i_comm_rk2 = 1
76 character(len=*) :: tinteg_type
81 if ( tinteg_type /=
'RK3WS2002' )
then 82 write(*,*)
'xxx TINTEG_LARGE_TYPE is not RK3WS2002. Check!' 86 allocate( qtrc_rk1(
ka,
ia,
ja) )
87 allocate( qtrc_rk2(
ka,
ia,
ja) )
103 cdz, rcdz, rcdx, rcdy, &
106 flag_fct_along_stream )
113 real(RP),
intent(inout) :: QTRC (
ka,
ia,
ja)
114 real(RP),
intent(in) :: QTRC0 (
ka,
ia,
ja)
115 real(RP),
intent(in) :: RHOQ_t (
ka,
ia,
ja)
116 real(RP),
intent(in) :: DENS0 (
ka,
ia,
ja)
117 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
118 real(RP),
intent(in) :: mflx_hi (
ka,
ia,
ja,3)
119 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja,3)
120 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja,7)
121 real(RP),
intent(in) :: MAPF (
ia,
ja)
122 real(RP),
intent(in) :: CDZ(
ka)
123 real(RP),
intent(in) :: RCDZ(
ka)
124 real(RP),
intent(in) :: RCDX(
ia)
125 real(RP),
intent(in) :: RCDY(
ja)
126 real(RP),
intent(in) :: dtl
127 logical,
intent(in) :: FLAG_FCT_TRACER
128 logical,
intent(in) :: FLAG_FCT_ALONG_STREAM
130 real(RP) :: DENS_RK(
ka,
ia,
ja)
141 dens_rk(k,i,j) = dens0(k,i,j) &
142 + ( dens(k,i,j) - dens0(k,i,j) ) / 3.0_rp
150 qtrc, qtrc0, rhoq_t, &
154 cdz, rcdz, rcdx, rcdy, &
156 .false., flag_fct_along_stream )
158 call comm_vars8( qtrc_rk1(:,:,:), i_comm_rk1 )
159 call comm_wait ( qtrc_rk1(:,:,:), i_comm_rk1, .false. )
165 dens_rk(k,i,j) = dens0(k,i,j) &
166 + ( dens(k,i,j) - dens0(k,i,j) ) * 0.5_rp
174 qtrc_rk1, qtrc0, rhoq_t, &
178 cdz, rcdz, rcdx, rcdy, &
180 .false., flag_fct_along_stream )
182 call comm_vars8( qtrc_rk2(:,:,:), i_comm_rk2 )
183 call comm_wait ( qtrc_rk2(:,:,:), i_comm_rk2, .false. )
189 qtrc_rk2, qtrc0, rhoq_t, &
193 cdz, rcdz, rcdx, rcdy, &
195 flag_fct_tracer, flag_fct_along_stream )
integer, public is
start point of inner domain: x, local
subroutine, public atmos_dyn_tinteg_tracer_rk3(QTRC, QTRC0, RHOQ_t, DENS0, DENS, mflx_hi, num_diff, GSQRT, MAPF, CDZ, RCDZ, RCDX, RCDY, dtl, FLAG_FCT_TRACER, FLAG_FCT_ALONG_STREAM)
RK3.
integer, public je
end point of inner domain: y, local
subroutine, public prc_mpistop
Abort MPI.
integer, public ke
end point of inner domain: z, local
module Atmosphere / Dyn Tinteg
subroutine, public check(current_line, v)
Undefined value checker.
real(rp), public const_undef
integer, public ia
of x whole cells (local, with HALO)
subroutine, public comm_vars8_init(var, vid)
Register variables.
integer, public ka
of z whole cells (local, with HALO)
integer, public js
start point of inner domain: y, local
integer, parameter, public const_undef2
undefined value (INT2)
integer, public ks
start point of inner domain: z, local
integer, public ie
end point of inner domain: x, local
procedure(step), pointer, public atmos_dyn_tstep_tracer
subroutine, public atmos_dyn_tinteg_tracer_rk3_setup(tinteg_type)
Setup.
module Atmosphere / Dynamical scheme
integer, public ja
of y whole cells (local, with HALO)