1 SUBROUTINE wetbulb(T,Q,PMID,HTM,KARR,TWET)
23 use lookup_mod, only: thl, rdth, jtb, qs0, sqs, rdq, itb, ptbl, plq, ttbl,&
24 pl, rdp, the0, sthe, rdthe, ttblq, itbq, jtbq, rdpq, the0q, stheq,&
26 use ctlblk_mod
, only: jsta, jend, im, jsta_2l, jend_2u, lm, spval
27 use cuparm_mod, only: h10e5, capa, epsq, d00, elocp
42 real,
dimension(IM,jsta_2l:jend_2u,LM),
intent(in) :: t,q, &
44 integer,
dimension(IM,jsta:jend),
intent(in) :: karr
45 real,
dimension(IM,jsta_2l:jend_2u,LM),
intent(out) :: twet
48 real,
dimension(im,jsta:jend) :: thesp, qq, pp
49 integer,
dimension(im,jsta:jend) :: klres,khres,iptb,ithtb
51 integer i,j,l,ittb1,ittbk,iqtbk,it,knuml,knumh,iq
52 real tbtk,qbtk,apebtk,tthbtk,tthk,qqk,bqs00k,sqs00k,bqs10k, &
53 sqs10k,bqk,sqk,tqk,ppk,tpspk,apespk,prespk,p00k,p10k,p01k, &
66 IF (htm(i,j,l)<1.0)
THEN
70 IF(t(i,j,l)<spval)
THEN
74 apebtk=(h10e5/presk)**capa
75 IF(qbtk<epsq) qbtk=htm(i,j,l)*epsq
78 tthk =(tthbtk-thl)*rdth
98 bqk=(bqs10k-bqs00k)*qqk+bqs00k
99 sqk=(sqs10k-sqs00k)*qqk+sqs00k
100 tqk=(qbtk-bqk)/sqk*rdq
121 tpspk=p00k+(p10k-p00k)*ppk+(p01k-p00k)*qqk &
122 +(p00k-p10k-p01k+p11k)*ppk*qqk
123 apespk=(h10e5/tpspk)**capa
124 thesp(i,j)=tthbtk*exp(elocp*qbtk*apespk/tthbtk)
140 IF(pmid(i,j,l)==spval)cycle
156 CALL ttblex(twet(1,jsta_2l,l),ttbl,itb,jtb,klres &
157 ,pmid(1,jsta_2l,l),pl,qq,pp,rdp,the0,sthe &
158 ,rdthe,thesp,iptb,ithtb)
164 CALL ttblex(twet(1,jsta_2l,l),ttblq,itbq,jtbq,khres &
165 ,pmid(1,jsta_2l,l),plq,qq,pp,rdpq,the0q,stheq &
166 ,rdtheq,thesp,iptb,ithtb)