|
|
|
GRIB, BUFR and Surface/Upperair Data Decoders
The Java, perl and c decoder packages are used to manage GRIB, BUFR and Textual Report data. The GRIB Java and the BUFR
Java Decoders used the stored raw data files and decode the data as requested. The perl and c decoders decode the data into netCDF
files as it arrives and doesn't store the raw data files because the raw data is not in a usable format.
GRIB Java and the BUFR Java decoders are used with the Common Data Model (CDM) software netCDF-Java to make the raw data appear
as a netCDF file with parameter type selection abilities. There is more information on the CDM in the
netcdf-java software section. All the decoders can be used in stand alone mode.
|
|
|
|
|
|
GRIB Java Decoder
|
|
The GRIB Java decoder approach is to only convert the data that is requested therefore avoiding the large output file sizes.
For efficiency on data access, the raw GRIB file is indexed so the parameter type information is in a condensed format including
the location of the parameter offset in the file. Therefore the entire file doesn't have to be decoded to get a single
parameter data, the data accessing routine know how to navigate the raw data file using the parameter offset to only extract the desired data. This makes for very efficient data extraction. But if one wants to convert a Grib file completely to netCDF,
then here is a Grib2Netcdf decoder.
The GRIB Java decoder package consists of a set of utilities that also can act as templates for coders.
- GribChecker returns version of Grib file (1|2) or 0 not a Grib file.
- Grib(1|2)Dump dumps the metadata contents of Grib file
- Grib(1|2)Indexer to index the records in the Grib file
- Grib(1|2)IndexExtender to extend the index for a Grib file that has increased in size since the index was created.
- Grib(1|2)GetData to extract the data on a parameter basis.
- Parameter and level lookup routines. See Parameters
- Sample commands
The Index gives a concise overview of the content of the Grib file. Usually the index is created once then it is used again and again as data extraction occurs and it has the same name as the Grib file with ".gbx" appended.
The Java Docs for the GRIB Java decoder will show the args needed for the above utilities and the APIs for the Grib library.
Currently the netCDF Java library uses the grib-version.jar and the jpeg2000.jar libraries to read the Grib files and to make netCDF objects/files.
|
|
|
|
BUFR Java Decoder
|
|
Because the BUFR format is so flexible, the BUFR Java decoder will not be able to decode all the BUFR data files. It has been
tested on a large range of data files but new data files are always being created so this disclaimer. If the decoder
fails, send a support message to Unidata to see if there is a possibility that a modification to the decoder can be made.
The BUFR Java decoder approach is to only convert the data as it is requested therefore avoiding the large output file sizes.
For efficiency on data access, the raw BUFR file is indexed so the report type information is in a condensed format including
the location of the report offset in the file. Therefore the entire file doesn't have to be decoded to get a single
report, the data accessing routine know how to navigate the raw data file to only extract the desired data. This is very
efficient data extraction and it avoids the large output files.
The BUFR Java decoder package consists of a set of utilities that also can act as templates for coders.
- BufrDump dumps the metadata/data contents of the entire Bufr file
- BufrIndexer to index the records in the Bufr file
- BufrGetData to extract the data on a report basis.
- Sample commands
The Index gives a concise overview of the content of the Bufr file. Usually the index is created once then it is used again and again as data extraction occurs and it has the same name as the Bufr file with ".bfx" appended.
The Java Docs for the BUFR Java decoder will show the args needed for the above utilities and the APIs for the Bufr library.
Currently the netCDF Java library uses the Bufr library to read the
Bufr files and to make netCDF objects/files.
|
|
|
|
Surface/Upperair data Decoders to netCDF Format
|
These are perl decoders that convert textual bulletins into netCDF formatted files. This package usually works in conjunction with the LDM package to convert incoming products to the netCDF format without storing the raw data. There are perl decoders for the following textual report types: METAR, buoy, upperair, and synoptic products. It is better to decode the textual reports in real time with the LDM because the textual reports do not have a year month fields in the reports.
This package requires the installation of udunits, netCDF, and the perl-netCDF packages to work.
To install the decoders with the LDM, add the following pqact entries into your LDM pqact.conf file.
LDM pqact entries
|
|
|
|
GRIB1 Decoder to netCDF Format
|
The netCDF Decoders package only converts some WMO GRIB1 products
into netCDF formatted files. This package is in the process of being deprecated
because of it's limitations of not being able to
convert GRIB2 data, it's hard to compile on some new architectures
, and it has a static parameter table. This package is being replaced with the
Grib Java package above that has the flexibility to convert all or part of the Grib
file into netCDF.
This package usually works in conjunction with the LDM package to convert incoming products to the netCDF format without storing the raw data. This package requires the installation of netCDF, and udunits to work.
To install the decoders with the LDM, add the following pqact entries into your LDM pqact.conf file.
LDM pqact entries
|
|
|
|
|
|
|
|
|
|
|
|
Download Decoder Packages
|
|
The latest release is available from the Unidata downloads
page.
|
|
|
|
|
|
|
|
|
|
|
|
|