26 SUBROUTINE otlift(SLINDX)
32 use lookup_mod, only: thl, rdth, jtb, qs0, sqs, rdq,itb, ptbl, pl, &
33 rdp, the0, sthe, rdthe, ttbl
34 use ctlblk_mod
, only: jsta, jend, im, spval, ista, iend
35 use params_mod, only: d00,h10e5, capa, elocp, eps, oneps
43 real,
PARAMETER :: d8202=.820231e0 , h5e4=5.e4 , p500=50000.
47 real,
intent(out) :: slindx(ista:iend,jsta:jend)
48 REAL :: tvp, esatp, qsatp
49 REAL :: tth, tp, apesp, partmp, thesp, tpsp
50 REAL :: bqs00, sqs00, bqs10, sqs10, bq, sq, tq
51 REAL :: p00, p10, p01, p11, t00, t10, t01, t11
52 REAL :: bthe00, sthe00, bthe10, sthe10, bth, sth
53 REAL :: tqq, qq, qbt, tthbt, tbt, apebt, ppq, pp
55 INTEGER :: i, j, lbtm, ittbk, iq, it, iptbk, ith, ip, iqtb
56 INTEGER :: ittb, iptb, ithtb
72 IF(t(i,j,lbtm)<spval .AND. q(i,j,lbtm)<spval)
THEN
75 apebt = (h10e5/pmid(i,j,lbtm))**capa
78 tth = (tthbt-thl)*rdth
97 bq=(bqs10-bqs00)*tqq+bqs00
98 sq=(sqs10-sqs00)*tqq+sqs00
119 tpsp = p00+(p10-p00)*ppq+(p01-p00)*tqq &
120 +(p00-p10-p01+p11)*ppq*tqq
121 IF(tpsp <= d00) tpsp = h10e5
122 apesp = (h10e5/tpsp)**capa
123 thesp = tthbt*exp(elocp*qbt*apesp/tthbt)
144 bth=(bthe10-bthe00)*qq+bthe00
145 sth=(sthe10-sthe00)*qq+sthe00
146 tth=(thesp-bth)/sth*rdthe
167 partmp=(t00+(t10-t00)*pp+(t01-t00)*qq &
168 +(t00-t10-t01+t11)*pp*qq)
170 partmp=tbt*apebt*d8202
181 qsatp=eps*esatp/(p500-esatp*oneps)
182 tvp=partmp*(1+0.608*qsatp)
183 slindx(i,j)=t500(i,j)-tvp
elemental real function, public fpvsnew(t)
calcape() computes CAPE/CINS and other storm related variables.