      SUBROUTINE GGPNT2(VAL,GG,ILG1,ILAT,DLAT,DLON,WRKS)
C 
C     * APR 21/83 - R.LAPRISE.
C     *  WRITTEN BY ROGER DALEY - NOVEMBER 1975.
C    *  THIS SUBROUTINE INTERPOLATEDS FROM A GLOBAL GAUSSIAN GRID 
C    *  GG(ILG1,ILAT) TO A SINGLE POINT WITH LATITUDE (DEGREES) DLAT
C    *  AND LONGITUDE DLON. DLAT IS MEASURED FROM THE SOUTH POLE
C    *  AND DLON IS MEASURED EASTWARD FROM GREENWICH AND MUST SATISFY 
C    *   (0.LE.DLON.LE.360).
C    *  BECAUSE THE GAUSSIAN LATITUDES ARE ONLY APPROXIMATELY EQUALLY 
C     * SPACED, SOME SEARCHING WILL BE DONE IN THE GENERAL CASE.
C     * WRKS CONTAINS THE LATITUDES IN DEGREES FROM THE S. POLE.
C 
C     * LEVEL 2,GG
      IMPLICIT REAL (A-H,O-Z),
     +INTEGER (I-N)
      DIMENSION GG(ILG1,ILAT) 
      DIMENSION WRKS(2) 
C-----------------------------------------------------------------------
C 
      DX = 1.E0/(WRKS(2)-WRKS(1)) 
      DINT = FLOAT(ILG1-1)/360.E0 
      RX = DLON*DINT + 1.E0 
      IRX = INT(RX) 
C 
      RY = (DLAT-WRKS(1))*DX + 1.E0 
      IF(DLAT.GT.90.E0) RY = (DLAT-WRKS(ILAT))*DX+ FLOAT(ILAT)
      IF(DLAT.LE.WRKS(2).OR.DLAT.GE.WRKS(ILAT -1)) GO TO 180
C 
      N= INT(RY)
      AG = WRKS(N)
      AGP = WRKS(N+1) 
      AGM = WRKS(N-1) 
      RY = FLOAT(N) + (DLAT-AG)/(AGP-AG)
      IF(DLAT.LT.AG) RY = FLOAT(N-1) + (DLAT-AGM)/(AG-AGM)
C 
  180 CALL GINTC2(VAL,GG,ILG1,ILAT,RX,RY) 
      IF(DLAT.GT.WRKS(1).AND.DLAT.LT.WRKS(ILAT)) RETURN 
C 
C    *  SPECIAL CASE FOR DLAT NEAR NORTH POLE OR SOUTH POLE.
C 
      IF(DLAT.GT.WRKS(1)) GO TO 196 
      CALL FMEAN2(GG(1,1),ILG1,1,RS1,0) 
      CALL FMEAN2(GG(1,2),ILG1,1,RS2,0) 
      RSOUTH =  RS1 + (RS1-RS2)*DX*WRKS(1)
      VAL = (RX-FLOAT(IRX))*GG(IRX,1) + (FLOAT(IRX+1)-RX)*GG(IRX+1,1) 
      VAL = ((WRKS(1)-DLAT)*RSOUTH + DLAT*VAL)/WRKS(1)
      RETURN
C 
  196 CALL FMEAN2(GG(1,ILAT),ILG1,1,RN1,0)
      CALL FMEAN2(GG(1,ILAT-1),ILG1,1,RN2,0)
      RNORTH =  RN1 + (RN1-RN2)*DX*WRKS(1)
      VAL=(RX-FLOAT(IRX))*GG(IRX,ILAT) + 
     1       (FLOAT(IRX+1)-RX)*GG(IRX+1,ILAT) 
      VAL =((DLAT-WRKS(ILAT))*RNORTH + (180.E0-DLAT)*VAL)/
     1   (180.E0-WRKS(ILAT))
C 
      RETURN
      END 
