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(), scale_stdio::io_fid_log, scale_stdio::io_l, and scale_process::prc_mpistop().

Referenced by mod_atmos_phy_sf_driver::atmos_phy_sf_driver_setup().

105  use scale_process, only: &
107  use scale_atmos_phy_sf_const, only: &
110  use scale_atmos_phy_sf_bulk, only: &
113  implicit none
114 
115  character(len=*), intent(in) :: SF_TYPE
116  !---------------------------------------------------------------------------
117 
118  if( io_l ) write(io_fid_log,*) '*** => ', trim(sf_type), ' is selected.'
119 
120  select case( sf_type )
121  case('CONST')
122  call atmos_phy_sf_const_setup( sf_type )
124  case('BULK')
125  call atmos_phy_sf_bulk_setup( sf_type )
127  case('OFF')
128  ! do nothing
129  case('COUPLE')
130  if( io_l ) write(io_fid_log,*) '*** do nothing here'
131  case default
132  write(*,*) 'xxx invalid Surface flux type(', trim(sf_type), '). CHECK!'
133  call prc_mpistop
134  end select
135 
136  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()