45 logical,
private :: param_atmos_phy_cp_wadapt = .true.
46 integer,
private :: param_atmos_phy_cp_w_time = 16
56 namelist / param_atmos_phy_cp_common / &
57 param_atmos_phy_cp_wadapt, &
58 param_atmos_phy_cp_w_time
64 log_info(
"ATMOS_PHY_CP_common_setup",*)
'Setup' 65 log_info(
"ATMOS_PHY_CP_common_setup",*)
'CP-COMMON' 69 read(
io_fid_conf,nml=param_atmos_phy_cp_common,iostat=ierr)
71 log_info(
"ATMOS_PHY_CP_common_setup",*)
'Not found namelist. Default used.' 72 elseif( ierr > 0 )
then 73 log_error(
"ATMOS_PHY_CP_common_setup",*)
'Not appropriate names in namelist PARAM_ATMOS_PHY_CP_COMMON. Check!' 76 log_nml(param_atmos_phy_cp_common)
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
98 KA, KS, KE, IA, IS, IE, JA, JS, JE, &
100 TIME_DTSEC, CP_DTSEC, &
103 integer,
intent(in) :: KA, KS, KE
104 integer,
intent(in) :: IA, IS, IE
105 integer,
intent(in) :: JA, JS, JE
107 real(RP),
intent(in) :: W(ka,ia,ja)
108 real(DP),
intent(in) :: TIME_DTSEC
109 real(DP),
intent(in) :: CP_DTSEC
111 real(RP),
intent(inout) :: W0_mean(ka,ia,ja)
113 real(RP) :: fact_W0_mean, fact_W0
118 if ( param_atmos_phy_cp_wadapt )
then 119 fact_w0_mean = 2.0_rp * max(cp_dtsec,time_dtsec) - time_dtsec
122 fact_w0_mean =
real(param_atmos_phy_cp_w_time,
rp)
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 )
subroutine, public atmos_phy_cp_common_setup
Setup.
integer, public io_fid_conf
Config file ID.
module atmosphere / physics / cumulus / Common
subroutine, public prc_abort
Abort Process.
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...
integer, parameter, public rp