35 #include "inc_openmp.h" 68 real(RP),
public,
allocatable ::
corioli (:,:)
79 integer,
private :: i_comm_dens = 1
80 integer,
private :: i_comm_momz = 2
81 integer,
private :: i_comm_momx = 3
82 integer,
private :: i_comm_momy = 4
83 integer,
private :: i_comm_rhot = 5
84 integer,
private,
allocatable :: i_comm_prog(:)
85 integer,
private,
allocatable :: i_comm_qtrc(:)
87 logical,
private :: bnd_w
88 logical,
private :: bnd_e
89 logical,
private :: bnd_s
90 logical,
private :: bnd_n
92 real(RP),
private,
allocatable :: mflx_hi (:,:,:,:)
94 real(RP),
private,
allocatable :: num_diff (:,:,:,:,:)
95 real(RP),
private,
allocatable :: num_diff_q(:,:,:,:)
96 real(RP),
private,
allocatable :: wdamp_coef(:)
98 logical,
private :: dyn_none
105 DYN_Tinteg_Short_TYPE, &
106 DYN_Tinteg_Tracer_TYPE, &
107 DYN_Tinteg_Large_TYPE, &
108 DYN_Tstep_Tracer_TYPE, &
109 DYN_Tstep_Large_TYPE, &
111 DYN_FVM_FLUX_TYPE_TRACER, &
112 DENS, MOMZ, MOMX, MOMY, RHOT, &
153 character(len=*),
intent(in) :: dyn_tinteg_short_type
154 character(len=*),
intent(in) :: dyn_tinteg_tracer_type
155 character(len=*),
intent(in) :: dyn_tinteg_large_type
156 character(len=*),
intent(in) :: dyn_tstep_tracer_type
157 character(len=*),
intent(in) :: dyn_tstep_large_type
158 character(len=*),
intent(in) :: dyn_fvm_flux_type
159 character(len=*),
intent(in) :: dyn_fvm_flux_type_tracer
160 real(RP),
intent(inout) :: dens(
ka,
ia,
ja)
161 real(RP),
intent(inout) :: momz(
ka,
ia,
ja)
162 real(RP),
intent(inout) :: momx(
ka,
ia,
ja)
163 real(RP),
intent(inout) :: momy(
ka,
ia,
ja)
164 real(RP),
intent(inout) :: rhot(
ka,
ia,
ja)
165 real(RP),
intent(inout) :: qtrc(
ka,
ia,
ja,
qa)
166 real(RP),
intent(inout) :: prog(
ka,
ia,
ja,
va)
167 real(RP),
intent(in) :: cdz(
ka)
168 real(RP),
intent(in) :: cdx(
ia)
169 real(RP),
intent(in) :: cdy(
ja)
170 real(RP),
intent(in) :: fdz(
ka-1)
171 real(RP),
intent(in) :: fdx(
ia-1)
172 real(RP),
intent(in) :: fdy(
ja-1)
173 real(RP),
intent(in) :: wdamp_tau
174 real(RP),
intent(in) :: wdamp_height
175 real(RP),
intent(in) :: fz(0:
ka)
176 logical,
intent(in) :: enable_coriolis
177 real(RP),
intent(in) :: lat(
ia,
ja)
178 logical,
optional,
intent(in) :: none
185 if (
present(none) )
then 189 allocate( i_comm_prog(max(
va,1)) )
190 allocate( i_comm_qtrc(
qa) )
192 if ( .NOT. dyn_none )
then 199 allocate( mflx_hi(
ka,
ia,
ja,3) )
200 allocate( num_diff(
ka,
ia,
ja,5,3) )
201 allocate( num_diff_q(
ka,
ia,
ja,3) )
202 allocate( wdamp_coef(
ka) )
203 mflx_hi(:,:,:,:) = undef
206 dyn_fvm_flux_type_tracer )
213 dens, momz, momx, momy, rhot, &
225 cdz, cdx, cdy, fdz, fdx, fdy )
229 wdamp_tau, wdamp_height, &
233 if ( enable_coriolis )
then 234 corioli(:,:) = 2.0_rp * ohm * sin( lat(:,:) )
248 i_comm_prog(iv) = 5 + iv
253 i_comm_qtrc(iq) = 5 +
va + iq
265 DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, &
267 DENS_av, MOMZ_av, MOMX_av, MOMY_av, RHOT_av, QTRC_av, &
268 DENS_tp, MOMZ_tp, MOMX_tp, MOMY_tp, RHOT_tp, RHOQ_tp, &
269 CDZ, CDX, CDY, FDZ, FDX, FDY, &
270 RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, &
272 J13G, J23G, J33G, MAPF, &
273 AQ_R, AQ_CV, AQ_CP, AQ_MASS, &
274 REF_dens, REF_pott, REF_qv, REF_pres, &
275 ND_COEF, ND_COEF_Q, ND_ORDER, ND_SFC_FACT, ND_USE_RS, &
276 DAMP_DENS, DAMP_VELZ, DAMP_VELX, &
277 DAMP_VELY, DAMP_POTT, DAMP_QTRC, &
278 DAMP_alpha_DENS, DAMP_alpha_VELZ, DAMP_alpha_VELX, &
279 DAMP_alpha_VELY, DAMP_alpha_POTT, DAMP_alpha_QTRC, &
281 FLAG_FCT_MOMENTUM, FLAG_FCT_T, FLAG_FCT_TRACER, &
282 FLAG_FCT_ALONG_STREAM, &
294 real(RP),
intent(inout) :: dens(
ka,
ia,
ja)
295 real(RP),
intent(inout) :: momz(
ka,
ia,
ja)
296 real(RP),
intent(inout) :: momx(
ka,
ia,
ja)
297 real(RP),
intent(inout) :: momy(
ka,
ia,
ja)
298 real(RP),
intent(inout) :: rhot(
ka,
ia,
ja)
299 real(RP),
intent(inout) :: qtrc(
ka,
ia,
ja,
qa)
300 real(RP),
intent(inout) :: prog(
ka,
ia,
ja,
va)
302 real(RP),
intent(inout) :: dens_av(
ka,
ia,
ja)
303 real(RP),
intent(inout) :: momz_av(
ka,
ia,
ja)
304 real(RP),
intent(inout) :: momx_av(
ka,
ia,
ja)
305 real(RP),
intent(inout) :: momy_av(
ka,
ia,
ja)
306 real(RP),
intent(inout) :: rhot_av(
ka,
ia,
ja)
307 real(RP),
intent(inout) :: qtrc_av(
ka,
ia,
ja,
qa)
309 real(RP),
intent(in) :: dens_tp(
ka,
ia,
ja)
310 real(RP),
intent(in) :: momz_tp(
ka,
ia,
ja)
311 real(RP),
intent(in) :: momx_tp(
ka,
ia,
ja)
312 real(RP),
intent(in) :: momy_tp(
ka,
ia,
ja)
313 real(RP),
intent(in) :: rhot_tp(
ka,
ia,
ja)
314 real(RP),
intent(in) :: rhoq_tp(
ka,
ia,
ja,
qa)
316 real(RP),
intent(in) :: cdz (
ka)
317 real(RP),
intent(in) :: cdx (
ia)
318 real(RP),
intent(in) :: cdy (
ja)
319 real(RP),
intent(in) :: fdz (
ka-1)
320 real(RP),
intent(in) :: fdx (
ia-1)
321 real(RP),
intent(in) :: fdy (
ja-1)
322 real(RP),
intent(in) :: rcdz(
ka)
323 real(RP),
intent(in) :: rcdx(
ia)
324 real(RP),
intent(in) :: rcdy(
ja)
325 real(RP),
intent(in) :: rfdz(
ka-1)
326 real(RP),
intent(in) :: rfdx(
ia-1)
327 real(RP),
intent(in) :: rfdy(
ja-1)
329 real(RP),
intent(in) :: phi (
ka,
ia,
ja)
330 real(RP),
intent(in) :: gsqrt(
ka,
ia,
ja,7)
331 real(RP),
intent(in) :: j13g (
ka,
ia,
ja,7)
332 real(RP),
intent(in) :: j23g (
ka,
ia,
ja,7)
333 real(RP),
intent(in) :: j33g
334 real(RP),
intent(in) :: mapf (
ia,
ja,2,4)
336 real(RP),
intent(in) :: aq_r (
qa)
337 real(RP),
intent(in) :: aq_cv (
qa)
338 real(RP),
intent(in) :: aq_cp (
qa)
339 real(RP),
intent(in) :: aq_mass(
qa)
341 real(RP),
intent(in) :: ref_dens(
ka,
ia,
ja)
342 real(RP),
intent(in) :: ref_pott(
ka,
ia,
ja)
343 real(RP),
intent(in) :: ref_qv (
ka,
ia,
ja)
344 real(RP),
intent(in) :: ref_pres(
ka,
ia,
ja)
345 real(RP),
intent(in) :: nd_coef
346 real(RP),
intent(in) :: nd_coef_q
347 integer,
intent(in) :: nd_order
348 real(RP),
intent(in) :: nd_sfc_fact
349 logical,
intent(in) :: nd_use_rs
351 real(RP),
intent(in) :: damp_dens(
ka,
ia,
ja)
352 real(RP),
intent(in) :: damp_velz(
ka,
ia,
ja)
353 real(RP),
intent(in) :: damp_velx(
ka,
ia,
ja)
354 real(RP),
intent(in) :: damp_vely(
ka,
ia,
ja)
355 real(RP),
intent(in) :: damp_pott(
ka,
ia,
ja)
358 real(RP),
intent(in) :: damp_alpha_dens(
ka,
ia,
ja)
359 real(RP),
intent(in) :: damp_alpha_velz(
ka,
ia,
ja)
360 real(RP),
intent(in) :: damp_alpha_velx(
ka,
ia,
ja)
361 real(RP),
intent(in) :: damp_alpha_vely(
ka,
ia,
ja)
362 real(RP),
intent(in) :: damp_alpha_pott(
ka,
ia,
ja)
363 real(RP),
intent(in) :: damp_alpha_qtrc(
ka,
ia,
ja,
bnd_qa)
365 real(RP),
intent(in) :: divdmp_coef
367 logical,
intent(in) :: flag_fct_momentum
368 logical,
intent(in) :: flag_fct_t
369 logical,
intent(in) :: flag_fct_tracer
370 logical,
intent(in) :: flag_fct_along_stream
372 logical,
intent(in) :: use_average
374 real(DP),
intent(in) :: dtsec
375 real(DP),
intent(in) :: dtsec_dyn
378 real(RP) :: dens00 (
ka,
ia,
ja)
381 real(RP) :: tflx_hi(
ka,
ia,
ja,3)
384 integer :: i, j, k, iq
389 dt =
real(dtsec, kind=
rp)
398 dens00(k,i,j) = dens(k,i,j)
400 dens(k,i,j) = dens(k,i,j) + dens_tp(k,i,j) * dt
408 momz(k,i,j) = momz(k,i,j) + momz_tp(k,i,j) * dt
416 momx(k,i,j) = momx(k,i,j) + momx_tp(k,i,j) * dt
424 momy(k,i,j) = momy(k,i,j) + momy_tp(k,i,j) * dt
432 rhot(k,i,j) = rhot(k,i,j) + rhot_tp(k,i,j) * dt
441 qtrc(k,i,j,iq) = max( 0.0_rp, &
442 qtrc(k,i,j,iq) * dens00(k,i,j) + rhoq_tp(k,i,j,iq) * dt &
449 call comm_vars8( dens(:,:,:), i_comm_dens )
450 call comm_vars8( momz(:,:,:), i_comm_momz )
451 call comm_vars8( momx(:,:,:), i_comm_momx )
452 call comm_vars8( momy(:,:,:), i_comm_momy )
453 call comm_vars8( rhot(:,:,:), i_comm_rhot )
455 call comm_vars8( qtrc(:,:,:,iq), i_comm_qtrc(iq) )
458 call comm_wait ( dens(:,:,:), i_comm_dens, .false. )
459 call comm_wait ( momz(:,:,:), i_comm_momz, .false. )
460 call comm_wait ( momx(:,:,:), i_comm_momx, .false. )
461 call comm_wait ( momy(:,:,:), i_comm_momy, .false. )
462 call comm_wait ( rhot(:,:,:), i_comm_rhot, .false. )
464 call comm_wait ( qtrc(:,:,:,iq), i_comm_qtrc(iq), .false. )
467 if ( use_average )
then 468 dens_av(:,:,:) = dens(:,:,:)
469 momz_av(:,:,:) = momz(:,:,:)
470 momx_av(:,:,:) = momx(:,:,:)
471 momy_av(:,:,:) = momy(:,:,:)
472 rhot_av(:,:,:) = rhot(:,:,:)
473 qtrc_av(:,:,:,:) = qtrc(:,:,:,:)
485 dens_av, momz_av, momx_av, momy_av, rhot_av, qtrc_av, &
487 num_diff, num_diff_q, &
488 dens_tp, momz_tp, momx_tp, momy_tp, rhot_tp, rhoq_tp, &
490 cdz, cdx, cdy, fdz, fdx, fdy, &
491 rcdz, rcdx, rcdy, rfdz, rfdx, rfdy, &
493 j13g, j23g, j33g, mapf, &
494 aq_r, aq_cv, aq_cp, aq_mass, &
495 ref_dens, ref_pott, ref_qv, ref_pres, &
496 bnd_w, bnd_e, bnd_s, bnd_n, &
497 nd_coef, nd_coef_q, nd_order, nd_sfc_fact, nd_use_rs, &
498 damp_dens, damp_velz, damp_velx, &
499 damp_vely, damp_pott, damp_qtrc, &
500 damp_alpha_dens, damp_alpha_velz, damp_alpha_velx, &
501 damp_alpha_vely, damp_alpha_pott, damp_alpha_qtrc, &
504 flag_fct_momentum, flag_fct_t, flag_fct_tracer, &
505 flag_fct_along_stream, &
512 call check_mass( dens, damp_dens, &
517 bnd_w, bnd_e, bnd_s, bnd_n )
525 subroutine check_mass( &
531 BND_W, BND_E, BND_S, BND_N )
545 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
546 real(RP),
intent(in) :: damp_dens(
ka,
ia,
ja)
547 real(RP),
intent(in) :: mflx_hi (
ka,
ia,
ja,3)
548 real(RP),
intent(in) :: tflx_hi (
ka,
ia,
ja,3)
549 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja,7)
550 real(RP),
intent(in) :: mapf (
ia,
ja,2,7)
551 real(RP),
intent(in) :: rcdx(
ia)
552 real(RP),
intent(in) :: rcdy(
ja)
553 real(RP),
intent(in) :: dt
554 logical,
intent(in) :: bnd_w
555 logical,
intent(in) :: bnd_e
556 logical,
intent(in) :: bnd_s
557 logical,
intent(in) :: bnd_n
560 real(RP) :: mflx_lb_horizontal(
ka)
561 real(RP) :: allmflx_lb_horizontal(
ka)
562 real(RP) :: mflx_lb_total
563 real(RP) :: mass_total
564 real(RP) :: mass_total2
565 real(RP) :: allmflx_lb_total
566 real(RP) :: allmass_total
567 real(RP) :: allmass_total2
573 call hist_in(mflx_hi(:,:,:,
zdir),
'MFLXZ',
'momentum flux of z-direction',
'kg/m2/s', zdim=
'half' )
574 call hist_in(mflx_hi(:,:,:,
xdir),
'MFLXX',
'momentum flux of x-direction',
'kg/m2/s', xdim=
'half' )
575 call hist_in(mflx_hi(:,:,:,
ydir),
'MFLXY',
'momentum flux of y-direction',
'kg/m2/s', ydim=
'half' )
577 call hist_in(tflx_hi(:,:,:,
zdir),
'TFLXZ',
'potential temperature flux of z-direction',
'K*kg/m2/s', zdim=
'half' )
578 call hist_in(tflx_hi(:,:,:,
xdir),
'TFLXX',
'potential temperature flux of x-direction',
'K*kg/m2/s', xdim=
'half' )
579 call hist_in(tflx_hi(:,:,:,
ydir),
'TFLXY',
'potential temperature flux of y-direction',
'K*kg/m2/s', ydim=
'half' )
581 mflx_lb_total = 0.0_rp
582 mflx_lb_horizontal(:) = 0.0_rp
583 allmflx_lb_horizontal(:) = 0.0_rp
589 mflx_lb_total = mflx_lb_total + mflx_hi(k,i-1,j,
xdir) * rcdx(i) * vol(k,i,j) &
590 * mapf(i,j,1,
i_xy) * mapf(i,j,2,
i_xy) / gsqrt(k,i,j,
i_xyz) * dt
591 mflx_lb_horizontal(k) = mflx_lb_horizontal(k) + mflx_hi(k,i-1,j,
xdir) * rcdx(i) * vol(k,i,j) &
592 * mapf(i,j,1,
i_xy) * mapf(i,j,2,
i_xy) / gsqrt(k,i,j,
i_xyz) * dt
601 mflx_lb_total = mflx_lb_total - mflx_hi(k,i,j,
xdir) * rcdx(i) * vol(k,i,j) &
602 * mapf(i,j,1,
i_xy) * mapf(i,j,2,
i_xy) / gsqrt(k,i,j,
i_xyz) * dt
603 mflx_lb_horizontal(k) = mflx_lb_horizontal(k) - mflx_hi(k,i,j,
xdir) * rcdx(i) * vol(k,i,j) &
604 * mapf(i,j,1,
i_xy) * mapf(i,j,2,
i_xy) / gsqrt(k,i,j,
i_xyz) * dt
612 mflx_lb_total = mflx_lb_total + mflx_hi(k,i,j-1,
ydir) * rcdy(j) * vol(k,i,j) &
613 * mapf(i,j,1,
i_xy) * mapf(i,j,2,
i_xy) / gsqrt(k,i,j,
i_xyz) * dt
614 mflx_lb_horizontal(k) = mflx_lb_horizontal(k) + mflx_hi(k,i,j-1,
ydir) * rcdy(j) * vol(k,i,j) &
615 * mapf(i,j,1,
i_xy) * mapf(i,j,2,
i_xy) / gsqrt(k,i,j,
i_xyz) * dt
623 mflx_lb_total = mflx_lb_total - mflx_hi(k,i,j,
ydir) * rcdy(j) * vol(k,i,j) &
624 * mapf(i,j,1,
i_xy) * mapf(i,j,2,
i_xy) / gsqrt(k,i,j,
i_xyz) * dt
625 mflx_lb_horizontal(k) = mflx_lb_horizontal(k) - mflx_hi(k,i,j,
ydir) * rcdy(j) * vol(k,i,j) &
626 * mapf(i,j,1,
i_xy) * mapf(i,j,2,
i_xy) / gsqrt(k,i,j,
i_xyz) * dt
638 mass_total = mass_total + dens(k,i,j) * vol(k,i,j)
639 mass_total2 = mass_total2 + damp_dens(k,i,j) * vol(k,i,j)
644 call mpi_allreduce( mflx_lb_total, &
652 if(
io_l )
write(
io_fid_log,
'(A,1x,ES24.17)')
'total mflx_lb:', allmflx_lb_total
654 call mpi_allreduce( mass_total, &
662 if(
io_l )
write(
io_fid_log,
'(A,1x,ES24.17)')
'total mass :', allmass_total
664 call mpi_allreduce( mass_total2, &
672 if(
io_l )
write(
io_fid_log,
'(A,1x,ES24.17)')
'total mass2 :', allmass_total2
674 call mpi_allreduce( mflx_lb_horizontal(
ks:
ke), &
675 allmflx_lb_horizontal(
ks:
ke), &
682 call hist_in(allmflx_lb_horizontal(:),
'ALLMOM_lb_hz', &
683 'horizontally total momentum flux from lateral boundary',
'kg/m2/s' )
686 end subroutine check_mass
integer, public is
start point of inner domain: x, local
integer, public comm_datatype
datatype of variable
integer, public je
end point of inner domain: y, local
logical, public prc_has_n
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_dyn_tinteg_large_setup(ATMOS_DYN_Tinteg_large_TYPE)
Register.
subroutine, public comm_vars8_init(varname, var, vid)
Register variables.
module Atmosphere / Dynamical scheme
module Atmosphere / Dynamics Temporal integration
module Atmosphere / Dynamics Temporal integration
logical, public io_l
output log or not? (this process)
subroutine, public atmos_dyn_tstep_tracer_setup(ATMOS_DYN_TSTEP_TRACER_TYPE)
Register.
integer, parameter, public zdir
module Atmosphere / Dynamics FENT + FCT
logical, public prc_has_e
integer, parameter, public ydir
integer, public ke
end point of inner domain: z, local
integer, parameter, public xdir
subroutine, public atmos_dyn_setup(DYN_Tinteg_Short_TYPE, DYN_Tinteg_Tracer_TYPE, DYN_Tinteg_Large_TYPE, DYN_Tstep_Tracer_TYPE, DYN_Tstep_Large_TYPE, DYN_FVM_FLUX_TYPE, DYN_FVM_FLUX_TYPE_TRACER, DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, CDZ, CDX, CDY, FDZ, FDX, FDY, wdamp_tau, wdamp_height, FZ, enable_coriolis, lat, none)
Setup.
module Atmosphere / Dynamical scheme
subroutine, public check(current_line, v)
Undefined value checker.
module Atmosphere / Dynamics Temporal integration
logical, public prc_has_s
subroutine, public atmos_dyn_wdamp_setup(wdamp_coef, wdamp_tau, wdamp_height, FZ)
Setup.
real(rp), public const_undef
real(rp), dimension(:,:), allocatable, public corioli
procedure(large), pointer, public atmos_dyn_tinteg_large
subroutine, public atmos_dyn(DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, DENS_av, MOMZ_av, MOMX_av, MOMY_av, RHOT_av, QTRC_av, DENS_tp, MOMZ_tp, MOMX_tp, MOMY_tp, RHOT_tp, RHOQ_tp, 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, 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, divdmp_coef, FLAG_FCT_MOMENTUM, FLAG_FCT_T, FLAG_FCT_TRACER, FLAG_FCT_ALONG_STREAM, USE_AVERAGE, DTSEC, DTSEC_DYN)
Dynamical Process.
real(rp), public const_ohm
angular velocity of the planet [1/s]
integer, public ia
of whole cells: x, local, with HALO
integer, public ka
of whole cells: z, local, with HALO
integer, public comm_world
communication world ID
subroutine, public atmos_dyn_filter_setup(num_diff, num_diff_q, CDZ, CDX, CDY, FDZ, FDX, FDY)
Setup.
integer, public kmax
of computational cells: z, local
integer, public js
start point of inner domain: y, local
integer, parameter, public const_undef2
undefined value (INT2)
module Atmosphere / Dynamics common
real(rp), dimension(:,:,:), allocatable, public real_vol
control volume [m3]
integer, public ks
start point of inner domain: z, local
subroutine, public prof_rapstart(rapname_base, level)
Start raptime.
integer, public ie
end point of inner domain: x, local
subroutine, public atmos_dyn_tstep_large_setup(Tstep_large_type, DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, mflx_hi)
Register.
subroutine, public atmos_dyn_fvm_flux_setup(scheme, scheme_tracer)
setup
module scale_atmos_dyn_fvm_flux
module ATMOSPHERE / Boundary treatment
subroutine, public atmos_dyn_tinteg_short_setup(ATMOS_DYN_Tinteg_short_TYPE)
Register.
integer, public io_fid_log
Log file ID.
subroutine, public prof_rapend(rapname_base, level)
Save raptime.
logical, public prc_has_w
integer, parameter, public rp
procedure(short_setup), pointer, public atmos_dyn_tstep_short_setup
subroutine, public atmos_dyn_tinteg_tracer_setup(ATMOS_DYN_Tinteg_tracer_TYPE)
Register.
module Atmosphere / Dynamical scheme
integer, public ja
of whole cells: y, local, with HALO