subroutine samfdeepcnv::samfdeepcnv_run | ( | integer, intent(in) | im, |
integer, intent(in) | ix, | ||
integer, intent(in) | km, | ||
integer, intent(in) | itc, | ||
integer, intent(in) | ntc, | ||
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, | ||
real(kind=kind_phys), intent(in) | fv, | ||
real(kind=kind_phys), intent(in) | grav, | ||
real(kind=kind_phys), intent(in) | hvap, | ||
real(kind=kind_phys), intent(in) | rd, | ||
real(kind=kind_phys), intent(in) | rv, | ||
real(kind=kind_phys), intent(in) | 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, | ||
real(kind=kind_phys), dimension(ix,km), intent(in) | prslp, | ||
real(kind=kind_phys), dimension(im), intent(in) | psp, | ||
real(kind=kind_phys), dimension(ix,km), intent(in) | phil, | ||
real(kind=kind_phys), dimension(ix,km,ntr+2), intent(inout) | qtr, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | q1, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | t1, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | u1, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | v1, | ||
real(kind=kind_phys), dimension(:), intent(in) | fscav, | ||
logical, intent(in) | do_ca, | ||
real(kind=kind_phys), dimension(ix), intent(in) | ca_deep, | ||
real(kind=kind_phys), dimension(im), intent(out) | cldwrk, | ||
real(kind=kind_phys), dimension(im), intent(out) | 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, | ||
real(kind=kind_phys), dimension(im), intent(in) | garea, | ||
real(kind=kind_phys), dimension(ix,km), intent(in) | dot, | ||
integer, intent(in) | ncloud, | ||
real(kind=kind_phys), dimension(im,km), intent(out) | ud_mf, | ||
real(kind=kind_phys), dimension(im,km), intent(out) | dd_mf, | ||
real(kind=kind_phys), dimension(im,km), intent(out) | dt_mf, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | cnvw, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | cnvc, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | QLCN, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | QICN, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | w_upi, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | cf_upi, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | CNV_MFD, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | CNV_DQLDT, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | CLCN, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | CNV_FICE, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | CNV_NDROP, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | CNV_NICE, | ||
integer | mp_phys, | ||
integer | mp_phys_mg, | ||
real(kind=kind_phys), intent(in) | clam, | ||
real(kind=kind_phys), intent(in) | c0s, | ||
real(kind=kind_phys), intent(in) | c1, | ||
real(kind=kind_phys), intent(in) | betal, | ||
real(kind=kind_phys), intent(in) | betas, | ||
real(kind=kind_phys), intent(in) | evfact, | ||
real(kind=kind_phys), intent(in) | evfactl, | ||
real(kind=kind_phys), intent(in) | pgcon, | ||
real(kind=kind_phys), intent(in) | asolfac, | ||
character(len=*), intent(out) | errmsg, | ||
integer, intent(out) | errflg | ||
) |
\epsilon = \epsilon_0F_0 + d_1\left(1-RH\right)F_1
\frac{1}{\eta}\frac{\partial \eta}{\partial z} = \lambda_e - \lambda_d
A_u=\int_{z_0}^{z_t}\frac{g}{c_pT(z)}\frac{\eta}{1 + \gamma}[h(z)-h^*(z)]dz
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
\lambda_d = \frac{1-\beta^{\frac{1}{k_{LFC}}}}{\overline{\Delta z}}
\frac{\partial A}{\partial t}_{LS}=\frac{A^+-cA^0}{\Delta t_{LS}}
\frac{\partial A}{\partial t}_{cu}=\frac{A^*-A^+}{\Delta t_{cu}}
The cloud base mass flux (xmb) is then calculated from equation 7 of Pan and Wu (1995) [139]
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(), and scale().