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

module Atmosphere / Dynamical scheme More...

Functions/Subroutines

subroutine, public atmos_dyn_tstep_short_regist (ATMOS_DYN_TYPE, VA_out, VAR_NAME, VAR_DESC, VAR_UNIT)
 Register. More...
 

Variables

procedure(short_setup), pointer, public atmos_dyn_tstep_short_setup => NULL()
 
procedure(short), pointer, public atmos_dyn_tstep_short => NULL()
 

Detailed Description

module Atmosphere / Dynamical scheme

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

Function/Subroutine Documentation

◆ atmos_dyn_tstep_short_regist()

subroutine, public scale_atmos_dyn_tstep_short::atmos_dyn_tstep_short_regist ( character(len=*), intent(in)  ATMOS_DYN_TYPE,
integer, intent(out)  VA_out,
character(len=h_short), dimension(:), intent(out)  VAR_NAME,
character(len=h_mid), dimension(:), intent(out)  VAR_DESC,
character(len=h_short), dimension(:), intent(out)  VAR_UNIT 
)

Register.

Parameters
[out]va_outnumber of prognostic variables
[out]var_namename of the variables
[out]var_descdesc. of the variables
[out]var_unitunit of the variables

Definition at line 159 of file scale_atmos_dyn_tstep_short.F90.

References atmos_dyn_tstep_short, scale_atmos_dyn_tstep_short_fvm_heve::atmos_dyn_tstep_short_fvm_heve(), scale_atmos_dyn_tstep_short_fvm_heve::atmos_dyn_tstep_short_fvm_heve_regist(), scale_atmos_dyn_tstep_short_fvm_heve::atmos_dyn_tstep_short_fvm_heve_setup(), scale_atmos_dyn_tstep_short_fvm_hevi::atmos_dyn_tstep_short_fvm_hevi(), scale_atmos_dyn_tstep_short_fvm_hevi::atmos_dyn_tstep_short_fvm_hevi_regist(), scale_atmos_dyn_tstep_short_fvm_hevi::atmos_dyn_tstep_short_fvm_hevi_setup(), scale_atmos_dyn_tstep_short_fvm_hivi::atmos_dyn_tstep_short_fvm_hivi(), scale_atmos_dyn_tstep_short_fvm_hivi::atmos_dyn_tstep_short_fvm_hivi_regist(), scale_atmos_dyn_tstep_short_fvm_hivi::atmos_dyn_tstep_short_fvm_hivi_setup(), atmos_dyn_tstep_short_setup, scale_stdio::io_fid_log, scale_stdio::io_l, and scale_process::prc_mpistop().

Referenced by mod_atmos_dyn_vars::atmos_dyn_vars_setup().

