SCALE-RM
|
module Atmosphere / Dyn Tinteg More...
Functions/Subroutines | |
subroutine, public | atmos_dyn_tinteg_short_rk7s6o_setup (tinteg_type) |
Setup. More... | |
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. More... | |
Variables | |
real(rp), dimension(7, 7), parameter, public | rkcoef_a_7s6o_lawson1967 = reshape( (/ 0.0_RP, 3.0_RP/19.0_RP, 9.0_RP/152.0_RP, 94474764.0_RP/318611987.0_RP, -76607525678.0_RP/925997907411.0_RP, -113193410749715476.0_RP/1376008387821185625.0_RP, 510341547912673.0_RP/1709758911034368.0_RP, 0.0_RP, 0.0_RP, 27.0_RP/152.0_RP, -310753854.0_RP/318611987.0_RP, 309768324.0_RP/200562683.0_RP, 68309142.0_RP/42280325.0_RP, -3074637.0_RP/21410624.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 375818328.0_RP/318611987.0_RP, -57882086555344.0_RP/37088653028409.0_RP, -9901869473098663108168.0_RP/5940196722617929711875.0_RP, 205532548800199165.0_RP/6225256605226855824.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 643400862141470.0_RP/704684407539771.0_RP, 8947230518934447694268.0_RP/9333225588784524496875.0_RP, 32370527990426718666299.0_RP/90521226376106372167680.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -8377112295767292.0_RP/1089624335851065625.0_RP, 2610287999955961017.0_RP/236243323046620160.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -2690946369187951875.0_RP/253991013039290368.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP /), shape(RKCoef_a_7s6o_Lawson1967) ) |
real(rp), dimension(7), parameter, public | rkcoef_b_7s6o_lawson1967 = (/ 119490041.0_RP/1597112640.0_RP, 0.0_RP, 55710603179056.0_RP/168638187800205.0_RP, 5739605598843081731.0_RP/28834038834414422400.0_RP, 1477688286853979.0_RP/291957783566400.0_RP, -298030839900625.0_RP/62778200252544.0_RP, 5352656.0_RP/65415735.0_RP /) |
real(rp), dimension(7, 7), parameter, public | rkcoef_a_7s6o_butcher1964 = reshape( (/ 0.0_RP, 1.0_RP/3.0_RP, 0.0_RP, 1.0_RP/12.0_RP, -1.0_RP/16.0_RP, 0.0_RP, 9.0_RP/44.0_RP, 0.0_RP, 0.0_RP, 2.0_RP/3.0_RP, 1.0_RP/3.0_RP, 9.0_RP/8.0_RP, 9.0_RP/8.0_RP, -9.0_RP/11.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -1.0_RP/12.0_RP, -3.0_RP/16.0_RP, -3_RP/8.0_RP, 63.0_RP/44.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -3.0_RP/8.0_RP, -3.0_RP/4.0_RP, 18.0_RP/11.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 1.0_RP/2.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -16.0_RP/11.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP /), shape(RKCoef_a_7s6o_Butcher1964) ) |
real(rp), dimension(7), parameter, public | rkcoef_b_7s6o_butcher1964 = 1.0_RP/120.0_RP * (/ 11.0_RP, 0.0_RP, 81.0_RP, 81.0_RP, -32.0_RP, -32.0_RP, 11.0_RP /) |
module Atmosphere / Dyn Tinteg
This module provides two type of 7 stage Runge-Kutta scheme with 6th order accuracy:
subroutine, public scale_atmos_dyn_tinteg_short_rk7s6o::atmos_dyn_tinteg_short_rk7s6o_setup | ( | character(len=*) | tinteg_type | ) |
Setup.
Definition at line 126 of file scale_atmos_dyn_tinteg_short_rk7s6o.F90.
References scale_comm_cartesc::comm_vars8_init(), scale_const::const_undef, scale_prc::prc_abort(), rkcoef_a_7s6o_butcher1964, rkcoef_a_7s6o_lawson1967, rkcoef_b_7s6o_butcher1964, rkcoef_b_7s6o_lawson1967, and scale_index::va.
Referenced by scale_atmos_dyn_tinteg_short::atmos_dyn_tinteg_short_setup().
subroutine, public scale_atmos_dyn_tinteg_short_rk7s6o::atmos_dyn_tinteg_short_rk7s6o | ( | 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,3), intent(inout) | mflx_hi, | ||
real(rp), dimension(ka,ia,ja,3), intent(out) | tflx_hi, | ||
real(rp), dimension(ka,ia,ja), intent(in) | DENS_t, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMZ_t, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMX_t, | ||
real(rp), dimension(ka,ia,ja), intent(in) | MOMY_t, | ||
real(rp), dimension(ka,ia,ja), intent(in) | RHOT_t, | ||
real(rp), dimension(ka,ia,ja), intent(in) | DPRES0, | ||
real(rp), dimension(ka,ia,ja), intent(in) | CVtot, | ||
real(rp), dimension(ia,ja), intent(in) | CORIOLI, | ||
real(rp), dimension(ka,ia,ja,5,3), intent(in) | num_diff, | ||
real(rp), dimension(ka), intent(in) | wdamp_coef, | ||
real(rp), intent(in) | divdmp_coef, | ||
real(rp), dimension(ka,ia,ja), intent(in) | DDIV, | ||
logical, intent(in) | FLAG_FCT_MOMENTUM, | ||
logical, intent(in) | FLAG_FCT_T, | ||
logical, intent(in) | FLAG_FCT_ALONG_STREAM, | ||
real(rp), dimension (ka), intent(in) | CDZ, | ||
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), 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(ia-1), intent(in) | RFDX, | ||
real(rp), dimension(ja-1), intent(in) | RFDY, | ||
real(rp), dimension (ka,ia,ja), intent(in) | PHI, | ||
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,4), intent(in) | MAPF, | ||
real(rp), dimension(ka,ia,ja), intent(in) | REF_pres, | ||
real(rp), dimension(ka,ia,ja), intent(in) | REF_dens, | ||
logical, intent(in) | BND_W, | ||
logical, intent(in) | BND_E, | ||
logical, intent(in) | BND_S, | ||
logical, intent(in) | BND_N, | ||
logical, intent(in) | TwoD, | ||
real(rp), intent(in) | dt | ||
) |
RK7s6o.
[in] | phi | geopotential |
[in] | gsqrt | vertical metrics {G}^1/2 |
[in] | j13g | (1,3) element of Jacobian matrix |
[in] | j23g | (2,3) element of Jacobian matrix |
[in] | j33g | (3,3) element of Jacobian matrix |
[in] | mapf | map factor |
[in] | ref_pres | reference pressure |
Definition at line 202 of file scale_atmos_dyn_tinteg_short_rk7s6o.F90.
References scale_atmos_dyn_common::atmos_dyn_copy_boundary(), scale_atmos_dyn_tstep_short::atmos_dyn_tstep_short, scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_tracer::k, scale_atmos_grid_cartesc_index::ka, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, scale_prof::prof_rapend(), scale_prof::prof_rapstart(), and scale_index::va.
Referenced by scale_atmos_dyn_tinteg_short::atmos_dyn_tinteg_short_setup().
real(rp), dimension(7,7), parameter, public scale_atmos_dyn_tinteg_short_rk7s6o::rkcoef_a_7s6o_lawson1967 = reshape( (/ 0.0_RP, 3.0_RP/19.0_RP, 9.0_RP/152.0_RP, 94474764.0_RP/318611987.0_RP, -76607525678.0_RP/925997907411.0_RP, -113193410749715476.0_RP/1376008387821185625.0_RP, 510341547912673.0_RP/1709758911034368.0_RP, 0.0_RP, 0.0_RP, 27.0_RP/152.0_RP, -310753854.0_RP/318611987.0_RP, 309768324.0_RP/200562683.0_RP, 68309142.0_RP/42280325.0_RP, -3074637.0_RP/21410624.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 375818328.0_RP/318611987.0_RP, -57882086555344.0_RP/37088653028409.0_RP, -9901869473098663108168.0_RP/5940196722617929711875.0_RP, 205532548800199165.0_RP/6225256605226855824.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 643400862141470.0_RP/704684407539771.0_RP, 8947230518934447694268.0_RP/9333225588784524496875.0_RP, 32370527990426718666299.0_RP/90521226376106372167680.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -8377112295767292.0_RP/1089624335851065625.0_RP, 2610287999955961017.0_RP/236243323046620160.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -2690946369187951875.0_RP/253991013039290368.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP /), shape(RKCoef_a_7s6o_Lawson1967) ) |
Definition at line 66 of file scale_atmos_dyn_tinteg_short_rk7s6o.F90.
Referenced by atmos_dyn_tinteg_short_rk7s6o_setup().
real(rp), dimension(7), parameter, public scale_atmos_dyn_tinteg_short_rk7s6o::rkcoef_b_7s6o_lawson1967 = (/ 119490041.0_RP/1597112640.0_RP, 0.0_RP, 55710603179056.0_RP/168638187800205.0_RP, 5739605598843081731.0_RP/28834038834414422400.0_RP, 1477688286853979.0_RP/291957783566400.0_RP, -298030839900625.0_RP/62778200252544.0_RP, 5352656.0_RP/65415735.0_RP /) |
Definition at line 76 of file scale_atmos_dyn_tinteg_short_rk7s6o.F90.
Referenced by atmos_dyn_tinteg_short_rk7s6o_setup().
real(rp), dimension(7,7), parameter, public scale_atmos_dyn_tinteg_short_rk7s6o::rkcoef_a_7s6o_butcher1964 = reshape( (/ 0.0_RP, 1.0_RP/3.0_RP, 0.0_RP, 1.0_RP/12.0_RP, -1.0_RP/16.0_RP, 0.0_RP, 9.0_RP/44.0_RP, 0.0_RP, 0.0_RP, 2.0_RP/3.0_RP, 1.0_RP/3.0_RP, 9.0_RP/8.0_RP, 9.0_RP/8.0_RP, -9.0_RP/11.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -1.0_RP/12.0_RP, -3.0_RP/16.0_RP, -3_RP/8.0_RP, 63.0_RP/44.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -3.0_RP/8.0_RP, -3.0_RP/4.0_RP, 18.0_RP/11.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 1.0_RP/2.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, -16.0_RP/11.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP, 0.0_RP /), shape(RKCoef_a_7s6o_Butcher1964) ) |
Definition at line 84 of file scale_atmos_dyn_tinteg_short_rk7s6o.F90.
Referenced by atmos_dyn_tinteg_short_rk7s6o_setup().
real(rp), dimension(7), parameter, public scale_atmos_dyn_tinteg_short_rk7s6o::rkcoef_b_7s6o_butcher1964 = 1.0_RP/120.0_RP * (/ 11.0_RP, 0.0_RP, 81.0_RP, 81.0_RP, -32.0_RP, -32.0_RP, 11.0_RP /) |
Definition at line 94 of file scale_atmos_dyn_tinteg_short_rk7s6o.F90.
Referenced by atmos_dyn_tinteg_short_rk7s6o_setup().