GETGBEP

The GETGBEP routine finds a grib message.

USAGE:    CALL GETGBEP(LUGB,LUGI,JG,J,JPDS,JGDS,JENS,
                       KG,K,KPDS,KGDS,KENS,G,IRET)

   Input arguments:
      LUGB         INTEGER UNIT OF THE UNBLOCKED GRIB DATA FILE
      LUGI         INTEGER UNIT OF THE UNBLOCKED GRIB INDEX FILE
                   (=0 TO GET INDEX BUFFER FROM THE GRIB FILE)
      JG           INTEGER MAXIMUM NUMBER OF BYTES IN THE GRIB MESSAGE
      J            INTEGER NUMBER OF MESSAGES TO SKIP
                   (=0 TO SEARCH FROM BEGINNING)
                   (<0 TO READ INDEX BUFFER AND SKIP -1-J MESSAGES)
      JPDS         INTEGER (200) PDS PARAMETERS FOR WHICH TO SEARCH
                   (=-1 FOR WILDCARD)
           (1)   - ID OF CENTER
           (2)   - GENERATING PROCESS ID NUMBER
           (3)   - GRID DEFINITION
           (4)   - GDS/BMS FLAG (RIGHT ADJ COPY OF OCTET 8)
           (5)   - INDICATOR OF PARAMETER
           (6)   - TYPE OF LEVEL
           (7)   - HEIGHT/PRESSURE , ETC OF LEVEL
           (8)   - YEAR INCLUDING (CENTURY-1)
           (9)   - MONTH OF YEAR
           (10)  - DAY OF MONTH
           (11)  - HOUR OF DAY
           (12)  - MINUTE OF HOUR
           (13)  - INDICATOR OF FORECAST TIME UNIT
           (14)  - TIME RANGE 1
           (15)  - TIME RANGE 2
           (16)  - TIME RANGE FLAG
           (17)  - NUMBER INCLUDED IN AVERAGE
           (18)  - VERSION NR OF GRIB SPECIFICATION
           (19)  - VERSION NR OF PARAMETER TABLE
           (20)  - NR MISSING FROM AVERAGE/ACCUMULATION
           (21)  - CENTURY OF REFERENCE TIME OF DATA
           (22)  - UNITS DECIMAL SCALE FACTOR
           (23)  - SUBCENTER NUMBER
           (24)  - PDS BYTE 29, FOR NMC ENSEMBLE PRODUCTS
                   128 IF FORECAST FIELD ERROR
                    64 IF BIAS CORRECTED FCST FIELD
                    32 IF SMOOTHED FIELD
                   WARNING: CAN BE COMBINATION OF MORE THAN 1
           (25)  - PDS BYTE 30, NOT USED
      JGDS         INTEGER (200) GDS PARAMETERS FOR WHICH TO SEARCH
                   (ONLY SEARCHED IF JPDS(3)=255)
                   (=-1 FOR WILDCARD)
           (1)   - DATA REPRESENTATION TYPE
           (19)  - NUMBER OF VERTICAL COORDINATE PARAMETERS
           (20)  - OCTET NUMBER OF THE LIST OF VERTICAL COORDINATE
                   PARAMETERS
                   OR
                   OCTET NUMBER OF THE LIST OF NUMBERS OF POINTS
                   IN EACH ROW
                   OR
                   255 IF NEITHER ARE PRESENT
           (21)  - FOR GRIDS WITH PL, NUMBER OF POINTS IN GRID
           (22)  - NUMBER OF WORDS IN EACH ROW
        LATITUDE/LONGITUDE GRIDS
           (2)   - N(I) NR POINTS ON LATITUDE CIRCLE
           (3)   - N(J) NR POINTS ON LONGITUDE MERIDIAN
           (4)   - LA(1) LATITUDE OF ORIGIN
           (5)   - LO(1) LONGITUDE OF ORIGIN
           (6)   - RESOLUTION FLAG (RIGHT ADJ COPY OF OCTET 17)
           (7)   - LA(2) LATITUDE OF EXTREME POINT
           (8)   - LO(2) LONGITUDE OF EXTREME POINT
           (9)   - DI LONGITUDINAL DIRECTION OF INCREMENT
           (10)  - DJ LATITUDINAL DIRECTION INCREMENT
           (11)  - SCANNING MODE FLAG (RIGHT ADJ COPY OF OCTET 28)
        GAUSSIAN  GRIDS
           (2)   - N(I) NR POINTS ON LATITUDE CIRCLE
           (3)   - N(J) NR POINTS ON LONGITUDE MERIDIAN
           (4)   - LA(1) LATITUDE OF ORIGIN
           (5)   - LO(1) LONGITUDE OF ORIGIN
           (6)   - RESOLUTION FLAG  (RIGHT ADJ COPY OF OCTET 17)
           (7)   - LA(2) LATITUDE OF EXTREME POINT
           (8)   - LO(2) LONGITUDE OF EXTREME POINT
           (9)   - DI LONGITUDINAL DIRECTION OF INCREMENT
           (10)  - N - NR OF CIRCLES POLE TO EQUATOR
           (11)  - SCANNING MODE FLAG (RIGHT ADJ COPY OF OCTET 28)
           (12)  - NV - NR OF VERT COORD PARAMETERS
           (13)  - PV - OCTET NR OF LIST OF VERT COORD PARAMETERS
                              OR
                   PL - LOCATION OF THE LIST OF NUMBERS OF POINTS IN
                        EACH ROW (IF NO VERT COORD PARAMETERS
                        ARE PRESENT
                              OR
                   255 IF NEITHER ARE PRESENT
        POLAR STEREOGRAPHIC GRIDS
           (2)   - N(I) NR POINTS ALONG LAT CIRCLE
           (3)   - N(J) NR POINTS ALONG LON CIRCLE
           (4)   - LA(1) LATITUDE OF ORIGIN
           (5)   - LO(1) LONGITUDE OF ORIGIN
           (6)   - RESOLUTION FLAG  (RIGHT ADJ COPY OF OCTET 17)
           (7)   - LOV GRID ORIENTATION
           (8)   - DX - X DIRECTION INCREMENT
           (9)   - DY - Y DIRECTION INCREMENT
           (10)  - PROJECTION CENTER FLAG
           (11)  - SCANNING MODE (RIGHT ADJ COPY OF OCTET 28)
        SPHERICAL HARMONIC COEFFICIENTS
           (2)   - J PENTAGONAL RESOLUTION PARAMETER
           (3)   - K      "          "         "
           (4)   - M      "          "         "
           (5)   - REPRESENTATION TYPE
           (6)   - COEFFICIENT STORAGE MODE
        MERCATOR GRIDS
           (2)   - N(I) NR POINTS ON LATITUDE CIRCLE
           (3)   - N(J) NR POINTS ON LONGITUDE MERIDIAN
           (4)   - LA(1) LATITUDE OF ORIGIN
           (5)   - LO(1) LONGITUDE OF ORIGIN
           (6)   - RESOLUTION FLAG (RIGHT ADJ COPY OF OCTET 17)
           (7)   - LA(2) LATITUDE OF LAST GRID POINT
           (8)   - LO(2) LONGITUDE OF LAST GRID POINT
           (9)   - LATIT - LATITUDE OF PROJECTION INTERSECTION
           (10)  - RESERVED
           (11)  - SCANNING MODE FLAG (RIGHT ADJ COPY OF OCTET 28)
           (12)  - LONGITUDINAL DIR GRID LENGTH
           (13)  - LATITUDINAL DIR GRID LENGTH
        LAMBERT CONFORMAL GRIDS
           (2)   - NX NR POINTS ALONG X-AXIS
           (3)   - NY NR POINTS ALONG Y-AXIS
           (4)   - LA1 LAT OF ORIGIN (LOWER LEFT)
           (5)   - LO1 LON OF ORIGIN (LOWER LEFT)
           (6)   - RESOLUTION (RIGHT ADJ COPY OF OCTET 17)
           (7)   - LOV - ORIENTATION OF GRID
           (8)   - DX - X-DIR INCREMENT
           (9)   - DY - Y-DIR INCREMENT
           (10)  - PROJECTION CENTER FLAG
           (11)  - SCANNING MODE FLAG (RIGHT ADJ COPY OF OCTET 28)
           (12)  - LATIN 1 - FIRST LAT FROM POLE OF SECANT CONE INTER
           (13)  - LATIN 2 - SECOND LAT FROM POLE OF SECANT CONE INTER
      JENS         INTEGER (200) ENSEMBLE PDS PARMS FOR WHICH TO SEARCH
                   (ONLY SEARCHED IF JPDS(23)=2)
                   (=-1 FOR WILDCARD)
           (1)   - APPLICATION IDENTIFIER
           (2)   - ENSEMBLE TYPE
           (3)   - ENSEMBLE IDENTIFIER
           (4)   - PRODUCT IDENTIFIER
           (5)   - SMOOTHING FLAG

   Output arguments:
      KG           INTEGER NUMBER OF BYTES IN THE GRIB MESSAGE
      K            INTEGER MESSAGE NUMBER UNPACKED
                   (CAN BE SAME AS J IN CALLING PROGRAM
                   IN ORDER TO FACILITATE MULTIPLE SEARCHES)
      KPDS         INTEGER (200) UNPACKED PDS PARAMETERS
      KGDS         INTEGER (200) UNPACKED GDS PARAMETERS
      KENS         INTEGER (200) UNPACKED ENSEMBLE PDS PARMS
      G            CHARACTER*1 (KG) GRIB MESSAGE
      IRET         INTEGER RETURN CODE
                     0      ALL OK
                     96     ERROR READING INDEX FILE
                     97     ERROR READING GRIB FILE
                     98     NUMBER OF BYTES GREATER THAN JG
                     99     REQUEST NOT FOUND
 
REMARKS:
        In order to unpack grib from a multiprocessing environment
        where each processor is attempting to read from its own pair of
        logical units, one must directly call subprogram getgbemp as below,
        allocating a private copy of cbuf, nlen and nnum to each processor.
        DO NOT engage the same logical unit from more than one processor.

 
W3lib.tar Library contains Fortran 90 decoder/encoder routines for GRIB edition 1. (Fortran90)
Date posted: 2/22/2007