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

module ATMOSPHERE / Physics Surface bulk coefficient More...

Functions/Subroutines

subroutine, public atmos_phy_sf_bulkcoef_setup
 

Variables

procedure(bc), pointer, public atmos_phy_sf_bulkcoef => NULL()
 

Detailed Description

module ATMOSPHERE / Physics Surface bulk coefficient

Description
Calculation of Bulk coefficient at the surface
Author
Team SCALE
History
  • 2014-02-18 (T.Yamaura) [new]
  • 2014-05-20 (H.Yashiro) [mod] move from coupler to atmos_phy_sf
NAMELIST
  • PARAM_ATMOS_PHY_SF_BULKCOEF
    nametypedefault valuecomment
    ATMOS_PHY_SF_BULKCOEF_TYPE character(len=H_SHORT) 'BH91'
    ATMOS_PHY_SF_BULKCOEF_CM_MAX real(RP) 2.5E-3_RP maximum limit of bulk coefficient for momentum [NIL]
    ATMOS_PHY_SF_BULKCOEF_CH_MAX real(RP) 1.0E+0_RP maximum limit of bulk coefficient for heat [NIL]
    ATMOS_PHY_SF_BULKCOEF_CE_MAX real(RP) 1.0E+0_RP maximum limit of bulk coefficient for moisture [NIL]
    ATMOS_PHY_SF_BULKCOEF_CM_MIN real(RP) 1.0E-5_RP minimum limit of bulk coefficient for momentum [NIL]
    ATMOS_PHY_SF_BULKCOEF_CH_MIN real(RP) 1.0E-5_RP minimum limit of bulk coefficient for heat [NIL]
    ATMOS_PHY_SF_BULKCOEF_CE_MIN real(RP) 1.0E-5_RP minimum limit of bulk coefficient for moisture [NIL]

History Output
No history output

Function/Subroutine Documentation

◆ atmos_phy_sf_bulkcoef_setup()

subroutine, public scale_atmos_phy_sf_bulkcoef::atmos_phy_sf_bulkcoef_setup ( )

Definition at line 98 of file scale_atmos_phy_sf_bulkcoef.F90.

References atmos_phy_sf_bulkcoef, scale_const::const_eps, scale_const::const_grav, scale_const::const_karman, scale_const::const_pi, scale_grid_index::ie, scale_stdio::io_fid_conf, scale_stdio::io_fid_log, scale_stdio::io_l, scale_stdio::io_lnml, scale_grid_index::is, scale_grid_index::je, scale_grid_index::js, dc_log::log(), and scale_process::prc_mpistop().

Referenced by scale_atmos_phy_sf_bulk::atmos_phy_sf_bulk_setup().

98  use scale_process, only: &
100  implicit none
101 
102  namelist / param_atmos_phy_sf_bulkcoef / &
103  atmos_phy_sf_bulkcoef_type, &
104  atmos_phy_sf_bulkcoef_cm_max, &
105  atmos_phy_sf_bulkcoef_ch_max, &
106  atmos_phy_sf_bulkcoef_ce_max, &
107  atmos_phy_sf_bulkcoef_cm_min, &
108  atmos_phy_sf_bulkcoef_ch_min, &
109  atmos_phy_sf_bulkcoef_ce_min
110 
111  integer :: ierr
112  !---------------------------------------------------------------------------
113 
114  if( io_l ) write(io_fid_log,*)
115  if( io_l ) write(io_fid_log,*) '*** Bulk coefficient parameter'
116 
117  !--- read namelist
118  rewind(io_fid_conf)
119  read(io_fid_conf,nml=param_atmos_phy_sf_bulkcoef,iostat=ierr)
120  if( ierr < 0 ) then !--- missing
121  if( io_l ) write(io_fid_log,*) '*** Not found namelist. Default used.'
122  elseif( ierr > 0 ) then !--- fatal error
123  write(*,*) 'xxx Not appropriate names in namelist PARAM_ATMOS_PHY_SF_BULKCOEF. Check!'
124  call prc_mpistop
125  endif
126  if( io_lnml ) write(io_fid_log,nml=param_atmos_phy_sf_bulkcoef)
127 
128  select case( atmos_phy_sf_bulkcoef_type )
129  case ('U95')
130  atmos_phy_sf_bulkcoef => atmos_phy_sf_bulkcoef_uno
131  case ('BH91')
132  atmos_phy_sf_bulkcoef => atmos_phy_sf_bulkcoef_beljaars
133  case default
134  write(*,*) 'xxx invalid bulk scheme (', trim(atmos_phy_sf_bulkcoef_type), '). CHECK!'
135  call prc_mpistop
136  end select
137 
138  return
subroutine, public prc_mpistop
Abort MPI.
logical, public io_l
output log or not? (this process)
Definition: scale_stdio.F90:59
procedure(bc), pointer, public atmos_phy_sf_bulkcoef
module PROCESS
logical, public io_lnml
output log or not? (for namelist, this process)
Definition: scale_stdio.F90:60
integer, public io_fid_conf
Config file ID.
Definition: scale_stdio.F90:55
integer, public io_fid_log
Log file ID.
Definition: scale_stdio.F90:56
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ atmos_phy_sf_bulkcoef

procedure(bc), pointer, public scale_atmos_phy_sf_bulkcoef::atmos_phy_sf_bulkcoef => NULL()

Definition at line 62 of file scale_atmos_phy_sf_bulkcoef.F90.

Referenced by scale_atmos_phy_sf_bulk::atmos_phy_sf_bulk(), and atmos_phy_sf_bulkcoef_setup().

62  procedure(bc), pointer :: atmos_phy_sf_bulkcoef => null()
procedure(bc), pointer, public atmos_phy_sf_bulkcoef