Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 
  CommunityCorner
Director's Page
Strategic Plan
Unidata Leaflet
Unidata Metrics Assessment
2009 Users Workshop
Unidata Seminar Series
CommunitE-letter
Unidata Events
Community Announcements
Job Opportunities
Acronyms List
 
  ToolBox
  Downloads
  Data
  Software Tools
  Data-flow Quick Help
  Support
  Unidata Developer's Blog
  Mailing Lists
  RSS Feeds
 
  DisplayAnalysis
  GEMPAK
  McIDAS
  IDV
 
  DataAccess
  LDM
  IDD
  THREDDS
  OPeNDAP/DODS
 
  DataManagement
  libcf
  netCDF
  netCDF Java
  UDUNITS
 
 
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
**The **BUFR Java Decoder **library **is deprecated, and no longer maintained as a standalone library. Its functionality has been incorporated into the netCDF-Java/CDM library.
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
 
News and Announcements
What's New in Unidata Decoders
 
Register as a User
Register as a Unidata User: why this is required
 
Download Decoder Packages
The latest release is available from the Unidata downloads page.
 
Auxiliary Packages
netCDF
netCDF Java
netCDF perl
udunits
 
Decoders Support
Subscribe to decoders mailing list
Search or browse the Decoders support and mailing list archives
Questions or comments can be sent to Unidata Decoders Support
 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Community Programs   Unidata is a member of the UCAR Community Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690