subroutine samfdeepcnv::samfdeepcnv_run | ( | integer, intent(in) | im, |
integer, intent(in) | ix, | ||
integer, intent(in) | km, | ||
real(kind=kind_phys), intent(in) | cliq, | ||
real(kind=kind_phys), intent(in) | cp, | ||
real(kind=kind_phys), intent(in) | cvap, | ||
real(kind=kind_phys), intent(in) | eps, | ||
real(kind=kind_phys), intent(in) | epsm1, | ||
fv, | |||
grav, | |||
hvap, | |||
rd, | |||
rv, | |||
t0c, | |||
real(kind=kind_phys), intent(in) | delt, | ||
integer, intent(in) | ntk, | ||
integer, intent(in) | ntr, | ||
real(kind=kind_phys), dimension(ix,km), intent(in) | delp, | ||
prslp, | |||
real(kind=kind_phys), dimension(im), intent(in) | psp, | ||
phil, | |||
real(kind=kind_phys), dimension(ix,km,ntr+2), intent(inout) | qtr, | ||
q1, | |||
t1, | |||
u1, | |||
v1, | |||
real(kind=kind_phys), dimension(im), intent(out) | cldwrk, | ||
rn, | |||
integer, dimension(im), intent(out) | kbot, | ||
integer, dimension(im), intent(out) | ktop, | ||
integer, dimension(im), intent(inout) | kcnv, | ||
integer, dimension(im), intent(in) | islimsk, | ||
garea, | |||
dot, | |||
integer, intent(in) | ncloud, | ||
ud_mf, | |||
dd_mf, | |||
dt_mf, | |||
cnvw, | |||
cnvc, | |||
real(kind=kind_phys), intent(in) | clam, | ||
real(kind=kind_phys), intent(in) | c0s, | ||
real(kind=kind_phys), intent(in) | c1, | ||
betal, | |||
betas, | |||
evfact, | |||
evfactl, | |||
pgcon, | |||
asolfac, | |||
character(len=*), intent(out) | errmsg, | ||
integer, intent(out) | errflg | ||
) |
\epsilon = \epsilon_0F_0 + d_1\left(1-RH\right)F_1
where \epsilon_0 is the cloud base entrainment rate, d_1 is a tunable constant, and F_0=\left(\frac{q_s}{q_{s,b}}\right)^2 and F_1=\left(\frac{q_s}{q_{s,b}}\right)^3 where q_s and q_{s,b} are the saturation specific humidities at a given level and cloud base, respectively. The detrainment rate in the cloud is assumed to be equal to the entrainment rate at cloud base.\frac{1}{\eta}\frac{\partial \eta}{\partial z} = \lambda_e - \lambda_d
where \eta is the normalized mass flux, \lambda_e is the entrainment rate and \lambda_d is the detrainment rate.A_u=\int_{z_0}^{z_t}\frac{g}{c_pT(z)}\frac{\eta}{1 + \gamma}[h(z)-h^*(z)]dz
(discretized according to Grell (1993) [36] equation B.10 using B.2 and B.3 of Arakawa and Schubert (1974) [3] and assuming \eta=1) where A_u is the updraft cloud work function, z_0 and z_t are cloud base and cloud top, respectively, \gamma = \frac{L}{c_p}\left(\frac{\partial \overline{q_s}}{\partial T}\right)_p and other quantities are previously defined.E = 1.591 - 0.639\frac{\Delta V}{\Delta z} + 0.0953\left(\frac{\Delta V}{\Delta z}\right)^2 - 0.00496\left(\frac{\Delta V}{\Delta z}\right)^3
where \Delta V is the integrated horizontal shear over the cloud depth, \Delta z, (the ratio is converted to units of 10^{-3} s^{-1}). The variable "edto" is 1-E and is constrained to the range [0,0.9].\lambda_d = \frac{1-\beta^{\frac{1}{k_{LFC}}}}{\overline{\Delta z}}
\lambda_d is the detrainment rate, \beta is a constant currently set to 0.05, implying that only 5% of downdraft mass flux at LFC reaches the ground surface due to detrainment, k_{LFC} is the vertical index of the LFC level, and \overline{\Delta z} is the average vertical grid spacing below the LFC.\frac{\partial A}{\partial t}_{LS}=\frac{A^+-cA^0}{\Delta t_{LS}}
Here A^0 is set to zero following Han et al.'s (2017) [41] , implying that the instability is completely eliminated after the convective adjustment time, \Delta t_{LS}.\frac{\partial A}{\partial t}_{cu}=\frac{A^*-A^+}{\Delta t_{cu}}
\Delta t_{cu} is the short timescale of the convection.The cloud base mass flux (xmb) is then calculated from equation 7 of Pan and Wu (1995) [83]
M_c=\frac{-\frac{\partial A}{\partial t}_{LS}}{\frac{\partial A}{\partial t}_{cu}}
Again when dtconv is larger than tauadv, the cloud base mass flux is further reduced in proportion to the ratio of tauadv to dtconv.
References funcphys::fpvs().