POLATES2

The POLATES2 routine performs neighbor interpolation
             from any grid to any grid for scalar fields.
             options allow choosing the width of the grid square
             (ipopt(1)) to search for valid data, which defaults to 1
             (if ipopt(1)=-1).  Odd width squares are centered on
             the nearest input grid point; Even width squares are
             centered on the nearest four input grid points.
             Squares are searched for valid data in a spiral pattern
             starting from the center.  No searching is done where
             the output grid is outside the input grid.
             Only horizontal interpolation is performed.
             The grids are defined by their grid description sections
             (passed in integer form as decoded by subprogram w3fi63).

             The current code recognizes the following projections:
                (KGDS(1)=000) EQUIDISTANT CYLINDRICAL
                (KGDS(1)=001) MERCATOR CYLINDRICAL
                (KGDS(1)=003) LAMBERT CONFORMAL CONICAL
                (KGDS(1)=004) GAUSSIAN CYLINDRICAL (SPECTRAL NATIVE)
                (KGDS(1)=005) POLAR STEREOGRAPHIC AZIMUTHAL
                (KGDS(1)=202) ROTATED EQUIDISTANT CYLINDRICAL (ETA NATIVE)

             Where KGDS could be either input KGDSI or output KGDSO.
             As an added bonus the number of output grid points
             and their latitudes and longitudes are also returned.
             On the other hand, the output can be a set of station points
             If KGDSO(1)<0, in which case the number of points
             and their latitudes and longitudes must be input.
             Input bitmaps will be interpolated to output bitmaps.
             Output bitmaps will also be created when the output grid
             extends outside of the domain of the input grid.
             The output field is set to 0 where the output bitmap is off.

USAGE:    CALL POLATES2(IPOPT,KGDSI,KGDSO,MI,MO,KM,IBI,LI,GI,
                        NO,RLAT,RLON,IBO,LO,GO,IRET)

   Input argument list:
      IPOPT    - INTEGER (20) INTERPOLATION OPTIONS
                 IPOPT(1) IS WIDTH OF SQUARE TO EXAMINE IN SPIRAL SEARCH
                 (DEFAULTS TO 1 IF IPOPT(1)=-1)
      KGDSI    - INTEGER (200) INPUT GDS PARAMETERS AS DECODED BY W3FI63
      KGDSO    - INTEGER (200) OUTPUT GDS PARAMETERS
                 (KGDSO(1)<0 IMPLIES RANDOM STATION POINTS)
      MI       - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS IF KM>1
                 OR DIMENSION OF INPUT GRID FIELDS IF KM=1
      MO       - INTEGER SKIP NUMBER BETWEEN OUTPUT GRID FIELDS IF KM>1
                 OR DIMENSION OF OUTPUT GRID FIELDS IF KM=1
      KM       - INTEGER NUMBER OF FIELDS TO INTERPOLATE
      IBI      - INTEGER (KM) INPUT BITMAP FLAGS
      LI       - LOGICAL*1 (MI,KM) INPUT BITMAPS (IF SOME IBI(K)=1)
      GI       - REAL (MI,KM) INPUT FIELDS TO INTERPOLATE
      NO       - INTEGER NUMBER OF OUTPUT POINTS (ONLY IF KGDSO(1)<0)
      RLAT     - REAL (NO) OUTPUT LATITUDES IN DEGREES (IF KGDSO(1)<0)
      RLON     - REAL (NO) OUTPUT LONGITUDES IN DEGREES (IF KGDSO(1)<0)
 
   Output argument list:
      NO       - INTEGER NUMBER OF OUTPUT POINTS (ONLY IF KGDSO(1)>=0)
      RLAT     - REAL (MO) OUTPUT LATITUDES IN DEGREES (IF KGDSO(1)>=0)
      RLON     - REAL (MO) OUTPUT LONGITUDES IN DEGREES (IF KGDSO(1)>=0)
      IBO      - INTEGER (KM) OUTPUT BITMAP FLAGS
      LO       - LOGICAL*1 (MO,KM) OUTPUT BITMAPS (ALWAYS OUTPUT)
      GO       - REAL (MO,KM) OUTPUT FIELDS INTERPOLATED
      IRET     - INTEGER RETURN CODE
                 0    SUCCESSFUL INTERPOLATION
                 2    UNRECOGNIZED INPUT GRID OR NO GRID OVERLAP
                 3    UNRECOGNIZED OUTPUT GRID
 
 
iplib.tar Library contains subroutines to be used for interpolating almost any grids used at NCEP. (Fortran90)
Date posted: 2/22/2007