SCALE-RM
Functions/Subroutines
scale_atmos_phy_cp_common Module Reference

module atmosphere / physics / cumulus / Common More...

Functions/Subroutines

subroutine, public atmos_phy_cp_common_setup
 Setup. More...
 
subroutine, public atmos_phy_cp_common_wmean (KA, KS, KE, IA, IS, IE, JA, JS, JE, W, TIME_DTSEC, CP_DTSEC, W0_mean)
 ATMOS_PHY_CP_wmean running mean vertical wind velocity comment for W0 imported from WRF. More...
 

Detailed Description

module atmosphere / physics / cumulus / Common

Description
Common module for Cumulus convection parameterization Running mean of vertical wind velocity
Author
Team SCALE
NAMELIST
  • PARAM_ATMOS_PHY_CP_COMMON
    nametypedefault valuecomment
    PARAM_ATMOS_PHY_CP_WADAPT logical .true.
    PARAM_ATMOS_PHY_CP_W_TIME integer 16

History Output
No history output

Function/Subroutine Documentation

◆ atmos_phy_cp_common_setup()

subroutine, public scale_atmos_phy_cp_common::atmos_phy_cp_common_setup

Setup.

Definition at line 52 of file scale_atmos_phy_cp_common.F90.

52  use scale_prc, only: &
53  prc_abort
54  implicit none
55 
56  namelist / param_atmos_phy_cp_common / &
57  param_atmos_phy_cp_wadapt, &
58  param_atmos_phy_cp_w_time
59 
60  integer :: ierr
61  !---------------------------------------------------------------------------
62 
63  log_newline
64  log_info("ATMOS_PHY_CP_common_setup",*) 'Setup'
65  log_info("ATMOS_PHY_CP_common_setup",*) 'CP-COMMON'
66 
67  !--- read namelist
68  rewind(io_fid_conf)
69  read(io_fid_conf,nml=param_atmos_phy_cp_common,iostat=ierr)
70  if( ierr < 0 ) then !--- missing
71  log_info("ATMOS_PHY_CP_common_setup",*) 'Not found namelist. Default used.'
72  elseif( ierr > 0 ) then !--- fatal error
73  log_error("ATMOS_PHY_CP_common_setup",*) 'Not appropriate names in namelist PARAM_ATMOS_PHY_CP_COMMON. Check!'
74  call prc_abort
75  endif
76  log_nml(param_atmos_phy_cp_common)
77 
78  ! output parameter lists
79  log_newline
80  log_info("ATMOS_PHY_CP_common_setup",*) "Use running mean of w in adaptive timestep? : ", param_atmos_phy_cp_wadapt
81  log_info("ATMOS_PHY_CP_common_setup",*) "Fixed time scale for running mean of w : ", param_atmos_phy_cp_w_time
82 
83  return

References scale_io::io_fid_conf, and scale_prc::prc_abort().

Referenced by mod_atmos_phy_cp_driver::atmos_phy_cp_driver_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atmos_phy_cp_common_wmean()

subroutine, public scale_atmos_phy_cp_common::atmos_phy_cp_common_wmean ( integer, intent(in)  KA,
integer, intent(in)  KS,
integer, intent(in)  KE,
integer, intent(in)  IA,
integer, intent(in)  IS,
integer, intent(in)  IE,
integer, intent(in)  JA,
integer, intent(in)  JS,
integer, intent(in)  JE,
real(rp), dimension(ka,ia,ja), intent(in)  W,
real(dp), intent(in)  TIME_DTSEC,
real(dp), intent(in)  CP_DTSEC,
real(rp), dimension(ka,ia,ja), intent(inout)  W0_mean 
)

ATMOS_PHY_CP_wmean running mean vertical wind velocity comment for W0 imported from WRF.

TST IS THE NUMBER OF TIME STEPS IN 10 MINUTES...W0AVG IS CLOSE TO A RUNNING MEAN VERTICAL VELOCITY...NOTE THAT IF YOU CHANGE TST, IT WIL CHANGE THE FREQUENCY OF THE CONVECTIVE INTITIATION CHECK (SEE BELOW) NOTE THAT THE ORDERING OF VERTICAL LAYERS MUST BE REVERSED FOR W0AVG

Definition at line 102 of file scale_atmos_phy_cp_common.F90.

102  implicit none
103  integer, intent(in) :: KA, KS, KE
104  integer, intent(in) :: IA, IS, IE
105  integer, intent(in) :: JA, JS, JE
106 
107  real(RP), intent(in) :: W(KA,IA,JA)
108  real(DP), intent(in) :: TIME_DTSEC
109  real(DP), intent(in) :: CP_DTSEC
110 
111  real(RP), intent(inout) :: W0_mean(KA,IA,JA)
112 
113  real(RP) :: fact_W0_mean, fact_W0
114 
115  integer :: k, i, j
116  !---------------------------------------------------------------------------
117 
118  if ( param_atmos_phy_cp_wadapt ) then
119  fact_w0_mean = 2.0_rp * max(cp_dtsec,time_dtsec) - time_dtsec
120  fact_w0 = time_dtsec
121  else ! w_time is tuning parameter
122  fact_w0_mean = real(param_atmos_phy_cp_w_time,rp)
123  fact_w0 = 1.0_rp
124  endif
125 
126  do j = js, je
127  do i = is, ie
128  do k = ks, ke
129  w0_mean(k,i,j) = ( w0_mean(k,i,j) * fact_w0_mean &
130  + w(k,i,j) * fact_w0 ) / ( fact_w0_mean + fact_w0 )
131  enddo
132  enddo
133  enddo
134 
135  return

References scale_atmos_grid_cartesc_index::ie, scale_atmos_grid_cartesc_index::is, scale_atmos_grid_cartesc_index::je, scale_atmos_grid_cartesc_index::js, scale_tracer::k, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::ks, and scale_precision::rp.

Referenced by mod_atmos_phy_cp_driver::atmos_phy_cp_driver_calc_tendency().

Here is the caller graph for this function:
scale_prc::prc_abort
subroutine, public prc_abort
Abort Process.
Definition: scale_prc.F90:342
scale_prc
module PROCESS
Definition: scale_prc.F90:11