W3UNPK77

The W3UNPK77 routine decodes a single report from bufr messages
             in a jbufr-type data file.  Currently wind profiler, 
             nexrad (vad) wind and goes sounding/radiance data types
             are valid.  Report is returned in quasi-office note 29
             unpacked format (see remarks 4.).

USAGE:    CALL W3UNPK77(IDATE,IHE,IHL,LUNIT,RDATA,IRET)

   Input argument list:
      IDATE    - 4-WORD ARRAY HOLDING "CENTRAL" DATE TO PROCESS
               - (YYYY, MM, DD, HH)
      IHE      - NUMBER OF WHOLE HOURS RELATIVE TO "IDATE" FOR DATE OF
               - EARLIEST BUFR MESSAGE THAT IS TO BE DECODED; EARLIEST
               - DATE IS "IDATE" + "IHE" HOURS (IF "IHE" IS POSITIVE,
               - LATEST MESSAGE DATE IS AFTER "IDATE"; IF "IHE" IS
               - NEGATIVE LATEST MESSAGE DATE IS PRIOR TO "IDATE")
               - EXAMPLE: IF IHE=1, THEN EARLIEST DATE IS 1-HR AFTER
               - IDATE; IF IHE=-3, THEN EARLIEST DATE IS 3-HR PRIOR
               - TO IDATE
      IHL      - NUMBER OF WHOLE HOURS RELATIVE TO "IDATE" FOR DATE OF
               - LATEST BUFR MESSAGE THAT IS TO BE DECODED; LATEST
               - DATE IS "IDATE" + ("IHL" HOURS PLUS 59 MIN) IF "IHL"
               - IS POSITIVE (LATEST MESSAGE DATE IS AFTER "IDATE"),
               - AND "IDATE" + ("IHL"+1 HOURS MINUS 1 MIN) IF "IHL"
               - IS NEGATIVE (LATEST MESSAGE DATE IS PRIOR TO "IDATE")
               - EXAMPLE: IF IHL=3, THEN LATEST DATE IS 3-HR 59-MIN
               - AFTER IDATE; IF IHL=-2, THEN LATEST DATE IS 1-HR 1-MIN
               - PRIOR TO IDATE
      LUNIT    - FORTRAN UNIT NUMBER FOR INPUT DATA FILE
      IRET     - CONTROLS DEGREE OF UNIT 6 PRINTOUT (.GE. 0 -LIMITED
               - PRINTOUT; = -1 SOME ADDITIONAL DIAGNOSTIC PRINTOUT;
               = .LT. -1 -EXTENSIVE PRINTOUT) (SEE REMARKS 3.)
 
   Output argument list:      (INCLUDING WORK ARRAYS)
      RDATA    - SINGLE REPORT RETURNED AN A QUASI-OFFICE NOTE 29
               - UNPACKED FORMAT (SEE REMARKS 4.) (MINIMUM SIZE IS
               - 1200 WORDS)
      IRET     - RETURN CODE AS FOLLOWS:
        IRET = 0 ---> REPORT SUCCESSFULLY RETURNED
        IRET > 0 ---> NO REPORT RETURNED DUE TO:
             = 1 ---> ALL REPORTS READ IN, END
             = 2 ---> LAT AND/OR LON DATA MISSING
             = 3 ---> RESERVED
             = 4 ---> SOME/ALL DATE INFORMATION MISSING
             = 5 ---> NO DATA LEVELS PROCESSED (ALL LEVELS ARE MISSING)
             = 6 ---> NUMBER OF LEVELS IN REPORT HEADER IS NOT 1
             = 7 ---> NUMBER OF LEVELS IN ANOTHER SINGLE LEVEL SEQUENCE
                      IS NOT 1
 
   Input files:
      UNIT AA  - (WHERE AA IS LUNIT ABOVE) FILE HOLDING THE DATA
               - IN THE FORM OF BUFR MESSAGES
 
   Output files:
      UNIT 06  - PRINTOUT
 
