📄 grib1.doc
字号:
C IGFLAG=1 (USER SUPPLYING IGDS). USER MUST STILL SUPPLYC IGRID EVEN IF IGDS PROVIDED.C 5) IF BIT MAP USED THEN ID(7) OR PDS(8) MUST INDICATE THEC PRESENCE OF A BIT MAP.C 6) ARRAY KBUF SHOULD BE EQUIVALENCED TO AN INTEGER VALUE ORC ARRAY TO MAKE SURE IT IS ON A WORD BOUNDARY.C 7) SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.CC ATTRIBUTES:C LANGUAGE: FORTRAN 90CC$$$C$$$ SUBPROGRAM DOCUMENTATION BLOCKCC SUBPROGRAM: PUTGB PACKS AND WRITES A GRIB MESSAGEC PRGMMR: IREDELL ORG: W/NMC23 DATE: 94-04-01CC ABSTRACT: PACK AND WRITE A GRIB MESSAGE.C THIS SUBPROGRAM IS NEARLY THE INVERSE OF GETGB.CC PROGRAM HISTORY LOG:C 94-04-01 IREDELLC 95-10-31 IREDELL REMOVED SAVES AND PRINTSCC USAGE: CALL PUTGB(LUGB,KF,KPDS,KGDS,LB,F,IRET)C INPUT ARGUMENTS:C LUGB INTEGER UNIT OF THE UNBLOCKED GRIB DATA FILEC KF INTEGER NUMBER OF DATA POINTSC KPDS INTEGER (200) PDS PARAMETERSC (1) - ID OF CENTERC (2) - GENERATING PROCESS ID NUMBERC (3) - GRID DEFINITIONC (4) - GDS/BMS FLAG (RIGHT ADJ COPY OF OCTET 8)C (5) - INDICATOR OF PARAMETERC (6) - TYPE OF LEVELC (7) - HEIGHT/PRESSURE , ETC OF LEVELC (8) - YEAR INCLUDING (CENTURY-1)C (9) - MONTH OF YEARC (10) - DAY OF MONTHC (11) - HOUR OF DAYC (12) - MINUTE OF HOURC (13) - INDICATOR OF FORECAST TIME UNITC (14) - TIME RANGE 1C (15) - TIME RANGE 2C (16) - TIME RANGE FLAGC (17) - NUMBER INCLUDED IN AVERAGEC (18) - VERSION NR OF GRIB SPECIFICATIONC (19) - VERSION NR OF PARAMETER TABLEC (20) - NR MISSING FROM AVERAGE/ACCUMULATIONC (21) - CENTURY OF REFERENCE TIME OF DATAC (22) - UNITS DECIMAL SCALE FACTORC (23) - SUBCENTER NUMBERC (24) - PDS BYTE 29, FOR NMC ENSEMBLE PRODUCTSC 128 IF FORECAST FIELD ERRORC 64 IF BIAS CORRECTED FCST FIELDC 32 IF SMOOTHED FIELDC WARNING: CAN BE COMBINATION OF MORE THAN 1C (25) - PDS BYTE 30, NOT USEDC KGDS INTEGER (200) GDS PARAMETERSC (1) - DATA REPRESENTATION TYPEC (19) - NUMBER OF VERTICAL COORDINATE PARAMETERSC (20) - OCTET NUMBER OF THE LIST OF VERTICAL COORDINATEC PARAMETERSC ORC OCTET NUMBER OF THE LIST OF NUMBERS OF POINTSC IN EACH ROWC ORC 255 IF NEITHER ARE PRESENTC (21) - FOR GRIDS WITH PL, NUMBER OF POINTS IN GRIDC (22) - NUMBER OF WORDS IN EACH ROWC LATITUDE/LONGITUDE GRIDSC (2) - N(I) NR POINTS ON LATITUDE CIRCLEC (3) - N(J) NR POINTS ON LONGITUDE MERIDIANC (4) - LA(1) LATITUDE OF ORIGINC (5) - LO(1) LONGITUDE OF ORIGINC (6) - RESOLUTION FLAG (RIGHT ADJ COPY OF OCTET 17)C (7) - LA(2) LATITUDE OF EXTREME POINTC (8) - LO(2) LONGITUDE OF EXTREME POINTC (9) - DI LONGITUDINAL DIRECTION OF INCREMENTC (10) - DJ LATITUDINAL DIRECTION INCREMENTC (11) - SCANNING MODE FLAG (RIGHT ADJ COPY OF OCTET 28)C GAUSSIAN GRIDSC (2) - N(I) NR POINTS ON LATITUDE CIRCLEC (3) - N(J) NR POINTS ON LONGITUDE MERIDIANC (4) - LA(1) LATITUDE OF ORIGINC (5) - LO(1) LONGITUDE OF ORIGINC (6) - RESOLUTION FLAG (RIGHT ADJ COPY OF OCTET 17)C (7) - LA(2) LATITUDE OF EXTREME POINTC (8) - LO(2) LONGITUDE OF EXTREME POINTC (9) - DI LONGITUDINAL DIRECTION OF INCREMENTC (10) - N - NR OF CIRCLES POLE TO EQUATORC (11) - SCANNING MODE FLAG (RIGHT ADJ COPY OF OCTET 28)C (12) - NV - NR OF VERT COORD PARAMETERSC (13) - PV - OCTET NR OF LIST OF VERT COORD PARAMETERSC ORC PL - LOCATION OF THE LIST OF NUMBERS OF POINTS INC EACH ROW (IF NO VERT COORD PARAMETERSC ARE PRESENTC ORC 255 IF NEITHER ARE PRESENTC POLAR STEREOGRAPHIC GRIDSC (2) - N(I) NR POINTS ALONG LAT CIRCLEC (3) - N(J) NR POINTS ALONG LON CIRCLEC (4) - LA(1) LATITUDE OF ORIGINC (5) - LO(1) LONGITUDE OF ORIGINC (6) - RESOLUTION FLAG (RIGHT ADJ COPY OF OCTET 17)C (7) - LOV GRID ORIENTATIONC (8) - DX - X DIRECTION INCREMENTC (9) - DY - Y DIRECTION INCREMENTC (10) - PROJECTION CENTER FLAGC (11) - SCANNING MODE (RIGHT ADJ COPY OF OCTET 28)C SPHERICAL HARMONIC COEFFICIENTSC (2) - J PENTAGONAL RESOLUTION PARAMETERC (3) - K " " "C (4) - M " " "C (5) - REPRESENTATION TYPEC (6) - COEFFICIENT STORAGE MODEC MERCATOR GRIDSC (2) - N(I) NR POINTS ON LATITUDE CIRCLEC (3) - N(J) NR POINTS ON LONGITUDE MERIDIANC (4) - LA(1) LATITUDE OF ORIGINC (5) - LO(1) LONGITUDE OF ORIGINC (6) - RESOLUTION FLAG (RIGHT ADJ COPY OF OCTET 17)C (7) - LA(2) LATITUDE OF LAST GRID POINTC (8) - LO(2) LONGITUDE OF LAST GRID POINTC (9) - LATIT - LATITUDE OF PROJECTION INTERSECTIONC (10) - RESERVEDC (11) - SCANNING MODE FLAG (RIGHT ADJ COPY OF OCTET 28)C (12) - LONGITUDINAL DIR GRID LENGTHC (13) - LATITUDINAL DIR GRID LENGTHC LAMBERT CONFORMAL GRIDSC (2) - NX NR POINTS ALONG X-AXISC (3) - NY NR POINTS ALONG Y-AXISC (4) - LA1 LAT OF ORIGIN (LOWER LEFT)C (5) - LO1 LON OF ORIGIN (LOWER LEFT)C (6) - RESOLUTION (RIGHT ADJ COPY OF OCTET 17)C (7) - LOV - ORIENTATION OF GRIDC (8) - DX - X-DIR INCREMENTC (9) - DY - Y-DIR INCREMENTC (10) - PROJECTION CENTER FLAGC (11) - SCANNING MODE FLAG (RIGHT ADJ COPY OF OCTET 28)C (12) - LATIN 1 - FIRST LAT FROM POLE OF SECANT CONE INTERC (13) - LATIN 2 - SECOND LAT FROM POLE OF SECANT CONE INTERC LB LOGICAL*1 (KF) BITMAP IF PRESENTC F REAL (KF) DATAC OUTPUT ARGUMENTS:C IRET INTEGER RETURN CODEC 0 ALL OKC OTHER W3FI72 GRIB PACKER RETURN CODECC SUBPROGRAMS CALLED:C R63W72 MAP W3FI63 PARAMETERS ONTO W3FI72 PARAMETERSC GETBIT GET NUMBER OF BITS AND ROUND DATAC W3FI72 PACK GRIBC WRYTE WRITE DATACC REMARKS: SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.C DO NOT ENGAGE THE SAME LOGICAL UNIT FROM MORE THAN ONE PROCESSOR.CC ATTRIBUTES:C LANGUAGE: FORTRAN 77C MACHINE: CRAY, WORKSTATIONSCC$$$C$$$ SUBPROGRAM DOCUMENTATION BLOCKC . . . .C SUBPROGRAM: W3FI63 UNPK GRIB FIELD TO GRIB GRIDC PRGMMR: FARLEY ORG: NMC421 DATE:94-11-22CC ABSTRACT: UNPACK A GRIB (EDITION 1) FIELD TO THE EXACT GRIDC SPECIFIED IN THE GRIB MESSAGE, ISOLATE THE BIT MAP, AND MAKEC THE VALUES OF THE PRODUCT DESCRIPTON SECTION (PDS) AND THEC GRID DESCRIPTION SECTION (GDS) AVAILABLE IN RETURN ARRAYS.CC WHEN DECODING IS COMPLETED, DATA AT EACH GRID POINT HAS BEENC RETURNED IN THE UNITS SPECIFIED IN THE GRIB MANUAL.CC PROGRAM HISTORY LOG:C 91-09-13 CAVANAUGHC 91-11-12 CAVANAUGH MODIFIED SIZE OF ECMWF GRIDS 5-8C 91-12-22 CAVANAUGH CORRECTED PROCESSING OF MERCATOR PROJECTIONSC IN GRID DEFINITION SECTION (GDS) INC ROUTINE FI633C 92-08-05 CAVANAUGH CORRECTED MAXIMUM GRID SIZE TO ALLOW FORC ONE DEGREE BY ONE DEGREE GLOBAL GRIDSC 92-08-27 CAVANAUGH CORRECTED TYPO ERROR, ADDED CODE TO COMPAREC TOTAL BYTE SIZE FROM SECTION 0 WITH SUM OFC SECTION SIZES.C 92-10-21 CAVANAUGH CORRECTIONS WERE MADE (IN FI634) TO REDUCEC PROCESSING TIME FOR INTERNATIONAL GRIDS.C REMOVED A TYPOGRAPHICAL ERROR IN FI635.C 93-01-07 CAVANAUGH CORRECTIONS WERE MADE (IN FI635) TOC FACILITATE USE OF THESE ROUTINES ON A PC.C A TYPOGRAPHICAL ERROR WAS ALSO CORRECTEDC 93-01-13 CAVANAUGH CORRECTIONS WERE MADE (IN FI632) TOC PROPERLY HANDLE CONDITION WHENC TIME RANGE INDICATOR = 10.C ADDED U.S.GRID 87.C 93-02-04 CAVANAUGH ADDED U.S.GRIDS 85 AND 86C 93-02-26 CAVANAUGH ADDED GRIDS 2, 3, 37 THRU 44,ANDC GRIDS 55, 56, 90, 91, 92, AND 93 TOC LIST OF U.S. GRIDS.C 93-04-07 CAVANAUGH ADDED GRIDS 67 THRU 77 TOC LIST OF U.S. GRIDS.C 93-04-20 CAVANAUGH INCREASED MAX SIZE TO ACCOMODATEC GAUSSIAN GRIDS.C 93-05-26 CAVANAUGH CORRECTED GRID RANGE SELECTION IN FI634C FOR RANGES 67-71 & 75-77C 93-06-08 CAVANAUGH CORRECTED FI635 TO ACCEPT GRIB MESSAGESC WITH SECOND ORDER PACKING. ADDED ROUTINE FI636C TO PROCESS MESSAGES WITH SECOND ORDER PACKING.C 93-09-22 CAVANAUGH MODIFIED TO EXTRACT SUB-CENTER NUMBER FROMC PDS BYTE 26C 93-10-13 CAVANAUGH MODIFIED FI634 TO CORRECT GRID SIZES FORC GRIDS 204 AND 208C 93-10-14 CAVANAUGH INCREASED SIZE OF KGDS TO INCLUDE ENTRIES FORC NUMBER OF POINTS IN GRID AND NUMBER OF WORDSC IN EACH ROWC 93-12-08 CAVANAUGH CORRECTED TEST FOR EDITION NUMBER INSTEADC OF VERSION NUMBERC 93-12-15 CAVANAUGH MODIFIED SECOND ORDER POINTERS TO FIRST ORDERC VALUES AND SECOND ORDER VALUES CORRECTLYC IN ROUTINE FI636C 94-03-02 CAVANAUGH ADDED CALL TO W3FI83 WITHIN DECODER. USERC NO LONGER NEEDS TO MAKE CALL TO THIS ROUTINEC 94-04-22 CAVANAUGH MODIFIED FI635, FI636 TO PROCESS ROW BY ROWC SECOND ORDER PACKING, ADDED SCALING CORRECTIONC TO FI635, AND CORRECTED TYPOGRAPHICAL ERRORSC IN COMMENT FIELDS IN FI634C 94-05-17 CAVANAUGH CORRECTED ERROR IN FI633 TO EXTRACT RESOLUTIONC FOR LAMBERT-CONFORMAL GRIDS. ADDED CLARIFYINGC INFORMATION TO DOCBLOCK ENTRIESC 94-05-25 CAVANAUGH ADDED CODE TO PROCESS COLUMN BY COLUMN AS WELLC AS ROW BY ROW ORDERING OF SECOND ORDER DATAC 94-06-27 CAVANAUGH ADDED PROCESSING FOR GRIDS 45, 94 AND 95.C INCLUDES CONSTRUCTION OF SECOND ORDER BIT MAPSC FOR THINNED GRIDS IN FI636.C 94-07-08 CAVANAUGH COMMENTED OUT PRINT OUTS USED FOR DEBUGGINGC 94-09-08 CAVANAUGH ADDED GRIDS 220, 221, 223 FOR FNOCC 94-11-10 FARLEY INCREASED MXSIZE FROM 72960 TO 260000C FOR .5 DEGREE SST ANALYSIS FIELDSC 94-12-06 R.E.JONES CHANGES IN FI632 FOR PDS GREATER THAN 28C 95-02-14 R.E.JONES CORRECT IN FI633 FOR NAVY WAFS GRIBC 95-03-20 M.BALDWIN FI633 MODIFICATION TO GETC DATA REP TYPES [KGDS(1)] 201 AND 202 TO WORK.C 95-04-10 E.ROGERS ADDED GRIDS 96 AND 97 FOR ETA MODEL IN FI634.C 95-04-26 R.E.JONES FI636 CORECTION FOR 2ND ORDER COMPLEXC UNPACKING. RC 95-05-19 R.E.JONES ADDED GRID 215, 20 KM AWIPS GRIDC 95-07-06 R.E.JONES ADDED GAUSSIAN T62, T126 GRID 98, 126C 95-10-19 R.E.JONES ADDED GRID 216, 45 KM ETA AWIPS ALASKA GRID C 95-10-31 IREDELL REMOVED SAVES AND PRINTSC 96-03-07 R.E.JONES CONTINUE UNPACK WITH KRET ERROR 9 IN FI631. C 96-08-19 R.E.JONES ADDED MERCATOR GRIDS 8 AND 53, AND GRID 196C 97-02-12 W BOSTELMAN CORRECTS ECMWF US GRID 2 PROCESSINGC 98-06-17 IREDELL REMOVED ALTERNATE RETURN IN FI637C 98-08-31 IREDELL ELIMINATED NEED FOR MXSIZEC 98-09-02 Gilbert Corrected error in map size for U.S. Grid 92C 98-09-08 BALDWIN ADD DATA REP TYPE [KGDS(1)] 203C 01-03-08 ROGERS CHANGED ETA GRIDS 90-97, ADDED ETA GRIDSC 194, 198. ADDED AWIPS GRIDS 241,242,243,C 245, 246, 247, 248, AND 250C 01-03-19 VUONG ADDED AWIPS GRIDS 238,239,240, AND 244.C 2001-06-06 GILBERT CHanged gbyte/sbyte calls to refer to C Wesley Ebisuzaki's endian independentC versions gbytec/sbytec.C Removed equivalences.C 01-05-03 ROGERS ADDED GRID 249 (12KM FOR ALASKA)C 01-10-10 ROGERS REDEFINED GRID 218 FOR 12 KM ETAC REDEFINED GRID 192 FOR NEW 32-KM ETA GRIDC 02-03-27 VUONG ADDED RSAS GRID 88 AND AWIPS GRIDS 219, 220,C 223, 224, 225, 226, 227, 228, 229, 230, 231,C 232, 233, 234, 235, 251, AND 252C 02-08-06 ROGERS REDEFINED GRIDS 90-93,97,194,245-250 FOR THEC 8KM HI-RES-WINDOW MODEL AND ADD AWIPS GRID 253C 2003-06-30 GILBERT SET NEW VALUES IN ARRAY KPTR TO PASS BACK ADDITIONALC PACKING INFO.C KPTR(19) - BINARY SCALE FACTORC KPTR(20) - NUM BITS USED TO PACK EACH DATUMC 2003-06-30 GILBERT ADDED GRIDS 145 and 146 for CMAQC and GRID 175 for AWIPS over GUAM.C 2003-07-08 VUONG ADDED GRIDS 110, 127, 171, 172 AND MODIFIED GRID 170CC USAGE: CALL W3FI63(MSGA,KPDS,KGDS,KBMS,DATA,KPTR,KRET)C INPUT ARGUMENT LIST:C MSGA - GRIB FIELD - "GRIB" THRU "7777" CHAR*1C (MESSAGE CAN BE PRECEDED BY JUNK CHARS)CC OUTPUT ARGUMENT LIST:C DATA - ARRAY CONTAINING DATA ELEMENTSC KPDS - ARRAY CONTAINING PDS ELEMENTS. (EDITION 1)C (1) - ID OF CENTERC (2) - GENERATING PROCESS ID NUMBERC (3) - GRID DEFINITIONC (4) - GDS/BMS FLAG (RIGHT ADJ COPY OF OCTET 8)C (5) - INDICATOR OF PARAMETERC (6) - TYPE OF LEVELC (7) - HEIGHT/PRESSURE , ETC OF LEVELC (8) - YEAR INCLUDING (CENTURY-1)C (9) - MONTH OF YEARC (10) - DAY OF MONTHC (11) - HOUR OF DAYC (12) - MINUTE OF HOURC (13) - INDICATOR OF FORECAST TIME UNITC (14) - TIME RANGE 1C (15) - TIME RANGE 2C (16) - TIME RANGE FLAGC (17) - NUMBER INCLUDED IN AVERAGEC (18) - VERSION NR OF GRIB SPECIFICATIONC (19) - VERSION NR OF PARAMETER TABLEC (20) - NR MISSING FROM AVERAGE/ACCUMULATIONC (21) - CENTURY OF REFERENCE TIME OF DATAC (22) - UNITS DECIMAL SCALE FACTORC (23) - SUBCENTER NUMBERC (24) - PDS BYTE 29, FOR NMC ENSEMBLE PRODUCTSC 128 IF FORECAST FIELD ERRORC 64 IF BIAS CORRECTED FCST FIELDC 32 IF SMOOTHED FIELDC WARNING: CAN BE COMBINATION OF MORE THAN 1C (25) - PDS BYTE 30, NOT USEDC (26-35) - RESERVEDC (36-N) - CONSECUTIVE BYTES EXTRACTED FROM PROGRAMC DEFINITION SECTION (PDS) OF GRIB MESSAGEC KGDS - ARRAY CONTAINING GDS ELEMENTS.C (1) - DATA REPRESENTATION TYPEC (19) - NUMBER OF VERTICAL COORDINATE PARAMETERS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -