4 SUBROUTINE convect1(len, nd, ndp1, noff, minorig, t, q, qs, u, v, p, ph, &
5 iflag, ft, fq, fu, fv, precip, cbmf, delt, ma)
134 REAL delt, cpd, cpv, cl, rv, rd, lv0, g
135 REAL sigs, sigd, elcrit, tlcrit, omtsnow, dtmax, damp
136 REAL alpha, entp, coeffs, coeffr, omtrain, cu
293 REAL tg, qg, s, alv, tc, ahg, denom, es, rg
369 prccon1 = 86400.0*1000.0/(rowl*g)
399 lv(i, k) = lv0 - clmcpv*(t(i,k)-273.15)
400 cpn(i, k) = cpd*(1.0-q(i,k)) + cpv*q(i, k)
401 cpx(i, k) = cpd*(1.0-q(i,k)) + cl*q(i, k)
402 tv(i, k) = t(i, k)*(1.0+q(i,k)*epsim1)
413 gz(i, k) = gz(i, k-1) + hrd*(tv(i,k-1)+tv(i,k))*(p(i,k-1)-p(i,k))/ph(i, &
423 h(i, k) = gz(i, k) + cpn(i, k)*t(i, k)
424 hm(i, k) = gz(i, k) + cpx(i, k)*(t(i,k)-t(i,1)) + lv(i, k)*q(i, k)
440 IF ((hm(i,k)<work(i)) .AND. (hm(i,k)<hm(i,k-1)))
THEN
447 ihmin(i) = min(ihmin(i), nlm)
448 IF (ihmin(i)<=minorig)
THEN
459 work(i) = hm(i, minorig)
462 DO k = minorig + 1, nl
464 IF ((hm(i,k)>work(i)) .AND. (k<=ihmin(i)))
THEN
475 IF (((t(i,nk(i))<250.0) .OR. (q(i,nk(i))<=0.0) .OR. (p(i,ihmin(i))< &
476 400.0)) .AND. (iflag(i)==0)) iflag(i) = 7
485 gznk(i) = gz(i, nk(i))
487 qsnk(i) = qs(i, nk(i))
489 rh(i) = qnk(i)/qsnk(i)
490 rh(i) = min(1.0, rh(i))
491 chi(i) = tnk(i)/(1669.0-122.0*rh(i)-tnk(i))
492 plcl(i) = pnk(i)*(rh(i)**chi(i))
493 IF (((plcl(i)<200.0) .OR. (plcl(i)>=2000.0)) .AND. (iflag(i)==0)) iflag(i &
505 IF ((k>=(nk(i)+1)) .AND. (p(i,k)<plcl(i))) icb(i) = min(icb(i), k)
510 IF ((icb(i)>=nlm) .AND. (iflag(i)==0)) iflag(i) = 9
517 icbmax = max(icbmax, icb(i))
530 gznk(i) = gz(i, nk(i))
531 ticb(i) = t(i, icb(i))
532 gzicb(i) = gz(i, icb(i))
538 ah0(i) = (cpd*(1.-qnk(i))+cl*qnk(i))*tnk(i) + qnk(i)*(lv0-clmcpv*(tnk(i)- &
540 cpp(i) = cpd*(1.-qnk(i)) + qnk(i)*cpv
545 DO k = minorig, icbmax - 1
547 tp(i, k) = tnk(i) - (gz(i,k)-gznk(i))/cpp(i)
548 tvp(i, k) = tp(i, k)*(1.+qnk(i)*epsi)
557 alv = lv0 - clmcpv*(ticb(i)-273.15)
561 s = cpd + alv*alv*qg/(rv*ticb(i)*ticb(i))
563 ahg = cpd*tg + (cl-cpd)*qnk(i)*ticb(i) + alv*qg + gzicb(i)
564 tg = tg + s*(ah0(i)-ahg)
569 es = 6.112*exp(17.67*tc/denom)
571 es = exp(23.33086-6111.72784/tg+0.15215*log(tg))
573 qg = eps*es/(p(i,icb(i))-es*(1.-eps))
577 s = cpd + alv*alv*qg/(rv*ticb(i)*ticb(i))
579 ahg = cpd*tg + (cl-cpd)*qnk(i)*ticb(i) + alv*qg + gzicb(i)
580 tg = tg + s*(ah0(i)-ahg)
585 es = 6.112*exp(17.67*tc/denom)
587 es = exp(23.33086-6111.72784/tg+0.15215*log(tg))
589 qg = eps*es/(p(i,icb(i))-es*(1.-eps))
591 alv = lv0 - clmcpv*(ticb(i)-273.15)
592 tp(i, icb(i)) = (ah0(i)-(cl-cpd)*qnk(i)*ticb(i)-gz(i,icb(i))-alv*qg)/cpd
593 clw(i, icb(i)) = qnk(i) - qg
594 clw(i, icb(i)) = max(0.0, clw(i,icb(i)))
596 tvp(i, icb(i)) = tp(i, icb(i))*(1.+rg*epsi)
599 DO k = minorig, icbmax
601 tvp(i, k) = tvp(i, k) - tp(i, k)*qnk(i)
612 IF ((cbmf(i)==0.0) .AND. (iflag(i)==0) .AND. (tvp(i, &
613 icb(i))<=(tv(i,icb(i))-dtmax))) iflag(i) = 4
622 IF (iflag(i)==0)
THEN
633 CALL convect2(ncum, idcum, len, nd, ndp1, nl, minorig, nk, icb, t, q, qs, &
634 u, v, gz, tv, tp, tvp, clw, h, lv, cpn, p, ph, ft, fq, fu, fv, tnk, &
635 qnk, gznk, plcl, precip, cbmf, iflag, delt, cpd, cpv, cl, rv, rd, lv0, &
636 g, sigs, sigd, elcrit, tlcrit, omtsnow, dtmax, damp, alpha, entp, &
637 coeffs, coeffr, omtrain, cu, ma)
subroutine convect1(len, nd, ndp1, noff, minorig, t, q, qs, u, v, p, ph, iflag, ft, fq, fu, fv, precip, cbmf, delt, ma)
subroutine convect2(ncum, idcum, len, nd, ndp1, nl, minorig, nk1, icb1, t1, q1, qs1, u1, v1, gz1, tv1, tp1, tvp1, clw1, h1, lv1, cpn1, p1, ph1, ft1, fq1, fu1, fv1, tnk1, qnk1, gznk1, plcl1, precip1, cbmf1, iflag1, delt, cpd, cpv, cl, rv, rd, lv0, g, sigs, sigd, elcrit, tlcrit, omtsnow, dtmax, damp, alpha, entp, coeffs, coeffr, omtrain, cu, ma)