subroutine samfdeepcnv::samfdeepcnv_run | ( | integer, intent(in) | im, |
integer, intent(in) | km, | ||
logical, intent(in) | first_time_step, | ||
logical, intent(in) | restart, | ||
real(kind=kind_phys), dimension(:,:,:), intent(in) | tmf, | ||
real(kind=kind_phys), dimension(:,:), intent(in), optional | qmicro, | ||
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(:,:), intent(in) | delp, | ||
real(kind=kind_phys), dimension(:,:), intent(in) | prslp, | ||
real(kind=kind_phys), dimension(:), intent(in) | psp, | ||
real(kind=kind_phys), dimension(:,:), intent(in) | phil, | ||
real(kind=kind_phys), dimension(:,:,:), intent(inout) | qtr, | ||
real(kind=kind_phys), dimension(:,:), intent(in), optional | prevsq, | ||
real(kind=kind_phys), dimension(:,:), intent(in) | q, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | q1, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | t1, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | u1, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | v1, | ||
real(kind=kind_phys), dimension(:), intent(in) | fscav, | ||
logical, intent(in) | hwrf_samfdeep, | ||
logical, intent(in) | progsigma, | ||
real(kind=kind_phys), dimension(:), intent(out) | cldwrk, | ||
real(kind=kind_phys), dimension(:), intent(out) | rn, | ||
integer, dimension(:), intent(out) | kbot, | ||
integer, dimension(:), intent(out) | ktop, | ||
integer, dimension(:), intent(inout) | kcnv, | ||
integer, dimension(:), intent(in) | islimsk, | ||
real(kind=kind_phys), dimension(:), intent(in) | garea, | ||
real(kind=kind_phys), dimension(:,:), intent(in) | dot, | ||
integer, intent(in) | ncloud, | ||
real(kind=kind_phys), dimension(:), intent(in) | hpbl, | ||
real(kind=kind_phys), dimension(:,:), intent(out), optional | ud_mf, | ||
real(kind=kind_phys), dimension(:,:), intent(out) | dd_mf, | ||
real(kind=kind_phys), dimension(:,:), intent(out) | dt_mf, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | cnvw, | ||
real(kind=kind_phys), dimension(:,:), intent(inout) | cnvc, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | qlcn, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | qicn, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | w_upi, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | cf_upi, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | cnv_mfd, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | cnv_dqldt, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | clcn, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | cnv_fice, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | cnv_ndrop, | ||
real(kind=kind_phys), dimension(:,:), intent(inout), optional | cnv_nice, | ||
integer, intent(in) | mp_phys, | ||
integer, intent(in) | 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) | evef, | ||
real(kind=kind_phys), intent(in) | pgcon, | ||
real(kind=kind_phys), intent(in) | asolfac, | ||
logical, intent(in) | do_ca, | ||
logical, intent(in) | ca_closure, | ||
logical, intent(in) | ca_entr, | ||
logical, intent(in) | ca_trigger, | ||
real(kind=kind_phys), intent(in) | nthresh, | ||
real(kind=kind_phys), dimension(:), intent(in), optional | ca_deep, | ||
real(kind=kind_phys), dimension(:), intent(out) | rainevap, | ||
real(kind=kind_phys), dimension(:,:), intent(in), optional | sigmain, | ||
real(kind=kind_phys), dimension(:,:), intent(out), optional | sigmaout, | ||
real(kind=kind_phys), intent(in) | betadcu, | ||
real(kind=kind_phys), intent(in) | betamcu, | ||
real(kind=kind_phys), intent(in) | betascu, | ||
real(kind=kind_phys), dimension (:), intent(in), optional | maxmf, | ||
logical, intent(in) | do_mynnedmf, | ||
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) [159]
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.
Definition at line 75 of file samfdeepcnv.f.
References energy(), and water().