44 SUBROUTINE dewpoint( VP, TD)
46 use ctlblk_mod
, only: jsta, jend, im, spval, ista, iend
51 integer,
PARAMETER :: nt=2000
54 real,
intent(out) :: td(ista:iend,jsta:jend)
55 real,
intent(in) :: vp(ista:iend,jsta:jend)
59 real rvp1,rvp2,rt3,rvp3,rlog3,ra,rb,rapb,rtest,rnt,rdvp
60 real rgs,rvp,rlvp,rn,rd,rch,rt,w1,w2
63 logical :: jcontinue=.true.
85 rdvp = (rvp2-rvp1)/(rnt-1.e0)
92 rlvp=log(rvp)-rlog3-rapb
96 10 rn=ra*log(rgs)-rapb*rgs-rlvp
102 IF( abs(rch) < rtest ) jcontinue=.false.
104 DO WHILE (abs(rch) >= rtest)
123 dntm1 = float(nt) -.01
132 IF(vp(i,j)<spval)
THEN
133 w1 = min(max((a*vp(i,j)+b),1.0),dntm1)
136 td(i,j) = tdp(jnt) + (w1-w2)*(tdp(jnt+1)-tdp(jnt))