29 SUBROUTINE w3fa06 (P,T,RH,T5,TLI)
36 300
FORMAT (
' *** ITERATION NOT CONVERGING IN W3FA06 ***')
37 350
FORMAT (
' INPUT PARAMS ARE:',4f15.8,/
38 1
' CALCULATIONS ARE',7e15.8)
40 potemp(t,p) = (t+273.16)*((1000./p)**0.2857)
42 eep(t,p,es) = exp((596.73-0.601*t)*((0.622*es)/(p-es))
43 1 / (0.24*(t+273.16)))
45 unpot(te,p) = (((p/1000.)**0.2857)*te)-273.16
47 vapres(t) = 6.11*exp(17.2694*t/(t+237.3))
49 CALL w3fa01 (p,t,rh,td,plcl,tlcl)
50 IF (plcl .GT. 500.)
GO TO 30
51 IF (plcl .LT. 500.)
GO TO 20
56 tli = t5 - unpot((potemp(tlcl,plcl)),500.)
62 thd = potemp(tlcl,(plcl-es))
63 theta = thd * eep(tlcl,plcl,es)
69 piin = 1./(0.5**0.2857)
75 IF (istp .GT. 200)
GO TO 50
78 a = (tges+273.16)*piin * eep(tges,500.,sva) - theta
79 IF (abs(a) .LT. eps)
GO TO 70
81 IF (a*ax.LT.0.0) dtt = -dtt
84 ap = (tp+273.16)*piin * eep(tp,500.,sva) - theta
85 IF (abs(ap) .LT. eps)
GO TO 60
88 IF (abs(dtt).LT.0.01) dtt = sign(0.01,dtt)
90 IF (tges .GT. 50) tges = 50.
96 WRITE (kout,350) p,t,rh,t5,theta,ax,a,ap,tges,tp,sva