159  use scale_precision
160  use scale_grid_index
161  use scale_index
162  use scale_process, only: &
164 #define EXTM(pre, name, post) pre ## name ## post
165 #define NAME(pre, name, post) EXTM(pre, name, post)
166 #ifdef DYNAMICS
167  use name(scale_atmos_dyn_tstep_, dynamics,), only: &
168  name(atmos_dyn_rk_tstep_short_, dynamics, _regist), &
169  name(atmos_dyn_rk_tstep_short_, dynamics, _setup), &
170  name(atmos_dyn_rk_tstep_short_, dynamics,)
171 #else
184 #endif
185  implicit none
186 
187  character(len=*), intent(in) :: atmos_dyn_type
188  integer, intent(out) :: va_out
189  character(len=H_SHORT), intent(out) :: var_name(:)
190  character(len=H_MID), intent(out) :: var_desc(:)
191  character(len=H_SHORT), intent(out) :: var_unit(:)
192  !---------------------------------------------------------------------------
193 
194 #ifdef DYNAMICS
195  name(atmos_dyn_tstep_, dynamics, _regist)( &
196  atmos_dyn_type )
197  atmos_dyn_tstep_short_ => name(atmos_dyn_tstep_short_, dynamics,)
198  atmos_dyn_tstep_short_setup => name(atmos_dyn_tstep_short_, dynamics, _setup)
199 #else
200  select case ( atmos_dyn_type )
201  case ( 'FVM-HEVE', 'HEVE' )
202 
203  call atmos_dyn_tstep_short_fvm_heve_regist( atmos_dyn_type, & ! [IN]
204  va_out, & ! [OUT]
205  var_name, var_desc, var_unit ) ! [OUT]
206 
207  atmos_dyn_tstep_short_setup => atmos_dyn_tstep_short_fvm_heve_setup
209 
210  case ( 'FVM-HEVI', 'HEVI' )
211 
212  call atmos_dyn_tstep_short_fvm_hevi_regist( atmos_dyn_type, & ! [IN]
213  va_out, & ! [OUT]
214  var_name, var_desc, var_unit ) ! [OUT]
215 
216  atmos_dyn_tstep_short_setup => atmos_dyn_tstep_short_fvm_hevi_setup
218 
219  case ( 'FVM-HIVI', 'HIVI' )
220 
221  if( io_l ) write(io_fid_log,*) 'xxx HIVI is temtatively disabled'
222  call prc_mpistop
223 
224  call atmos_dyn_tstep_short_fvm_hivi_regist( atmos_dyn_type, & ! [IN]
225  va_out, & ! [OUT]
226  var_name, var_desc, var_unit ) ! [OUT]
227 
228  atmos_dyn_tstep_short_setup => atmos_dyn_tstep_short_fvm_hivi_setup
230 
231  case ( 'OFF', 'NONE' )
232 
233  va_out = 0
234  var_name(:) = ""
235  var_desc(:) = ""
236  var_unit(:) = ""
237 
238  case default
239  write(*,*) 'xxx ATMOS_DYN_TYPE is invalid: ', atmos_dyn_type
240  call prc_mpistop
241  end select
242 #endif
243 
244  return
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_dyn_tstep_short_fvm_hevi_regist(ATMOS_DYN_TYPE, VA_out, VAR_NAME, VAR_DESC, VAR_UNIT)
Register.
subroutine, public atmos_dyn_tstep_short_fvm_hevi(DENS_RK, MOMZ_RK, MOMX_RK, MOMY_RK, RHOT_RK, PROG_RK, mflx_hi, tflx_hi, DENS0, MOMZ0, MOMX0, MOMY0, RHOT0, DENS, MOMZ, MOMX, MOMY, RHOT, DENS_t, MOMZ_t, MOMX_t, MOMY_t, RHOT_t, PROG0, PROG, DPRES0, RT2P, 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_dens, REF_rhot, BND_W, BND_E, BND_S, BND_N, dtrk, dt)
subroutine, public atmos_dyn_tstep_short_fvm_heve(DENS_RK, MOMZ_RK, MOMX_RK, MOMY_RK, RHOT_RK, PROG_RK, mflx_hi, tflx_hi, DENS0, MOMZ0, MOMX0, MOMY0, RHOT0, DENS, MOMZ, MOMX, MOMY, RHOT, DENS_t, MOMZ_t, MOMX_t, MOMY_t, RHOT_t, PROG0, PROG, DPRES0, RT2P, 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_dens, REF_rhot, BND_W, BND_E, BND_S, BND_N, dtrk, dt)
subroutine, public atmos_dyn_tstep_short_fvm_hivi(DENS_RK, MOMZ_RK, MOMX_RK, MOMY_RK, RHOT_RK, PROG_RK, mflx_hi, tflx_hi, DENS0, MOMZ0, MOMX0, MOMY0, RHOT0, DENS, MOMZ, MOMX, MOMY, RHOT, DENS_t, MOMZ_t, MOMX_t, MOMY_t, RHOT_t, PROG0, PROG, DPRES0, RT2P, 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_dens, REF_rhot, BND_W, BND_E, BND_S, BND_N, dtrk, dt)
subroutine, public atmos_dyn_tstep_short_fvm_hivi_regist(ATMOS_DYN_TYPE, VA_out, VAR_NAME, VAR_DESC, VAR_UNIT)
Register.
module grid index
module Index
Definition: scale_index.F90:14
procedure(short), pointer, public atmos_dyn_tstep_short
module PROCESS
subroutine, public atmos_dyn_tstep_short_fvm_heve_regist(ATMOS_DYN_TYPE, VA_out, VAR_NAME, VAR_DESC, VAR_UNIT)
Register.
module PRECISION
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ atmos_dyn_tstep_short_setup

procedure(short_setup), pointer, public scale_atmos_dyn_tstep_short::atmos_dyn_tstep_short_setup => NULL()

Definition at line 134 of file scale_atmos_dyn_tstep_short.F90.

Referenced by scale_atmos_dyn::atmos_dyn_setup(), and atmos_dyn_tstep_short_regist().

134  procedure(short_setup), pointer :: atmos_dyn_tstep_short_setup => null()

◆ atmos_dyn_tstep_short

procedure(short), pointer, public scale_atmos_dyn_tstep_short::atmos_dyn_tstep_short => NULL()