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 105 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().

105  use scale_process, only: &
107 #define EXTM(pre, name, post) pre ## name ## post
108 #define NAME(pre, name, post) EXTM(pre, name, post)
109 #ifdef SF
110  use name(scale_atmos_phy_, sf,), only: &
111  name(atmos_phy_, sf, _setup), &
112  name(atmos_phy_, sf,)
113 #else
114  use scale_atmos_phy_sf_const, only: &
117  use scale_atmos_phy_sf_bulk, only: &
120 #endif
121  implicit none
122 
123  character(len=*), intent(in) :: sf_type
124  !---------------------------------------------------------------------------
125 
126  select case( sf_type )
127  case('CONST')
128  call atmos_phy_sf_const_setup( sf_type )
130  case('BULK')
131  call atmos_phy_sf_bulk_setup( sf_type )
133  case('OFF', 'COUPLE')
134  ! do nothing
135  case default
136  write(*,*) 'xxx ATMPS_PHY_SF_TYPE is invalid'
137  call prc_mpistop
138  end select
139 
140  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_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_QTRC, U10, V10, T2, Q2)
Constant 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_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_Z0M, SFC_Z0H, SFC_Z0E, SFLX_MW, SFLX_MU, SFLX_MV, SFLX_SH, SFLX_LH, SFLX_QTRC, U10, V10, T2, Q2)
Calculate surface flux.
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 96 of file scale_atmos_phy_sf.F90.

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

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