NCEPLIBS-w3emc 2.12.0
|
Unpack GRIB field to a GRIB grid. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | fi631 (msga, kptr, kpds, kret) |
Find 'grib' chars & reset pointers. | |
subroutine | fi632 (msga, kptr, kpds, kret) |
Gather info from product definition sec. | |
subroutine | fi633 (msga, kptr, kgds, kret) |
Extract info from grib-gds. | |
subroutine | fi634 (msga, kptr, kpds, kgds, kbms, kret) |
Extract or generate bit map for output. | |
subroutine | fi634x (npts, nskp, msga, kbms) |
Extract bit map. | |
subroutine | fi635 (msga, kptr, kpds, kgds, kbms, data, kret) |
Extract grib data elements from bds. | |
subroutine | fi636 (data, msga, kbms, refnce, kptr, kpds, kgds) |
Process second order packing. | |
subroutine | fi637 (j, kpds, kgds, kret) |
Grib grid/size test. | |
subroutine | w3fi63 (msga, kpds, kgds, kbms, data, kptr, kret) |
Unpack a GRIB (edition 1) field to the exact grid specified in the GRIB message, isolate the bit map, and make the values of the product descripton section (PDS) and the grid description section (GDS) available in return arrays. | |
subroutine fi631 | ( | character*1, dimension(*) | msga, |
integer, dimension(*) | kptr, | ||
integer, dimension(*) | kpds, | ||
integer | kret | ||
) |
Find 'grib' chars & reset pointers.
Program history log:
[in] | MSGA | Grib field - "grib" thru "7777" |
[in,out] | KPTR | Array containing storage for following parameters
|
[out] | KPDS | Array containing pds elements.
|
[out] | KRET | Error return |
subroutine fi632 | ( | character*1, dimension(*) | msga, |
integer, dimension(*) | kptr, | ||
integer, dimension(*) | kpds, | ||
integer | kret | ||
) |
Gather info from product definition sec.
Program history log:
[in] | MSGA | Array containing grib message. |
[in,out] | KPTR | Array containing storage for following parameters.
|
[out] | KPDS | Array containing pds elements.
|
[out] | KRET | Error return. |
subroutine fi633 | ( | character*1, dimension(*) | msga, |
integer, dimension(*) | kptr, | ||
integer, dimension(*) | kgds, | ||
integer | kret | ||
) |
Extract info from grib-gds.
Program history log:
[in] | MSGA | Array containing grib message |
[in,out] | KPTR | Array containing storage for following parameters
|
[out] | KGDS | Array containing gds elements.
|
[out] | KRET | Error return |
subroutine fi634 | ( | character*1, dimension(*) | msga, |
integer, dimension(*) | kptr, | ||
integer, dimension(*) | kpds, | ||
integer, dimension(*) | kgds, | ||
logical*1, dimension(*) | kbms, | ||
integer | kret | ||
) |
Extract or generate bit map for output.
Program history log:
[in] | MSGA | Bufr message |
[in,out] | KPTR | Array containing storage for following parameters
|
[in] | KPDS | Array containing pds elements.
|
[in] | KGDS | Array containing gds elements.
|
[out] | KBMS | Bitmap describing location of output elements. |
[out] | KRET | Error return |
subroutine fi634x | ( | npts, | |
nskp, | |||
character*1, dimension(*) | msga, | ||
logical*1, dimension(npts) | kbms | ||
) |
Extract bit map.
Program history log: 97-09-19 Vectorized bitmap decoder.
[in] | NPTS | XInteger number of points in the bitmap field |
[in] | NSKP | Integer number of bits to skip in grib message |
[in] | MSGA | Character*1 grib message |
[out] | KBMS | Logical*1 bitmap |
subroutine fi635 | ( | character*1, dimension(*) | msga, |
integer, dimension(*) | kptr, | ||
integer, dimension(*) | kpds, | ||
integer, dimension(*) | kgds, | ||
logical*1, dimension(*) | kbms, | ||
real, dimension(*) | data, | ||
kret | |||
) |
Extract grib data elements from bds.
Program history log:
[in] | MSGA | Array containing grib message |
[in,out] | KPTR | Array containing storage for following parameters
|
[in] | KPDS | Array containing pds elements. See initial routine |
[in] | KGDS | Array containing gds elements.
|
[in] | KBMS | Bitmap describing location of output elements. -KBDS Information extracted from binary data section |
[out] | DATA | Real*4 array of gridded elements in grib message. |
[out] | KRET | Error return |
subroutine fi636 | ( | real, dimension(*) | data, |
character*1, dimension(*) | msga, | ||
logical*1, dimension(*) | kbms, | ||
real | refnce, | ||
integer, dimension(*) | kptr, | ||
integer, dimension(*) | kpds, | ||
integer, dimension(*) | kgds | ||
) |
Process second order packing.
Program history log:
[in] | MSGA | Array containing grib message |
[in] | REFNCE | Reference value |
[in] | KPTR | Work array |
[out] | DATA | Location of output array
|
[in] | KBMS | |
[in] | KPDS | |
[in] | KGDS | Array containing gds elements.
|
subroutine fi637 | ( | integer | j, |
integer, dimension(*) | kpds, | ||
integer, dimension(*) | kgds, | ||
kret | |||
) |
Grib grid/size test.
Program history log:
[in,out] | J | Size for indicated grid modified for ecmwf-us 2 |
[in] | KPDS | |
[in] | KGDS | |
[out] | KRET | Error return (a mismatch was detected if kret is not zero) |
subroutine w3fi63 | ( | character*1, dimension(*) | msga, |
integer, dimension(*) | kpds, | ||
integer, dimension(*) | kgds, | ||
logical*1, dimension(*) | kbms, | ||
real, dimension(*) | data, | ||
integer, dimension(*) | kptr, | ||
kret | |||
) |
Unpack a GRIB (edition 1) field to the exact grid specified in the GRIB message, isolate the bit map, and make the values of the product descripton section (PDS) and the grid description section (GDS) available in return arrays.
When decoding is completed, data at each grid point has been returned in the units specified in the GRIB manual.
See "GRIB - THE WMO FORMAT FOR THE STORAGE OF WEATHER PRODUCT INFORMATION AND THE EXCHANGE OF WEATHER PRODUCT MESSAGES IN GRIDDED BINARY FORM" dated July 1, 1988 by John D. Stackpolem DOC, NOAA, NWS, National Meteorological Center.
List of text messages from code:
[in] | MSGA | Grib field - "grib" thru "7777" char*1 (message can be preceded by junk chars). Contains the grib message to be unpacked. characters "GRIB" may begin anywhere within first 100 bytes. |
[out] | KPDS | Array of size 100 containing PDS elements, GRIB (edition 1):
|
[out] | KGDS | ARRAY CONTAINING GDS ELEMENTS.
|
[out] | KBMS | Bitmap describing location of output elements. (always constructed) |
[out] | DATA | Array containing the unpacked data elements. Note: 65160 is maximun field size allowable. |
[out] | KPTR | Array containing storage for following parameters |
[out] | KRET | Flag indicating quality of completion. |