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

module Atmosphere / Dynamics Temporal integration More...

Functions/Subroutines

subroutine, public atmos_dyn_tinteg_large_setup (ATMOS_DYN_Tinteg_large_TYPE)
 Register. More...
 

Variables

procedure(large), pointer, public atmos_dyn_tinteg_large => NULL()
 

Detailed Description

module Atmosphere / Dynamics Temporal integration

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

Function/Subroutine Documentation

◆ atmos_dyn_tinteg_large_setup()

subroutine, public scale_atmos_dyn_tinteg_large::atmos_dyn_tinteg_large_setup ( character(len=*), intent(in)  ATMOS_DYN_Tinteg_large_TYPE)

Register.

Definition at line 178 of file scale_atmos_dyn_tinteg_large.F90.

References atmos_dyn_tinteg_large, scale_atmos_dyn_tinteg_large_euler::atmos_dyn_tinteg_large_euler(), scale_atmos_dyn_tinteg_large_euler::atmos_dyn_tinteg_large_euler_setup(), scale_atmos_dyn_tinteg_large_rk3::atmos_dyn_tinteg_large_rk3(), scale_atmos_dyn_tinteg_large_rk3::atmos_dyn_tinteg_large_rk3_setup(), and scale_process::prc_mpistop().

Referenced by scale_atmos_dyn::atmos_dyn_setup().

178  use scale_precision
179  use scale_grid_index
180  use scale_index
181  use scale_process, only: &
183 #define EXTM(pre, name, post) pre ## name ## post
184 #define NAME(pre, name, post) EXTM(pre, name, post)
185 #ifdef TINTEG_LARGE
186  use name(scale_atmos_dyn_tinteg_large_, tinteg_large,), only: &
187  name(atmos_dyn_rk_tinteg_large_, tinteg_large, _setup), &
188  name(atmos_dyn_rk_tinteg_large_, tinteg_large,)
189 #else
196 #endif
197  implicit none
198  character(len=*), intent(in) :: atmos_dyn_tinteg_large_type
199  !---------------------------------------------------------------------------
200 
201 #ifdef TINTEG_LARGE
202  name(atmos_dyn_tinteg_large_, tinteg_large, _setup)( &
203  atmos_dyn_tinteg_large_type )
204  atmos_dyn_tinteg_large => name(atmos_dyn_tingeg_large_, tinteg_large,)
205 #else
206  select case ( atmos_dyn_tinteg_large_type )
207  case ( 'EULER' )
209  atmos_dyn_tinteg_large_type )
211  case ( 'RK3' )
213  atmos_dyn_tinteg_large_type )
215  case ( 'OFF', 'NONE' )
216  ! do nothing
217  case default
218  write(*,*) 'xxx ATMOS_DYN_TINTEG_LARGE_TYPE is invalid: ', atmos_dyn_tinteg_large_type
219  call prc_mpistop
220  end select
221 #endif
222 
223  return
subroutine, public prc_mpistop
Abort MPI.
procedure(large), pointer, public atmos_dyn_tinteg_large
module grid index
module Index
Definition: scale_index.F90:14
subroutine, public atmos_dyn_tinteg_large_rk3_setup(tinteg_type)
Setup.
module PROCESS
subroutine, public atmos_dyn_tinteg_large_euler_setup(tinteg_type)
Setup.
module PRECISION
subroutine, public atmos_dyn_tinteg_large_rk3(DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, DENS_av, MOMZ_av, MOMX_av, MOMY_av, RHOT_av, QTRC_av, mflx_hi, tflx_hi, num_diff, num_diff_q, DENS_tp, MOMZ_tp, MOMX_tp, MOMY_tp, RHOT_tp, RHOQ_tp, CORIOLI, CDZ, CDX, CDY, FDZ, FDX, FDY, RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, PHI, GSQRT, J13G, J23G, J33G, MAPF, AQ_CV, REF_dens, REF_pott, REF_qv, REF_pres, BND_W, BND_E, BND_S, BND_N, 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, DTL, DTS)
RK3.
subroutine, public atmos_dyn_tinteg_large_euler(DENS, MOMZ, MOMX, MOMY, RHOT, QTRC, PROG, DENS_av, MOMZ_av, MOMX_av, MOMY_av, RHOT_av, QTRC_av, mflx_hi, tflx_hi, num_diff, num_diff_q, DENS_tp, MOMZ_tp, MOMX_tp, MOMY_tp, RHOT_tp, RHOQ_tp, CORIOLI, CDZ, CDX, CDY, FDZ, FDX, FDY, RCDZ, RCDX, RCDY, RFDZ, RFDX, RFDY, PHI, GSQRT, J13G, J23G, J33G, MAPF, AQ_CV, REF_dens, REF_pott, REF_qv, REF_pres, BND_W, BND_E, BND_S, BND_N, 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, DTL, DTS)
RK3.
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ atmos_dyn_tinteg_large

procedure(large), pointer, public scale_atmos_dyn_tinteg_large::atmos_dyn_tinteg_large => NULL()

Definition at line 157 of file scale_atmos_dyn_tinteg_large.F90.

Referenced by scale_atmos_dyn::atmos_dyn(), and atmos_dyn_tinteg_large_setup().

157  procedure(large), pointer :: atmos_dyn_tinteg_large => null()
procedure(large), pointer, public atmos_dyn_tinteg_large