4 SUBROUTINE tlift43(p, t, q, qs, gz, icb, nk, tvp, tpk, clw, nd, nl, kk)
 
    6   REAL gz(nd), tpk(nd), clw(nd), p(nd)
 
    7   REAL t(nd), q(nd), qs(nd), tvp(nd), lv0
 
    8   INTEGER icb, nk, nd, nl, kk
 
    9   REAL cpd, cpv,  cl, g, rowl, gravity, cpvmcl, eps, epsi
 
   10   REAL ah0, cpp, cpinv, tg, qg, alv, s, ahg, tc, denom, es
 
   11   INTEGER i, nst, nsb, j 
 
   40   ah0 = (cpd*(1.-q(nk))+cl*q(nk))*t(nk) + q(nk)*(lv0-cpvmcl*(t(nk)-273.15)) + &
 
   42   cpp = cpd*(1.-q(nk)) + q(nk)*cpv
 
   53       tpk(i) = t(nk) - (gz(i)-gz(nk))*cpinv
 
   54       tvp(i) = tpk(i)*(1.+q(nk)*epsi)
 
   69     alv = lv0 - cpvmcl*(t(i)-273.15)
 
   71       s = cpd + alv*alv*qg/(rv*t(i)*t(i))
 
   73       ahg = cpd*tg + (cl-cpd)*q(nk)*t(i) + alv*qg + gz(i)
 
   79         es = 6.112*exp(17.67*tc/denom)
 
   81         es = exp(23.33086-6111.72784/tg+0.15215*log(tg))
 
   83       qg = eps*es/(p(i)-es*(1.-eps))
 
   85     alv = lv0 - cpvmcl*(t(i)-273.15)
 
   86     tpk(i) = (ah0-(cl-cpd)*q(nk)*t(i)-gz(i)-alv*qg)/cpd
 
   88     clw(i) = max(0.0, clw(i))
 
   90     tvp(i) = tpk(i)*(1.+
rg*epsi)
 
subroutine tlift43(p, t, q, qs, gz, icb, nk, tvp, tpk, clw, nd, nl, kk)