subroutine zhaocarr_gscond::zhaocarr_gscond_run | ( | integer, intent(in) | im, |
integer, intent(in) | ix, | ||
integer, intent(in) | km, | ||
real(kind=kind_phys), intent(in) | dt, | ||
real(kind=kind_phys), intent(in) | dtf, | ||
real(kind=kind_phys), dimension(ix,km), intent(in) | prsl, | ||
real(kind=kind_phys), dimension(im), intent(in) | ps, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | q, | ||
real(kind=kind_phys), dimension(ix,km), intent(in) | clw1, | ||
real(kind=kind_phys), dimension(ix,km), intent(in) | clw2, | ||
real(kind=kind_phys), dimension(ix,km), intent(out) | cwm, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | t, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | tp, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | qp, | ||
real(kind=kind_phys), dimension(im), intent(inout) | psp, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | tp1, | ||
real(kind=kind_phys), dimension(ix,km), intent(inout) | qp1, | ||
real(kind=kind_phys), dimension(im), intent(inout) | psp1, | ||
real(kind=kind_phys), dimension(im,km), intent(in) | u, | ||
logical, intent(in) | lprnt, | ||
integer, intent(in) | ipr, | ||
character(len=*), intent(out) | errmsg, | ||
integer, intent(out) | errflg | ||
) |
A_{t}=(t-tp)/dt
A_{q}=(q-qp)/dt
A_{p}=(prsl-\frac{prsl}{ps} \times psp)/dt
b=1-\left ( \frac{f_{s}-f}{f_{s}-u} \right )^{1/2}
for f>u; and b=0 for f<u. where f_{s}=1.0 is the relative humidity in a cloud region and u ,which is an input parameter accounts for the effects of subgrid-scale variations in moisture on large-scale condensation. Since both temperature and moisture may vary at scales smaller than the model grid scale, it is possible for condensation to occur before the grid-average relative humidity reaches 100%. Therefore u needs to be less than 1.0 to account for the subgrid-scale variation of temperature and moisture fields and allow subgrid-scale condensation.q_{0}=uq_{s}
E_{c}=\frac{q_{0}-q}{dt}
E_{c}=\frac{q_{s}}{dt}(u-f)
where dt is the time step for precipitation calculation in the model. It is a simplified version of a higher-order cloud evaporation algorithm (Rutledge and Hobbs (1983) [91]). In the case where all clouds will evaporate before u is reached, the following equation is used:E_{c}=\frac{cwm}{dt}
C_{g}=\frac{M-q_{s}f_{t}}{1+(f\epsilon L^{2}q_{s}/RC_{p}T^{2})}+E_{c}
whereM=A_{q}-\frac{f\epsilon Lq_{s}}{RT^{2}}A_{t}+\frac{fq_{s}}{p}A_{p}
To close the system, an equation for the relative humidity tendency f_{t} was derived by Sundqvist et al.(1989) [98] using the hypothesis that the quantity M+E_{c} is divided into one part, bM,which condenses in the already cloudy portion of a grid square, and another part, (1-b)M+E_{c},which is used to increase the relative humidity of the cloud-free portion and the cloudiness in the square. The equation is written asf_{t}=\frac{2(1-b)(f_{s}-u)[(1-b)M+E_{c}]}{2q_{s}(1-b)(f_{s}-u)+cwm/b}
cwm=cwm+(C_{g}-E_{c})\times dt
q=q-(C_{g}-E_{c})\times dt
t=t+\frac{L}{C_{p}}(C_{g}-E_{c})\times dt
References physcons::con_cp, physcons::con_eps, physcons::con_epsm1, physcons::con_g, physcons::con_hfus, physcons::con_hvap, physcons::con_psat, physcons::con_rd, physcons::con_rv, physcons::con_ttp, and funcphys::fpvs().