FTN,L,B 
C 
C HP92402A HUMIDITY PACKAGE 
C 
C SOURCE TAPE 92402-80001 REV. A
C RELOC. TAPE 92402-60001 REV. A
C 
C AUTHOR - T.A. SAPONAS 
C 
C VERSION 1 OCTOBER 1973
C 
C 
      FUNCTION RHBLB(TEMP,TWBLB,BARO,IERR)
C  THIS FUNCTION CALCULATES THE RELATIVE HUMIDITY IN PERCENT FROM THE 
C   WET BULB (TWBLB) AND DRY BULB (TEMP) TEMPERATURE IN DEGREES 
C   FAHRENHEIT ( IF TEMP OR TWBLB IS NEGATIVE THEN THEIR ABSOLUTE 
C   VALUE IS TAKEN AS DEGREES CELSIUS). 
C   BARO IS THE BAROMETRIC PRESSURE IN MILLIMETERS OF MERCURY.
C   IERR IS AN ERROR FLAG WHICH IS NEGATIVE IF TEMP OR TWBLB ARE
C   OUTSIDE THE RANGE OF 32 TO 212 DEGREES F ( 0 TO 100 DEGREES C). 
C   PPDWP COMPUTES THE SATURATED VAPOR PRESSURE AT A GIVEN TEMPERATURE. 
C   PPBLB COMPUTES THE ACTUAL VAPOR PRESSURE FROM WET BULB, DRY BULB
C   TEMPERATURE.
      RHBLB=100.*PPBLB(TEMP,TWBLB,BARO,IERR)/PPDWP(TEMP,I)
      IERR=I+IERR 
      END 
      FUNCTION RHDWP(TEMP,TDEWP,IERR) 
C  THIS FUNCTION CALCULATES THE RELATIVE HUMIDITY IN PERCENT FROM THE 
C   TEMPERATURE AND THE DEW POINT TEMPERATURE IN DEGREES FAHRENHEIT 
C   ( IF TEMP OR TDEWP IS NEGATIVE THEN THEIR ABSOLUTE VALUE IS 
C   AS DEGREES CELSIUS).
C   IERR IS AN ERROR FLAG WHICH IS NEGATIVE IF TEMP OR TDEWP ARE
C   OUTSIDE THE RANGE OF 32 TO 212 DEGREES F ( 0 TO 100 DEGREES C). 
C   PPDWP COMPUTES THE SATURATED VAPOR PRESSURE AT A GIVEN TEMPERATURE. 
      RHDWP=100.*PPDWP(TDEWP,IERR)/PPDWP(TEMP,I)
      IERR=I+IERR 
      END 
      FUNCTION PPBLB(TEMP,WBLB,BARO,IERR) 
C  THIS FUNCTION CALCULATES THE PARTIAL PRESSURE OF WATER VAPOR IN
C   MILLIMETERS OF HG FROM : TEMP - TEMPERATURE IN DEGREES FAHRENHEIT 
C                            WBLB - WET BULB TEMPERATURE
C                            BARO - BAROMETRIC PRESSURE IN MM OF HG 
C   IERR IS AN ERROR FLAG AND IS NEGATIVE IF TEMP OR WBLB IS OUTSIDE
C   THE GUARANTEED ACCURACY RANGE OF 32 TO 212 DEGREES OR IF BARO IS
C   NEGATIVE. 
C 
C  IF "WBLB" OR "TEMP" IS POSITIVE CONVERT FROM DEG. F TO C 
C 
      T2=WBLB 
      T1=TEMP 
      IF(T1)2,1 
1     T1=(32.-T1)*.5555556
2     IF(T2)4,3 
3     T2=(32.-T2)*.5555556
C   ASSUME ERROR
4     IERR=-1 
C 
C   IF BAROMETRIC PRESSURE < 0, RETURN WITH IERR=-1 
      IF(BARO)10,5
C   IF DRY BULB TEMP IS NOT -100<T1<0  RETURN ERROR 
5     IF(T1)6,6,10
6     IF(100.+T1)10,20
C 
C   EVALUATE PARTIAL PRESSURE ALGORITHM 
20    PPBLB=PPDWP(T2,IERR)+.00066*BARO*(1.-.00115*T2)*(T1-T2) 
10    RETURN
      END 
      FUNCTION PPRH(TEMP,RH,IERR) 
C  THIS FUNCTION CALCULATES THE PARTIAL PRESSURE OF WATER VAPOR IN
C   MILLIMETERS OF HG FROM :  TEMP - TEMPERATURE IN DEGREES FAHRENHEIT
C                             RH   - RELATIVE HUMIDITY IN PERCENT 
C   IERR IS AN ERROR FLAG WHICH IS NEGATIVE IF TEMP IS OUTSIDE THE
C   GUARANTEED ACCURACY RANGE OF 32 TO 212 DEGREES. 
      PPRH=RH*PPDWP(TEMP,IERR)/100. 
      END 
      FUNCTION PPDWP(TDEWP,IERR)
C  THIS FUNCTION CALCULATES THE PARTIAL PRESSURE OF WATER VAPOR IN
C   MILLIMETERS OF HG FROM TDEWP (THE DEW POINT TEMPERATURE IN DEGREES
C   FAHRENHEIT OR CELSIUS).  IERR IS AN ERROR FLAG WHICH WHEN 
C   NEGATIVE INDICATES THAT TDEWP IS OUTSIDE THE RANGE 32 TO 212
C   DEGREES F (0 TO 100 DEGREES C)
C 
C  ASSUME TDEWP IS WITHIN LIMITS
      IERR=0
C 
C  IF TDEWP < 0 THEN TEMPERATURE IS IN CELSIUS, OTHERWISE FAHRENHEIT
      IF(TDEWP)100,200
C 
C   TDEWP IN DEGREES CELSIUS
100   IF(100.+TDEWP)10,110
110   PPDWP=EXP(18.717-4060.1/(236.11-TDEWP)) 
      RETURN
C 
C   TDEWP IN DEGREES FAHRENHEIT 
200   IF(TDEWP-32.)10,210 
210   IF(212.-TDEWP)10,220
220   PPDWP=EXP(18.717-7308.1/(393.0+TDEWP))
      RETURN
C 
C  ERROR RETURN - TDEWP OUT OF BOUNDS 
10    IERR=-1 
      RETURN
      END 
      END$
                                                      