REMARKS:
           1) A CONDITION CODE (STOP) OF 15 WILL OCCUR IF THE INPUT
              DATES FOR START AND/OR STOP TIME ARE SPECIFIED INCORRECTLY.
           2) A CONDITION CODE (STOP) OF 22 WILL OCCUR IF THE
              CHARACTERS ON THIS MACHINE ARE NEITHER ASCII NOR EBCDIC.
           3) THE INPUT ARGUMENT "IRET" SHOULD BE SET PRIOR TO EACH
              CALL TO THIS SUBROUTINE.
           4) BELOW IS THE FORMAT OF AN UNPACKED REPORT IN OUTPUT
              ARRAY RDATA (EACH WORD REPRESENTS A FULL-WORD ACCORDING
              TO THE MACHINE)

    N O T E : THIS IS THE SAME FORMAT AS FOR W3LIB ROUTINE W3FI77
              EXCEPT WHERE NOTED

                FORMAT FOR WIND PROFILER REPORTS
WORD CONTENT UNIT FORMAT ---- ---------------------- ------------------- --------- 1 LATITUDE 0.01 DEGREES REAL 2 LONGITUDE 0.01 DEGREES WEST REAL 3 TIME SIGNIFICANCE (BUFR CODE TABLE "0 08 021") INTEGER 4 OBSERVATION TIME 0.01 HOURS (UTC) REAL 5 YEAR/MONTH 4-CHAR. 'YYMM' CHARACTER LEFT-JUSTIFIED 6 DAY/HOUR 4-CHARACTERS 'DDHH' CHARACTER 7 STATION ELEVATION METERS REAL 8 SUBMODE/EDITION NO. (SM X 10) + ED. NO. INTEGER (ED. NO.=2, CONSTANT; SEE &,~) 9 REPORT TYPE 71 (CONSTANT) INTEGER 10 AVERAGING TIME MINUTES INTEGER (NEGATIVE MEANS PRIOR TO OBS. TIME) 11 STN. ID. (FIRST 4 CHAR.) 4-CHARACTERS CHARACTER LEFT-JUSTIFIED 12 STN. ID. (LAST 2 CHAR.) 2-CHARACTERS CHARACTER LEFT-JUSTIFIED 13-34 ZEROED OUT - NOT USED INTEGER 35 CATEGORY 10, NO. LEVELS COUNT INTEGER 36 CATEGORY 10, DATA INDEX COUNT INTEGER 37 CATEGORY 11, NO. LEVELS COUNT INTEGER 38 CATEGORY 11, DATA INDEX COUNT INTEGER 39-42 ZEROED OUT - NOT USED INTEGER 43-END UNPACKED DATA GROUPS (FOLLOWS) REAL CATEGORY 10 - WIND PROFILER SFC DATA (EACH LEVEL, SEE WORD 35 ABOVE) WORD PARAMETER UNITS FORMAT ---- --------- ----------------- ------------- (SEE @)1 SEA-LEVEL PRESSURE 0.1 MILLIBARS REAL (SEE *)2 STATION PRESSURE 0.1 MILLIBARS REAL (SEE @)3 HORIZ. WIND DIR. DEGREES REAL (SEE @)4 HORIZ. WIND SPEED 0.1 M/S REAL (SEE @)5 AIR TEMPERATURE 0.1 DEGREES K REAL (SEE @)6 RELATIVE HUMIDITY PERCENT REAL (SEE @)7 RAINFALL RATE 0.0000001 M/S REAL CATEGORY 11 - WIND PROFILER UPPER-AIR DATA (FIRST LEVEL IS SURFACE) (EACH LEVEL, SEE WORD 37 ABOVE) WORD PARAMETER UNITS FORMAT ---- --------- ----------------- ------------- 1 HEIGHT ABOVE SEA-LVL METERS REAL 2 HORIZ. WIND DIR. DEGREES REAL 3 HORIZ. WIND SPEED 0.1 M/S REAL 4 QUALITY CODE (SEE %) INTEGER 5 VERT. WIND COMP. (W) 0.01 M/S REAL (SEE @)6 HORIZ. CONSENSUS NO. (SEE $) INTEGER (SEE @)7 VERT. CONSENSUS NO. (SEE $) INTEGER (SEE @)8 SPECTRAL PEAK POWER DB REAL 9 HORIZ. WIND SPEED 0.1 M/S REAL STANDARD DEVIATION 0.1 M/S REAL 10 VERT. WIND COMPONENT 0.1 M/S REAL STANDARD DEVIATION 0.1 M/S REAL (SEE @)11 MODE (SEE #) INTEGER *- ALWAYS MISSING &- THIS IS A CHANGE FROM FORMAT IN W3LIB ROUTINE W3FI77 %- 0 - MEDIAN AND SHEAR CHECKS BOTH PASSED 2 - MEDIAN AND SHEAR CHECK RESULTS INCONCLUSIVE 4 - MEDIAN CHECK PASSED; SHEAR CHECK FAILED 8 - MEDIAN CHECK FAILED; SHEAR CHECK PASSED 12 - MEDIAN AND SHEAR CHECKS BOTH FAILED $- NO. OF INDIVIDUAL 6-MINUTE AVERAGE MEASUREMENTS THAT WERE INCLUDED IN FINAL ESTIMATE OF AVERAGED WIND (RANGE: 0, 2-10) (BASED ON A ONE-HOUR AVERAGE) #- 1 - DATA FROM LOW MODE 2 - DATA FROM HIGH MODE 3 - MISSING @- THIS PARAMETER IS NO LONGER AVAILABLE AFTER 3/2002 AND IS SET TO MISSING (99999 FOR INTEGER OR 99999. FOR REAL) ~- SUBMODE IS NO LONGER AVAILABLE AFTER 3/2002 AND IS SET TO 3 (ITS MISSING VALUE) FORMAT FOR GOES SOUNDING/RADIANCE REPORTS WORD CONTENT UNIT FORMAT ---- ---------------------- ------------------- --------- 1 LATITUDE 0.01 DEGREES REAL 2 LONGITUDE 0.01 DEGREES WEST REAL 3 FIELD OF VIEW NUMBER NUMERIC INTEGER 4 OBSERVATION TIME 0.01 HOURS (UTC) REAL 5 YEAR/MONTH 4-CHAR. 'YYMM' CHARACTER LEFT-JUSTIFIED 6 DAY/HOUR 4-CHARACTERS 'DDHH' CHARACTER 7 STATION ELEVATION METERS REAL 8 PROCESS. TECHNIQUE (=21-CLEAR; INTEGER 8 PROCESS. TECHNIQUE =23-CLOUD-CORRECTED) 9 REPORT TYPE 61 (CONSTANT) INTEGER 10 QUALITY FLAG (BUFR CODE TABLE "0 33 002") INTEGER 11 STN. ID. (FIRST 4 CHAR.) 4-CHARACTERS CHARACTER LEFT-JUSTIFIED 12 STN. ID. (LAST 2 CHAR.) 2-CHARACTERS CHARACTER LEFT-JUSTIFIED (SEE %) 13-26 ZEROED OUT - NOT USED 27 CATEGORY 08, NO. LEVELS COUNT INTEGER 28 CATEGORY 08, DATA INDEX COUNT INTEGER 29-38 ZEROED OUT - NOT USED 39 CATEGORY 12, NO. LEVELS COUNT INTEGER 40 CATEGORY 12, DATA INDEX COUNT INTEGER 41 CATEGORY 13, NO. LEVELS COUNT INTEGER 42 CATEGORY 13, DATA INDEX COUNT INTEGER 43-END UNPACKED DATA GROUPS (FOLLOWS) REAL CATEGORY 12 - SATELLITE SOUNDING LEVEL DATA (FIRST LEVEL IS SURFACE; EACH LEVEL, SEE 39 ABOVE) WORD PARAMETER UNITS FORMAT ---- --------- ----------------- ------------- 1 PRESSURE 0.1 MILLIBARS REAL 2 GEOPOTENTIAL METERS REAL #- FIRST CHARACTER IS Q.M. FOR THE DATUM 4 DEWPOINT TEMPERATURE 0.1 DEGREES C REAL 5 NOT USED SET TO MISSING REAL 6 NOT USED SET TO MISSING REAL 7 QUALITY MARKERS 4-CHARACTERS CHARACTER LEFT-JUSTIFIED (SEE &) CATEGORY 13 - SATELLITE RADIANCE "LEVEL" DATA (EACH "LEVEL", SEE 41 ABOVE) WORD PARAMETER UNITS FORMAT ---- --------- ----------------- ------------- 1 CHANNEL NUMBER NUMERIC INTEGER 2 BRIGHTNESS TEMP. 0.01 DEG. KELVIN REAL 3 QUALITY MARKERS 4-CHARACTERS CHARACTER LEFT-JUSTIFIED (SEE &&) CATEGORY 08 - ADDITIONAL (MISCELLANEOUS) DATA (EACH LEVEL, SEE @ BELOW) WORD PARAMETER UNITS FORMAT ---- --------- ----------------- ------------- 1 VARIABLE SEE @ BELOW REAL 2 CODE FIGURE SEE @ BELOW REAL 3 MARKERS 2-CHARACTERS CHARACTER LEFT-JUSTIFIED (SEE #) %- SIXTH CHARACTER OF STATION ID IS A TAGGED AS FOLLOWS: "I" - GOES-EVEN-1 (252, 256, ...) SAT. , CLEAR COLUMN RETR. "J" - GOES-EVEN-1 (252, 256, ...) SAT. , CLD-CORRECTED RETR. "L" - GOES-ODD-1 (253, 257, ...) SAT. , CLEAR COLUMN RETR. "M" - GOES-ODD-1 (253, 257, ...) SAT. , CLD-CORRECTED RETR. "O" - GOES-EVEN-2 (254, 258, ...) SAT. , CLEAR COLUMN RETR. "P" - GOES-EVEN-2 (254, 258, ...) SAT. , CLD-CORRECTED RETR. "Q" - GOES-ODD-2 (251, 255, ...) SAT. , CLEAR COLUMN RETR. "R" - GOES-ODD-2 (251, 255, ...) SAT. , CLD-CORRECTED RETR. "?" - EITHER SATELLITE AND/OR RETRIEVAL TYPE UNKNOWN &- FIRST CHARACTER IS Q.M. FOR GEOPOTENTIAL SECOND CHARACTER IS Q.M. FOR TEMPERATURE THIRD CHARACTER IS Q.M. FOR DEWPOINT TEMPERATURE FOURTH CHARACTER IS NOT USED " " - INDICATES DATA NOT SUSPECT "Q" - INDICATES DATA ARE SUSPECT "F" - INDICATES DATA ARE BAD &&- FIRST CHARACTER IS Q.M. FOR BRIGHTNESS TEMPERATURE SECOND-FOURTH CHARACTERS ARE NOT USED " " - INDICATES DATA NOT SUSPECT "Q" - INDICATES DATA ARE SUSPECT "F" - INDICATES DATA ARE BAD @- NUMBER OF "LEVELS" FROM WORD 27. MAXIMUM IS 12, AND ARE ORDERED AS FOLLOWS (IF A DATUM ARE MISSING THAT LEVEL NOT STORED) 1 - LIFTED INDEX ---------- .01 DEG. KELVIN -- C. FIG. 250. 2 - TOTAL PRECIP. WATER -- .01 MILLIMETERS -- C. FIG. 251. 3 - 1. TO .9 SIGMA P.WATER- .01 MILLIMETERS -- C. FIG. 252. 4 - .9 TO .7 SIGMA P.WATER- .01 MILLIMETERS -- C. FIG. 253. 5 - .7 TO .3 SIGMA P.WATER- .01 MILLIMETERS -- C. FIG. 254. 6 - SKIN TEMPERATURE ----- .01 DEG. KELVIN -- C. FIG. 255. 7 - CLOUD TOP TEMPERATURE- .01 DEG. KELVIN -- C. FIG. 256. 8 - CLOUD TOP PRESSURE --- .1 MILLIBARS ----- C. FIG. 257. 9 - CLOUD AMOUNT (BUFR TBL. C.T. 0-20-011) -- C. FIG. 258. 10 - INSTR. DATA USED IN PROC. (BUFR TBL. C.T. 0-02-021) -- C. FIG. 259. 11 - SOLAR ZENITH ANGLE --- .01 DEGREE ------- C. FIG. 260. 12 - SAT. ZENITH ANGLE ---- .01 DEGREE ------- C. FIG. 261. #- FIRST CHARACTER IS Q.M. FOR THE DATUM " " - INDICATES DATA NOT SUSPECT "Q" - INDICATES DATA ARE SUSPECT "F" - INDICATES DATA ARE BAD SECOND CHARACTER IS NOT USED FORMAT FOR NEXRAD (VAD) WIND REPORTS WORD CONTENT UNIT FORMAT ---- ---------------------- ------------------- --------- 1 LATITUDE 0.01 DEGREES REAL 2 LONGITUDE 0.01 DEGREES WEST REAL 3 ** RESERVED ** SET TO 99999 INTEGER 4 OBSERVATION TIME 0.01 HOURS (UTC) REAL 5 YEAR/MONTH 4-CHAR. 'YYMM' CHARACTER LEFT-JUSTIFIED 6 DAY/HOUR 4-CHARACTERS 'DDHH' CHARACTER 7 STATION ELEVATION METERS REAL 8 ** RESERVED ** SET TO 99999 INTEGER 9 REPORT TYPE 72 (CONSTANT) INTEGER 10 ** RESERVED ** SET TO 99999 INTEGER 11 STN. ID. (FIRST 4 CHAR.) 4-CHARACTERS CHARACTER LEFT-JUSTIFIED 12 STN. ID. (LAST 2 CHAR.) 2-CHARACTERS CHARACTER LEFT-JUSTIFIED 13-18 ZEROED OUT - NOT USED INTEGER 19 CATEGORY 04, NO. LEVELS COUNT INTEGER 20 CATEGORY 04, DATA INDEX COUNT INTEGER 21-42 ZEROED OUT - NOT USED INTEGER 43-END UNPACKED DATA GROUPS (FOLLOWS) REAL CATEGORY 04 - UPPER-AIR WINDS-BY-HEIGHT DATA(FIRST LEVEL IS SURFACE) (EACH LEVEL, SEE WORD 19 ABOVE) WORD PARAMETER UNITS FORMAT ---- --------- ----------------- ------------- 1 HEIGHT ABOVE SEA-LVL METERS REAL 2 HORIZ. WIND DIR. DEGREES REAL 3 HORIZ. WIND SPEED 0.1 M/S (SEE *) REAL 4 QUALITY MARKERS 4-CHARACTERS CHARACTER LEFT-JUSTIFIED (SEE %) *- UNITS HERE DIFFER FROM THOSE IN TRUE UNPACKED OFFICE NOTE 29 (WHERE UNITS ARE KNOTS) %- THE FIRST THREE CHARACTERS ARE ALWAYS BLANK, THE FOURTH CHARACTER IS A "CONFIDENCE LEVEL" WHICH IS RELATED TO THE ROOT- MEAN-SQUARE VECTOR ERROR FOR THE HORIZONTAL WIND. IT IS DEFINED AS FOLLOWS: 'A' = RMS OF 1.9 KNOTS 'B' = RMS OF 3.9 KNOTS 'C' = RMS OF 5.8 KNOTS 'D' = RMS OF 7.8 KNOTS 'E' = RMS OF 9.7 KNOTS 'F' = RMS OF 11.7 KNOTS 'G' = RMS > 13.6 KNOTS FOR ALL REPORT TYPES, MISSING VALUES ARE: 99999. FOR REAL 99999 FOR INTEGER 9'S FOR CHARACTERS IN WORD 5, 6 OF HEADER BLANK FOR CHARACTERS IN WORD 11, 12 OF HEADER AND FOR CHARACTERS IN ANY CATEGORY LEVEL
 
W3lib.tar Library contains Fortran 90 decoder/encoder routines for GRIB edition 1. (Fortran90)
Date posted: 2/22/2007