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

module Atmosphere / Dynamics Temporal integration More...

Functions/Subroutines

subroutine, public atmos_dyn_tinteg_tracer_setup (ATMOS_DYN_Tinteg_tracer_TYPE)
 Register. More...
 

Variables

procedure(tinteg), pointer, public atmos_dyn_tinteg_tracer => NULL()
 

Detailed Description

module Atmosphere / Dynamics Temporal integration

Description
Temporal integration scheme selecter for dynamical tracer advection
Author
Team SCALE

Function/Subroutine Documentation

◆ atmos_dyn_tinteg_tracer_setup()

subroutine, public scale_atmos_dyn_tinteg_tracer::atmos_dyn_tinteg_tracer_setup ( character(len=*), intent(in)  ATMOS_DYN_Tinteg_tracer_TYPE)

Register.

Definition at line 95 of file scale_atmos_dyn_tinteg_tracer.F90.

95 
96  use scale_precision
98  use scale_index
99  use scale_prc, only: &
100  prc_abort
110  implicit none
111  character(len=*), intent(in) :: ATMOS_DYN_Tinteg_tracer_TYPE
112 
113  character(len=H_SHORT) :: Tinteg_type
114  !---------------------------------------------------------------------------
115 
116 
117  if (atmos_dyn_tinteg_tracer_type(1:5) == 'LINRK') then
118  tinteg_type = 'LINRK'
119  else
120  tinteg_type = atmos_dyn_tinteg_tracer_type
121  end if
122 
123  select case( tinteg_type )
124  case( 'EULER' )
126  atmos_dyn_tinteg_tracer_type )
127  atmos_dyn_tinteg_tracer => atmos_dyn_tinteg_tracer_euler
128  case( 'RK3WS2002' )
130  atmos_dyn_tinteg_tracer_type )
131  atmos_dyn_tinteg_tracer => atmos_dyn_tinteg_tracer_rk3
132  case( 'LINRK' )
134  atmos_dyn_tinteg_tracer_type )
135  atmos_dyn_tinteg_tracer => atmos_dyn_tinteg_tracer_linrk
136  case( 'OFF', 'NONE' )
137  ! do nothing
138  case default
139  log_error("ATMOS_DYN_Tinteg_tracer_setup",*) 'ATMOS_DYN_TINTEG_TRACER_TYPE is invalid: ', atmos_dyn_tinteg_tracer_type
140  call prc_abort
141  end select
142 
143  return

References atmos_dyn_tinteg_tracer, scale_atmos_dyn_tinteg_tracer_euler::atmos_dyn_tinteg_tracer_euler(), scale_atmos_dyn_tinteg_tracer_euler::atmos_dyn_tinteg_tracer_euler_setup(), scale_atmos_dyn_tinteg_tracer_linrk::atmos_dyn_tinteg_tracer_linrk(), scale_atmos_dyn_tinteg_tracer_linrk::atmos_dyn_tinteg_tracer_linrk_setup(), scale_atmos_dyn_tinteg_tracer_rk3::atmos_dyn_tinteg_tracer_rk3(), scale_atmos_dyn_tinteg_tracer_rk3::atmos_dyn_tinteg_tracer_rk3_setup(), and scale_prc::prc_abort().

Referenced by scale_atmos_dyn::atmos_dyn_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ atmos_dyn_tinteg_tracer

procedure(tinteg), pointer, public scale_atmos_dyn_tinteg_tracer::atmos_dyn_tinteg_tracer => NULL()

Definition at line 74 of file scale_atmos_dyn_tinteg_tracer.F90.

74  procedure(tinteg), pointer :: ATMOS_DYN_Tinteg_tracer => null()

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

scale_atmos_dyn_tinteg_tracer_linrk
module Atmosphere / Dyn Tinteg
Definition: scale_atmos_dyn_tinteg_tracer_linrk.F90:17
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
scale_atmos_dyn_tinteg_tracer_rk3::atmos_dyn_tinteg_tracer_rk3_setup
subroutine, public atmos_dyn_tinteg_tracer_rk3_setup(tinteg_type)
Setup.
Definition: scale_atmos_dyn_tinteg_tracer_rk3.F90:65
scale_index
module Index
Definition: scale_index.F90:11
scale_atmos_dyn_tinteg_tracer_rk3
module Atmosphere / Dyn Tinteg
Definition: scale_atmos_dyn_tinteg_tracer_rk3.F90:13
scale_atmos_dyn_tinteg_tracer_euler
module Atmosphere / Dyn Tinteg
Definition: scale_atmos_dyn_tinteg_tracer_euler.F90:13
scale_precision
module PRECISION
Definition: scale_precision.F90:14
scale_atmos_dyn_tinteg_tracer_linrk::atmos_dyn_tinteg_tracer_linrk
subroutine, public atmos_dyn_tinteg_tracer_linrk(QTRC, qflx, QTRC0, RHOQ_t, DENS0, DENS, mflx_hi, num_diff, GSQRT, MAPF, CDZ, RCDZ, RCDX, RCDY, BND_W, BND_E, BND_S, BND_N, TwoD, dtl, FLAG_FCT_TRACER, FLAG_FCT_ALONG_STREAM)
linear case RK
Definition: scale_atmos_dyn_tinteg_tracer_linrk.F90:105
scale_prc
module PROCESS
Definition: scale_prc.F90:11
scale_atmos_grid_cartesc_index
module atmosphere / grid / cartesC index
Definition: scale_atmos_grid_cartesC_index.F90:12
scale_atmos_dyn_tinteg_tracer_euler::atmos_dyn_tinteg_tracer_euler
subroutine, public atmos_dyn_tinteg_tracer_euler(QTRC, qflx, QTRC0, RHOQ_t, DENS0, DENS, mflx_hi, num_diff, GSQRT, MAPF, CDZ, RCDZ, RCDX, RCDY, BND_W, BND_E, BND_S, BND_N, TwoD, dtl, FLAG_FCT_TRACER, FLAG_FCT_ALONG_STREAM)
EULER.
Definition: scale_atmos_dyn_tinteg_tracer_euler.F90:93
scale_atmos_dyn_tinteg_tracer_rk3::atmos_dyn_tinteg_tracer_rk3
subroutine, public atmos_dyn_tinteg_tracer_rk3(QTRC, qflx, QTRC0, RHOQ_t, DENS0, DENS, mflx_hi, num_diff, GSQRT, MAPF, CDZ, RCDZ, RCDX, RCDY, BND_W, BND_E, BND_S, BND_N, TwoD, dtl, FLAG_FCT_TRACER, FLAG_FCT_ALONG_STREAM)
RK3.
Definition: scale_atmos_dyn_tinteg_tracer_rk3.F90:109
scale_atmos_dyn_tinteg_tracer_linrk::atmos_dyn_tinteg_tracer_linrk_setup
subroutine, public atmos_dyn_tinteg_tracer_linrk_setup(tinteg_type)
Setup.
Definition: scale_atmos_dyn_tinteg_tracer_linrk.F90:69
scale_atmos_dyn_tinteg_tracer_euler::atmos_dyn_tinteg_tracer_euler_setup
subroutine, public atmos_dyn_tinteg_tracer_euler_setup(tinteg_type)
Setup.
Definition: scale_atmos_dyn_tinteg_tracer_euler.F90:61