SCALE-RM
|
module Atmosphere / Dynamics common More...
Functions/Subroutines | |
subroutine, public | atmos_dyn_filter_setup (num_diff, num_diff_q, CDZ, CDX, CDY, FDZ, FDX, FDY) |
Setup. More... | |
subroutine, public | atmos_dyn_wdamp_setup (wdamp_coef, wdamp_tau, wdamp_height, FZ) |
Setup. More... | |
subroutine, public | atmos_dyn_numfilter_coef (num_diff, DENS, MOMZ, MOMX, MOMY, RHOT, CDZ, CDX, CDY, FDZ, FDX, FDY, DT, REF_dens, REF_pott, ND_COEF, ND_ORDER, ND_SFC_FACT, ND_USE_RS) |
Calc coefficient of numerical filter. More... | |
subroutine, public | atmos_dyn_numfilter_coef_q (num_diff_q, DENS, QTRC, CDZ, CDX, CDY, dt, REF_qv, iq, ND_COEF, ND_ORDER, ND_SFC_FACT, ND_USE_RS) |
Calc coefficient of numerical filter. More... | |
subroutine, public | atmos_dyn_filter_tend (phi_t, phi, rdz, rdx, rdy, KO, IO, JO) |
subroutine, public | atmos_dyn_copy_boundary (DENS, MOMZ, MOMX, MOMY, RHOT, PROG, DENS0, MOMZ0, MOMX0, MOMY0, RHOT0, PROG0, BND_W, BND_E, BND_S, BND_N) |
subroutine, public | atmos_dyn_copy_boundary_tracer (QTRC, QTRC0, BND_W, BND_E, BND_S, BND_N) |
subroutine, public | atmos_dyn_divergence (DDIV, MOMZ, MOMX, MOMY, GSQRT, J13G, J23G, J33G, MAPF, RCDZ, RCDX, RCDY, RFDZ, FDZ) |
subroutine | calc_numdiff (work, iwork, data, nd_order, KO, IO, JO, KEE) |
subroutine | calc_diff3 (diff, phi, KO, IO, JO) |
subroutine, public | atmos_dyn_fct (qflx_anti, phi_in, DENS0, DENS, qflx_hi, qflx_lo, mflx_hi, rdz, rdx, rdy, GSQRT, MAPF, dt, flag_vect) |
Flux Correction Transport Limiter. More... | |
module Atmosphere / Dynamics common
subroutine, public scale_atmos_dyn_common::atmos_dyn_filter_setup | ( | real(rp), dimension(ka,ia,ja,5,3), intent(inout) | num_diff, |
real(rp), dimension(ka,ia,ja,3), intent(inout) | num_diff_q, | ||
real(rp), dimension(ka), intent(in) | CDZ, | ||
real(rp), dimension(ia), intent(in) | CDX, | ||
real(rp), dimension(ja), intent(in) | CDY, | ||
real(rp), dimension(ka-1), intent(in) | FDZ, | ||
real(rp), dimension(ia-1), intent(in) | FDX, | ||
real(rp), dimension(ja-1), intent(in) | FDY | ||
) |
Setup.
Definition at line 98 of file scale_atmos_dyn_common.F90.
References scale_comm::comm_vars8_init(), scale_index::i_dens, scale_index::i_momx, scale_index::i_momy, scale_index::i_momz, scale_index::i_rhot, scale_grid_index::ia, scale_grid_index::ie, scale_grid_index::ihalo, scale_grid_index::is, scale_grid_index::ja, scale_grid_index::je, scale_grid_index::jhalo, scale_grid_index::js, scale_grid_index::ka, scale_grid_index::ke, scale_grid_index::khalo, scale_grid_index::ks, scale_process::prc_mpistop(), scale_grid_index::xdir, scale_grid_index::ydir, and scale_grid_index::zdir.
Referenced by scale_atmos_dyn::atmos_dyn_setup().
subroutine, public scale_atmos_dyn_common::atmos_dyn_wdamp_setup | ( | real(rp), dimension(ka), intent(inout) | wdamp_coef, |
real(rp), intent(in) | wdamp_tau, | ||
real(rp), intent(in) | wdamp_height, | ||
real(rp), dimension(0:ka), intent(in) | FZ | ||
) |
Setup.
Definition at line 330 of file scale_atmos_dyn_common.F90.
References scale_const::const_eps, scale_const::const_pi, scale_stdio::io_fid_log, scale_stdio::io_l, scale_grid_index::ka, scale_grid_index::ke, and scale_grid_index::ks.
Referenced by scale_atmos_dyn::atmos_dyn_setup().
subroutine, public scale_atmos_dyn_common::atmos_dyn_numfilter_coef | ( | real(rp), dimension(ka,ia,ja,5,3), intent(out) | num_diff, |
real(rp), dimension(ka,ia,ja), intent(in) | DENS, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMZ, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMX, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMY, | ||
real(rp), dimension(ka,ia,ja), intent(in) | RHOT, | ||
real(rp), dimension(ka), intent(in) | CDZ, | ||
real(rp), dimension(ia), intent(in) | CDX, | ||
real(rp), dimension(ja), intent(in) | CDY, | ||
real(rp), dimension(ka-1), intent(in) | FDZ, | ||
real(rp), dimension(ia-1), intent(in) | FDX, | ||
real(rp), dimension(ja-1), intent(in) | FDY, | ||
real(rp), intent(in) | DT, | ||
real(rp), dimension(ka,ia,ja), intent(in) | REF_dens, | ||
real(rp), dimension(ka,ia,ja), intent(in) | REF_pott, | ||
real(rp), intent(in) | ND_COEF, | ||
integer, intent(in) | ND_ORDER, | ||
real(rp), intent(in) | ND_SFC_FACT, | ||
logical, intent(in) | ND_USE_RS | ||
) |
Calc coefficient of numerical filter.
Definition at line 394 of file scale_atmos_dyn_common.F90.
References calc_numdiff(), scale_index::i_dens, scale_index::i_momx, scale_index::i_momy, scale_index::i_momz, scale_index::i_rhot, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ka, scale_grid_index::ke, scale_grid_index::ks, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), scale_grid_index::xdir, scale_grid_index::ydir, and scale_grid_index::zdir.
Referenced by scale_atmos_dyn_tinteg_large_euler::atmos_dyn_tinteg_large_euler(), scale_atmos_dyn_tinteg_large_rk3::atmos_dyn_tinteg_large_rk3(), and scale_atmos_dyn_tstep_large_fvm_heve::atmos_dyn_tstep_large_fvm_heve().
subroutine, public scale_atmos_dyn_common::atmos_dyn_numfilter_coef_q | ( | real(rp), dimension(ka,ia,ja,3), intent(out) | num_diff_q, |
real(rp), dimension(ka,ia,ja), intent(in) | DENS, | ||
real(rp), dimension(ka,ia,ja), intent(in) | QTRC, | ||
real(rp), dimension(ka), intent(in) | CDZ, | ||
real(rp), dimension(ia), intent(in) | CDX, | ||
real(rp), dimension(ja), intent(in) | CDY, | ||
real(rp), intent(in) | dt, | ||
real(rp), dimension(ka,ia,ja), intent(in) | REF_qv, | ||
integer, intent(in) | iq, | ||
real(rp), intent(in) | ND_COEF, | ||
integer, intent(in) | ND_ORDER, | ||
real(rp), intent(in) | ND_SFC_FACT, | ||
logical, intent(in) | ND_USE_RS | ||
) |
Calc coefficient of numerical filter.
Definition at line 998 of file scale_atmos_dyn_common.F90.
References calc_numdiff(), scale_atmos_hydrometeor::i_qv, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ka, scale_grid_index::ke, scale_grid_index::ks, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), scale_grid_index::xdir, scale_grid_index::ydir, and scale_grid_index::zdir.
Referenced by scale_atmos_dyn_tinteg_large_euler::atmos_dyn_tinteg_large_euler(), scale_atmos_dyn_tinteg_large_rk3::atmos_dyn_tinteg_large_rk3(), and scale_atmos_dyn_tstep_large_fvm_heve::atmos_dyn_tstep_large_fvm_heve().
subroutine, public scale_atmos_dyn_common::atmos_dyn_filter_tend | ( | real(rp), dimension(ka,ia,ja), intent(out) | phi_t, |
real(rp), dimension (ka,ia,ja), intent(in) | phi, | ||
real(rp), dimension(:), intent(in) | rdz, | ||
real(rp), dimension(:), intent(in) | rdx, | ||
real(rp), dimension(:), intent(in) | rdy, | ||
integer, intent(in) | KO, | ||
integer, intent(in) | IO, | ||
integer, intent(in) | JO | ||
) |
Definition at line 1212 of file scale_atmos_dyn_common.F90.
References calc_diff3(), scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, scale_grid_index::ks, scale_grid_index::xdir, scale_grid_index::ydir, and scale_grid_index::zdir.
subroutine, public scale_atmos_dyn_common::atmos_dyn_copy_boundary | ( | real(rp), dimension (ka,ia,ja), intent(inout) | DENS, |
real(rp), dimension (ka,ia,ja), intent(inout) | MOMZ, | ||
real(rp), dimension (ka,ia,ja), intent(inout) | MOMX, | ||
real(rp), dimension (ka,ia,ja), intent(inout) | MOMY, | ||
real(rp), dimension (ka,ia,ja), intent(inout) | RHOT, | ||
real(rp), dimension (ka,ia,ja,va), intent(inout) | PROG, | ||
real(rp), dimension(ka,ia,ja), intent(in) | DENS0, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMZ0, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMX0, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMY0, | ||
real(rp), dimension(ka,ia,ja), intent(in) | RHOT0, | ||
real(rp), dimension(ka,ia,ja,va), intent(in) | PROG0, | ||
logical, intent(in) | BND_W, | ||
logical, intent(in) | BND_E, | ||
logical, intent(in) | BND_S, | ||
logical, intent(in) | BND_N | ||
) |
Definition at line 1256 of file scale_atmos_dyn_common.F90.
References scale_grid_index::ia, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::ja, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, scale_grid_index::ks, and scale_index::va.
Referenced by scale_atmos_dyn_tinteg_short_rk3::atmos_dyn_tinteg_short_rk3(), and scale_atmos_dyn_tinteg_short_rk4::atmos_dyn_tinteg_short_rk4().
subroutine, public scale_atmos_dyn_common::atmos_dyn_copy_boundary_tracer | ( | real(rp), dimension (ka,ia,ja), intent(inout) | QTRC, |
real(rp), dimension(ka,ia,ja), intent(in) | QTRC0, | ||
logical, intent(in) | BND_W, | ||
logical, intent(in) | BND_E, | ||
logical, intent(in) | BND_S, | ||
logical, intent(in) | BND_N | ||
) |
Definition at line 1378 of file scale_atmos_dyn_common.F90.
References scale_grid_index::ia, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::ja, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, and scale_grid_index::ks.
Referenced by scale_atmos_dyn_tinteg_tracer_rk3::atmos_dyn_tinteg_tracer_rk3().
subroutine, public scale_atmos_dyn_common::atmos_dyn_divergence | ( | real(rp), dimension(ka,ia,ja), intent(out) | DDIV, |
real(rp), dimension(ka,ia,ja), intent(in) | MOMZ, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMX, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMY, | ||
real(rp), dimension(ka,ia,ja,7), intent(in) | GSQRT, | ||
real(rp), dimension(ka,ia,ja,7), intent(in) | J13G, | ||
real(rp), dimension(ka,ia,ja,7), intent(in) | J23G, | ||
real(rp), intent(in) | J33G, | ||
real(rp), dimension(ia,ja,2,7), intent(in) | MAPF, | ||
real(rp), dimension(ka), intent(in) | RCDZ, | ||
real(rp), dimension(ia), intent(in) | RCDX, | ||
real(rp), dimension(ja), intent(in) | RCDY, | ||
real(rp), dimension(ka-1), intent(in) | RFDZ, | ||
real(rp), dimension(ka-1), intent(in) | FDZ | ||
) |
Definition at line 1446 of file scale_atmos_dyn_common.F90.
References scale_gridtrans::i_uy, scale_gridtrans::i_uyz, scale_gridtrans::i_xv, scale_gridtrans::i_xvz, scale_gridtrans::i_xy, scale_gridtrans::i_xyw, scale_gridtrans::i_xyz, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, scale_grid_index::ks, scale_prof::prof_rapend(), and scale_prof::prof_rapstart().
Referenced by scale_atmos_dyn_tstep_large_fvm_heve::atmos_dyn_tstep_large_fvm_heve().
subroutine scale_atmos_dyn_common::calc_numdiff | ( | real(rp), dimension(ka,ia,ja,3,2), intent(out) | work, |
integer, intent(out) | iwork, | ||
real(rp), dimension(ka,ia,ja), intent(in) | data, | ||
integer, intent(in) | nd_order, | ||
integer, intent(in) | KO, | ||
integer, intent(in) | IO, | ||
integer, intent(in) | JO, | ||
integer, intent(in) | KEE | ||
) |
Definition at line 1535 of file scale_atmos_dyn_common.F90.
References calc_diff3(), scale_prof::prof_rapend(), scale_prof::prof_rapstart(), scale_grid_index::xdir, scale_grid_index::ydir, and scale_grid_index::zdir.
Referenced by atmos_dyn_numfilter_coef(), and atmos_dyn_numfilter_coef_q().
subroutine scale_atmos_dyn_common::calc_diff3 | ( | real(rp), dimension(ka,ia,ja,3), intent(out) | diff, |
real(rp), dimension(ka,ia,ja), intent(in) | phi, | ||
integer, intent(in) | KO, | ||
integer, intent(in) | IO, | ||
integer, intent(in) | JO | ||
) |
Definition at line 1608 of file scale_atmos_dyn_common.F90.
References scale_debug::check(), scale_grid_index::ie, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, scale_grid_index::ks, scale_grid_index::xdir, scale_grid_index::ydir, and scale_grid_index::zdir.
Referenced by atmos_dyn_filter_tend(), and calc_numdiff().
subroutine, public scale_atmos_dyn_common::atmos_dyn_fct | ( | real(rp), dimension(ka,ia,ja,3), intent(out) | qflx_anti, |
real(rp), dimension(ka,ia,ja), intent(in) | phi_in, | ||
real(rp), dimension(ka,ia,ja), intent(in) | DENS0, | ||
real(rp), dimension (ka,ia,ja), intent(in) | DENS, | ||
real(rp), dimension(ka,ia,ja,3), intent(in) | qflx_hi, | ||
real(rp), dimension(ka,ia,ja,3), intent(in) | qflx_lo, | ||
real(rp), dimension(ka,ia,ja,3), intent(in) | mflx_hi, | ||
real(rp), dimension(:), intent(in) | rdz, | ||
real(rp), dimension(:), intent(in) | rdx, | ||
real(rp), dimension(:), intent(in) | rdy, | ||
real(rp), dimension(ka,ia,ja), intent(in) | GSQRT, | ||
real(rp), dimension(ia,ja,2), intent(in) | MAPF, | ||
real(rp), intent(in) | dt, | ||
logical, intent(in) | flag_vect | ||
) |
Flux Correction Transport Limiter.
[in] | gsqrt | vertical metrics {G}^1/2 |
[in] | mapf | map factor |
Definition at line 1942 of file scale_atmos_dyn_common.F90.
References scale_debug::check(), scale_const::const_eps, scale_const::const_undef, scale_const::const_undef2, scale_grid_index::iblock, scale_grid_index::ie, scale_grid_index::is, scale_grid_index::jblock, scale_grid_index::je, scale_grid_index::js, scale_grid_index::ke, scale_grid_index::ks, scale_grid_index::xdir, scale_grid_index::ydir, and scale_grid_index::zdir.
Referenced by scale_atmos_dyn_tinteg_large_euler::atmos_dyn_tinteg_large_euler(), scale_atmos_dyn_tinteg_large_rk3::atmos_dyn_tinteg_large_rk3(), scale_atmos_dyn_tstep_large_fvm_heve::atmos_dyn_tstep_large_fvm_heve(), scale_atmos_dyn_tstep_short_fvm_heve::atmos_dyn_tstep_short_fvm_heve(), scale_atmos_dyn_tstep_short_fvm_hevi::atmos_dyn_tstep_short_fvm_hevi(), scale_atmos_dyn_tstep_short_fvm_hivi::atmos_dyn_tstep_short_fvm_hivi(), and scale_atmos_dyn_tstep_tracer_fvm_heve::atmos_dyn_tstep_tracer_fvm_heve().