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

module ATMOSPHERE / Physics Turbulence More...

Data Types

interface  su
 

Functions/Subroutines

subroutine, public atmos_phy_tb_config (TB_TYPE)
 register More...
 

Variables

procedure(tb), pointer, public atmos_phy_tb => NULL()
 
procedure(su), pointer, public atmos_phy_tb_setup => NULL()
 
integer, public i_tke = -1
 

Detailed Description

module ATMOSPHERE / Physics Turbulence

Description
Sub-grid scale turbulence process
Author
Team SCALE
History
  • 2013-12-05 (S.Nishizawa) [new]
  • 2014-03-30 (A.Noda) [mod] add DNS

Function/Subroutine Documentation

◆ atmos_phy_tb_config()

subroutine, public scale_atmos_phy_tb::atmos_phy_tb_config ( character(len=*), intent(in)  TB_TYPE)

register

Definition at line 121 of file scale_atmos_phy_tb.F90.

References atmos_phy_tb, scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980(), scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980_config(), scale_atmos_phy_tb_d1980::atmos_phy_tb_d1980_setup(), scale_atmos_phy_tb_dns::atmos_phy_tb_dns(), scale_atmos_phy_tb_dns::atmos_phy_tb_dns_config(), scale_atmos_phy_tb_dns::atmos_phy_tb_dns_setup(), scale_atmos_phy_tb_hybrid::atmos_phy_tb_hybrid(), scale_atmos_phy_tb_hybrid::atmos_phy_tb_hybrid_config(), scale_atmos_phy_tb_hybrid::atmos_phy_tb_hybrid_setup(), scale_atmos_phy_tb_mynn::atmos_phy_tb_mynn(), scale_atmos_phy_tb_mynn::atmos_phy_tb_mynn_config(), scale_atmos_phy_tb_mynn::atmos_phy_tb_mynn_setup(), atmos_phy_tb_setup, scale_atmos_phy_tb_smg::atmos_phy_tb_smg(), scale_atmos_phy_tb_smg::atmos_phy_tb_smg_config(), scale_atmos_phy_tb_smg::atmos_phy_tb_smg_setup(), i_tke, scale_stdio::io_fid_log, scale_stdio::io_l, and scale_process::prc_mpistop().

Referenced by mod_atmos_phy_tb_driver::atmos_phy_tb_driver_config().

