SCALE-RM
Data Types | Functions/Subroutines | Variables
scale_atmos_dyn_tinteg_short Module Reference

module Atmosphere / Dynamics Temporal integration More...

Functions/Subroutines

subroutine, public atmos_dyn_tinteg_short_setup (ATMOS_DYN_Tinteg_short_TYPE)
 Register. More...
 

Variables

procedure(short), pointer, public atmos_dyn_tinteg_short => NULL()
 

Detailed Description

module Atmosphere / Dynamics Temporal integration

Description
Temporal integration scheme selecter for dynamical short time step
Author
Team SCALE
History
  • 2016-04-18 (S.Nishizawa) [new]

Function/Subroutine Documentation

◆ atmos_dyn_tinteg_short_setup()

subroutine, public scale_atmos_dyn_tinteg_short::atmos_dyn_tinteg_short_setup ( character(len=*), intent(in)  ATMOS_DYN_Tinteg_short_TYPE)

Register.

Definition at line 132 of file scale_atmos_dyn_tinteg_short.F90.

References atmos_dyn_tinteg_short, scale_atmos_dyn_tinteg_short_rk3::atmos_dyn_tinteg_short_rk3(), scale_atmos_dyn_tinteg_short_rk3::atmos_dyn_tinteg_short_rk3_setup(), scale_atmos_dyn_tinteg_short_rk4::atmos_dyn_tinteg_short_rk4(), scale_atmos_dyn_tinteg_short_rk4::atmos_dyn_tinteg_short_rk4_setup(), and scale_process::prc_mpistop().

Referenced by scale_atmos_dyn::atmos_dyn_setup().

132 
133  use scale_precision
134  use scale_grid_index
135  use scale_index
136  use scale_process, only: &
138 #define EXTM(pre, name, post) pre ## name ## post
139 #define NAME(pre, name, post) EXTM(pre, name, post)
140 #ifdef TINTEG_SHORT
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,)
144 #else
151 #endif
152  implicit none
153  character(len=*), intent(in) :: atmos_dyn_tinteg_short_type
154  !---------------------------------------------------------------------------
155 
156 #ifdef TINTEG_SHORT
157  name(atmos_dyn_tinteg_short_, tinteg_short, _setup)( &
158  atmos_dyn_tinteg_short_type )
159  atmos_dyn_tinteg_short => name(atmos_dyn_tingeg_short_, tinteg_short,)
160 #else
161  select case ( atmos_dyn_tinteg_short_type )
162  case ( 'RK3', 'RK3WS2002' )
164  atmos_dyn_tinteg_short_type )
165  atmos_dyn_tinteg_short => atmos_dyn_tinteg_short_rk3
166  case ( 'RK4' )
168  atmos_dyn_tinteg_short_type )
169  atmos_dyn_tinteg_short => atmos_dyn_tinteg_short_rk4
170  case ( 'OFF', 'NONE' )
171  ! do nothing
172  case default
173  write(*,*) 'xxx ATMOS_DYN_TINTEG_SHORT_TYPE is invalid: ', atmos_dyn_tinteg_short_type
174  call prc_mpistop
175  end select
176 #endif
177 
178  return
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 grid index
module Index
Definition: scale_index.F90:14
module PROCESS
subroutine, public atmos_dyn_tinteg_short_rk3_setup(tinteg_type)
Setup.
module PRECISION
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ atmos_dyn_tinteg_short

procedure(short), pointer, public scale_atmos_dyn_tinteg_short::atmos_dyn_tinteg_short => NULL()

Definition at line 111 of file scale_atmos_dyn_tinteg_short.F90.

Referenced by atmos_dyn_tinteg_short_setup(), and scale_atmos_dyn_tstep_large_fvm_heve::atmos_dyn_tstep_large_fvm_heve().

111  procedure(short), pointer :: atmos_dyn_tinteg_short => null()