POLATEV4ThePOLATEV4routine performs spectral interpolation from any grid to any grid for vector fields. It requires that the input fields be uniformly global. Options allow choices between triangular shape (ipopt(1)=0) and Rhomboidal shape (ipopt(1)=1) which has no default; A second option is the truncation (ipopt(2)) which defaults to a sensible truncation for the input grid (if opt(2)=-1). Note that if the output grid is not found in a special list, then the transform back to grid is not very fast. This special list contains global cylindrical grids, Polar Stereographic grids centered at the pole and Mercator grids. 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. The input and output vectors are rotated so that they are either resolved relative to the defined grid. in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, As designated by their respective grid description sections. As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. 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 along with their vector rotation parameters. output bitmaps will only 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 POLATEV4(IPOPT,KGDSI,KGDSO,MI,MO,KM,IBI,LI,UI,VI, & NO,RLAT,RLON,CROT,SROT,IBO,LO,UO,VO,IRET) Input argument list: IPOPT - INTEGER (20) INTERPOLATION OPTIONS IPOPT(1)=0 FOR TRIANGULAR, IPOPT(1)=1 FOR RHOMBOIDAL; IPOPT(2) IS TRUNCATION NUMBER (DEFAULTS TO SENSIBLE IF IPOPT(2)=-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 (MUST BE ALL 0) LI - LOGICAL*1 (MI,KM) INPUT BITMAPS (IF SOME IBI(K)=1) UI - REAL (MI,KM) INPUT U-COMPONENT FIELDS TO INTERPOLATE VI - REAL (MI,KM) INPUT V-COMPONENT 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) CROT - REAL (NO) VECTOR ROTATION COSINES (IF KGDSO(1)<0) SROT - REAL (NO) VECTOR ROTATION SINES (IF KGDSO(1)<0) (UGRID=CROT*UEARTH-SROT*VEARTH; VGRID=SROT*UEARTH+CROT*VEARTH) 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) CROT - REAL (NO) VECTOR ROTATION COSINES (IF KGDSO(1)>=0) SROT - REAL (NO) VECTOR ROTATION SINES (IF KGDSO(1)>=0) (UGRID=CROT*UEARTH-SROT*VEARTH; VGRID=SROT*UEARTH+CROT*VEARTH) IBO - INTEGER (KM) OUTPUT BITMAP FLAGS LO - LOGICAL*1 (MO,KM) OUTPUT BITMAPS (ALWAYS OUTPUT) UO - REAL (MO,KM) OUTPUT U-COMPONENT FIELDS INTERPOLATED VO - REAL (MO,KM) OUTPUT V-COMPONENT FIELDS INTERPOLATED IRET - INTEGER RETURN CODE 0 SUCCESSFUL INTERPOLATION 2 UNRECOGNIZED INPUT GRID OR NO GRID OVERLAP 3 UNRECOGNIZED OUTPUT GRID 41 INVALID NONGLOBAL INPUT GRID 42 INVALID SPECTRAL METHOD PARAMETERS

iplib.tar Library contains subroutines to be used for interpolating almost any grids used at NCEP. (Fortran90)

Date posted: 2/22/2007