24 SUBROUTINE calthte(P1D,T1D,Q1D,THTE)
28 use params_mod, only: d00, eps, oneps, d01, h1m12, p1000, h1
29 use ctlblk_mod
, only: jsta, jend, im, spval, ista, iend
33 real,
PARAMETER :: kg2g=1.e3
34 real,
PARAMETER :: d35=3.5,d4805=4.805,h2840=2840.,h55=55.
35 real,
PARAMETER :: d2845=0.2845,d00028=0.00028,d3376=3.376
36 real,
PARAMETER :: d00254=0.00254,d00081=0.00081,d81=0.81
37 real,
PARAMETER :: d28=0.28,h2675=2675.
41 REAL,
dimension(ista:iend,jsta:jend),
intent(in) :: p1d,t1d,q1d
42 REAL,
dimension(ista:iend,jsta:jend),
intent(inout) :: thte
45 real p,t,q,evp,rmx,ckapa,rkapa,arg,denom,tlcl,plcl,fac, &
66 IF(p1d(i,j)<spval.and.t1d(i,j)<spval.and.q1d(i,j)<spval)
THEN
70 evp = p*q/(eps+oneps*q)
72 ckapa = d2845*(1.-d28*rmx)
74 arg = max(h1m12, evp*d01)
75 denom = d35*log(t) - log(evp*d01) - d4805
76 tlcl = h2840/denom + h55
77 plcl = p*(tlcl/t)**rkapa
78 fac = (p1000/p)**ckapa
79 eterm = (d3376/tlcl-d00254)*(rmx*kg2g*(h1+d81*rmx))
80 thetae = t*fac*exp(eterm)