121  use scale_process, only: &
123  use scale_atmos_phy_tb_smg, only: &
127  use scale_atmos_phy_tb_d1980, only: &
131  use scale_atmos_phy_tb_dns, only: &
135  use scale_atmos_phy_tb_mynn, only: &
139  use scale_atmos_phy_tb_hybrid, only: &
143  implicit none
144 
145  character(len=*), intent(in) :: TB_TYPE
146  !---------------------------------------------------------------------------
147 
148  if( io_l ) write(io_fid_log,*) '*** => ', trim(tb_type), ' is selected.'
149 
150  select case( tb_type )
151  case( 'SMAGORINSKY' )
152 
153  call atmos_phy_tb_smg_config( tb_type, & ! [IN]
154  i_tke ) ! [OUT]
155 
156  atmos_phy_tb => atmos_phy_tb_smg
157  atmos_phy_tb_setup => atmos_phy_tb_smg_setup
158 
159  case( 'D1980' )
160 
161  call atmos_phy_tb_d1980_config( tb_type, & ! [IN]
162  i_tke ) ! [OUT]
163 
164  atmos_phy_tb => atmos_phy_tb_d1980
165  atmos_phy_tb_setup => atmos_phy_tb_d1980_setup
166 
167  case( 'DNS' )
168 
169  call atmos_phy_tb_dns_config( tb_type, & ! [IN]
170  i_tke ) ! [OUT]
171 
172  atmos_phy_tb => atmos_phy_tb_dns
173  atmos_phy_tb_setup => atmos_phy_tb_dns_setup
174 
175  case( 'MYNN' )
176 
177  call atmos_phy_tb_mynn_config( tb_type, & ! [IN]
178  i_tke ) ! [OUT]
179 
180  atmos_phy_tb => atmos_phy_tb_mynn
181  atmos_phy_tb_setup => atmos_phy_tb_mynn_setup
182 
183  case('HYBRID')
184 
185  call atmos_phy_tb_hybrid_config( tb_type, & ! [IN]
186  i_tke ) ! [OUT]
187 
188  atmos_phy_tb => atmos_phy_tb_hybrid
189  atmos_phy_tb_setup => atmos_phy_tb_hybrid_setup
190 
191  case('OFF')
192 
193  ! do nothing
194 
195  case default
196 
197  write(*,*) 'xxx ATMOS_PHY_TB_TYPE is invalid: ', tb_type
198  call prc_mpistop
199 
200  end select
201 
202  return
module ATMOSPHERE / Physics Turbulence
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_phy_tb_d1980(qflx_sgs_momz, qflx_sgs_momx, qflx_sgs_momy, qflx_sgs_rhot, qflx_sgs_rhoq, RHOQ_t, Km, Ri, Pr, MOMZ, MOMX, MOMY, RHOT, DENS, QTRC, N2, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_Q, GSQRT, J13G, J23G, J33G, MAPF, dt)
subroutine, public atmos_phy_tb_dns(qflx_sgs_MOMZ, qflx_sgs_MOMX, qflx_sgs_MOMY, qflx_sgs_rhot, qflx_sgs_rhoq, RHOQ_t, nu, Ri, Pr, MOMZ, MOMX, MOMY, RHOT, DENS, QTRC, N2, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_Q, GSQRT, J13G, J23G, J33G, MAPF, dt)
subroutine, public atmos_phy_tb_d1980_config(TYPE_TB, I_TKE_out)
Config.
subroutine, public atmos_phy_tb_smg_setup(CDZ, CDX, CDY, CZ)
Setup.
subroutine, public atmos_phy_tb_mynn_setup(CDZ, CDX, CDY, CZ)
Setup.
module ATMOSPHERE / Physics Turbulence
subroutine, public atmos_phy_tb_dns_setup(CDZ, CDX, CDY, CZ)
module ATMOSPHERE / Physics Turbulence
subroutine, public atmos_phy_tb_hybrid_config(TB_TYPE, I_TKE_out)
Config.
subroutine, public atmos_phy_tb_mynn(qflx_sgs_momz, qflx_sgs_momx, qflx_sgs_momy, qflx_sgs_rhot, qflx_sgs_rhoq, RHOQ_t, Nu, Ri, Pr, MOMZ, MOMX, MOMY, RHOT, DENS, QTRC, N2_in, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_Q, GSQRT, J13G, J23G, J33G, MAPF, dt)
subroutine, public atmos_phy_tb_dns_config(TYPE_TB, I_TKE_out)
Config.
subroutine, public atmos_phy_tb_mynn_config(TYPE_TB, I_TKE_out)
Config.
module ATMOSPHERE / Physics Turbulence
module PROCESS
subroutine, public atmos_phy_tb_hybrid_setup(CDZ, CDX, CDY, CZ)
Setup.
subroutine, public atmos_phy_tb_smg(qflx_sgs_momz, qflx_sgs_momx, qflx_sgs_momy, qflx_sgs_rhot, qflx_sgs_rhoq, RHOQ_t, Nu, Ri, Pr, MOMZ, MOMX, MOMY, RHOT, DENS, QTRC, N2, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_Q, GSQRT, J13G, J23G, J33G, MAPF, dt)
subroutine, public atmos_phy_tb_d1980_setup(CDZ, CDX, CDY, CZ)
Setup.
subroutine, public atmos_phy_tb_hybrid(qflx_sgs_momz, qflx_sgs_momx, qflx_sgs_momy, qflx_sgs_rhot, qflx_sgs_rhoq, RHOQ_t, Nu, Ri, Pr, MOMZ, MOMX, MOMY, RHOT, DENS, QTRC, N2, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_Q, GSQRT, J13G, J23G, J33G, MAPF, dt)
module ATMOSPHERE / Physics Turbulence
subroutine, public atmos_phy_tb_smg_config(TYPE_TB, I_TKE_out)
Config.
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ atmos_phy_tb

procedure(tb), pointer, public scale_atmos_phy_tb::atmos_phy_tb => NULL()

Definition at line 94 of file scale_atmos_phy_tb.F90.

Referenced by atmos_phy_tb_config(), and mod_atmos_phy_tb_driver::atmos_phy_tb_driver().

94  procedure(tb), pointer :: ATMOS_PHY_TB => null()

◆ atmos_phy_tb_setup

procedure(su), pointer, public scale_atmos_phy_tb::atmos_phy_tb_setup => NULL()

Definition at line 96 of file scale_atmos_phy_tb.F90.

Referenced by atmos_phy_tb_config(), and mod_atmos_phy_tb_driver::atmos_phy_tb_driver_setup().

96  procedure(su), pointer :: ATMOS_PHY_TB_setup => null()

◆ i_tke

integer, public scale_atmos_phy_tb::i_tke = -1

Definition at line 106 of file scale_atmos_phy_tb.F90.

Referenced by atmos_phy_tb_config(), mod_atmos_phy_tb_driver::atmos_phy_tb_driver(), and mod_mkinit::tke_setup().

106  integer, public :: I_TKE = -1