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

module ATMOSPHERE / Physics Surface fluxes More...

Functions/Subroutines

subroutine, public atmos_phy_sf_setup (SF_TYPE)
 

Variables

procedure(sf), pointer, public atmos_phy_sf => NULL()
 

Detailed Description

module ATMOSPHERE / Physics Surface fluxes

Description
Flux from/to bottom wall of atmosphere (surface)
Author
Team SCALE
History
  • 2013-12-05 (S.Nishizawa) [new]
  • 2014-04-11 (A.Noda) [mod] add the grayzone module
  • 2014-05-01 (Y.Sato) [mod] move grayzone module to mod_user

Function/Subroutine Documentation

◆ atmos_phy_sf_setup()

subroutine, public scale_atmos_phy_sf::atmos_phy_sf_setup ( character(len=*), intent(in)  SF_TYPE)

Definition at line 106 of file scale_atmos_phy_sf.F90.

References atmos_phy_sf, scale_atmos_phy_sf_bulk::atmos_phy_sf_bulk(), scale_atmos_phy_sf_bulk::atmos_phy_sf_bulk_setup(), scale_atmos_phy_sf_const::atmos_phy_sf_const(), scale_atmos_phy_sf_const::atmos_phy_sf_const_setup(), and scale_process::prc_mpistop().

Referenced by mod_atmos_phy_sf_driver::atmos_phy_sf_driver_setup().

106  use scale_process, only: &
108 #define EXTM(pre, name, post) pre ## name ## post
109 #define NAME(pre, name, post) EXTM(pre, name, post)
110 #ifdef SF
111  use name(scale_atmos_phy_, sf,), only: &
112  name(atmos_phy_, sf, _setup), &
113  name(atmos_phy_, sf,)
114 #else
115  use scale_atmos_phy_sf_const, only: &
118  use scale_atmos_phy_sf_bulk, only: &
121 #endif
122  implicit none
123 
124  character(len=*), intent(in) :: sf_type
125  !---------------------------------------------------------------------------
126 
127  select case( sf_type )
128  case('CONST')
129  call atmos_phy_sf_const_setup( sf_type )
131  case('BULK')
132  call atmos_phy_sf_bulk_setup( sf_type )
134  case('OFF', 'COUPLE')
135  ! do nothing
136  case default
137  write(*,*) 'xxx ATMPS_PHY_SF_TYPE is invalid'
138  call prc_mpistop
139  end select
140 
141  return
subroutine, public atmos_phy_sf_bulk_setup(ATMOS_PHY_SF_TYPE)
Setup.
subroutine, public prc_mpistop
Abort MPI.
subroutine, public atmos_phy_sf_const(ATM_TEMP, ATM_PRES, ATM_W, ATM_U, ATM_V, ATM_DENS, ATM_QTRC, ATM_Z1, dt, SFC_DENS, SFC_PRES, SFLX_LW_dn, SFLX_SW_dn, SFC_TEMP, SFC_albedo, SFC_beta, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_QTRC, U10, V10, T2, Q2)
Constant flux.
subroutine, public atmos_phy_sf_bulk(ATM_TEMP, ATM_PRES, ATM_W, ATM_U, ATM_V, ATM_DENS, ATM_QTRC, ATM_Z1, dt, SFC_DENS, SFC_PRES, SFLX_LW_dn, SFLX_SW_dn, SFC_TEMP, SFC_albedo, SFC_beta, SFC_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_QTRC, U10, V10, T2, Q2)
Calculate surface flux.
procedure(sf), pointer, public atmos_phy_sf
module ATMOSPHERE / Physics Surface fluxes
module PROCESS
module ATMOSPHERE / Physics Surface fluxes
subroutine, public atmos_phy_sf_const_setup(ATMOS_PHY_SF_TYPE)
Setup.
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ atmos_phy_sf

procedure(sf), pointer, public scale_atmos_phy_sf::atmos_phy_sf => NULL()

Definition at line 97 of file scale_atmos_phy_sf.F90.

Referenced by mod_atmos_phy_sf_driver::atmos_phy_sf_driver(), and atmos_phy_sf_setup().

97  procedure(sf), pointer :: atmos_phy_sf => null()
procedure(sf), pointer, public atmos_phy_sf