GETGBEM

The GETGBEM routine finds and unpacks a grib message.

USAGE:    CALL GETGBEM(LUGB,LUGI,JF,J,JPDS,JGDS,JENS,
                       MBUF,CBUF,NLEN,NNUM,MNUM,
                       KF,K,KPDS,KGDS,KENS,LB,F,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)
      JF           INTEGER MAXIMUM NUMBER OF DATA POINTS TO UNPACK
      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
      MBUF         INTEGER LENGTH OF INDEX BUFFER IN BYTES
      CBUF         CHARACTER*1 (MBUF) INDEX BUFFER
                   (INITIALIZE BY SETTING J=-1)
      NLEN         INTEGER LENGTH OF EACH INDEX RECORD IN BYTES
                   (INITIALIZE BY SETTING J=-1)
      NNUM         INTEGER NUMBER OF INDEX RECORDS
                   (INITIALIZE BY SETTING J=-1)
      MNUM         INTEGER NUMBER OF INDEX RECORDS SKIPPED
                   (INITIALIZE BY SETTING J=-1)

   Output arguments:
      CBUF         CHARACTER*1 (MBUF) INDEX BUFFER
      NLEN         INTEGER LENGTH OF EACH INDEX RECORD IN BYTES
      NNUM         INTEGER NUMBER OF INDEX RECORDS
      MNUM         INTEGER NUMBER OF INDEX RECORDS SKIPPED
      KF           INTEGER NUMBER OF DATA POINTS UNPACKED
      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
      LB           LOGICAL*1 (KF) UNPACKED BITMAP IF PRESENT
      F            REAL (KF) UNPACKED DATA
      IRET         INTEGER RETURN CODE
                     0      ALL OK
                     96     ERROR READING INDEX FILE
                     97     ERROR READING GRIB FILE
                     98     NUMBER OF DATA POINTS GREATER THAN JF
                     99     REQUEST NOT FOUND
                     OTHER  W3FI63 GRIB UNPACKER RETURN CODE
 
REMARKS:
        Specify an index file if feasible to increase speed.
        subprogram can be called from a multiprocessing environment.
        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