GRIB (GRIdded Binary or General Regularly-distributed Information in Binary form) is a concise data format commonly used in meteorology to store historical and forecast weather data. It is standardized by the World Meteorological Organization's Commission for Basic Systems, known under number GRIB FM 92-IX, described in WMO Manual on Codes No.306. Currently there are three versions of GRIB. Version 0 was used to a limited extent by projects such as TOGA, and is no longer in operational use. The first edition (current sub-version is 2) is used operationally worldwide by most meteorological centers, for Numerical Weather Prediction output (NWP). A newer generation has been introduced, known as GRIB second edition, and data is slowly changing over to this format. Some of the second-generation GRIB are used for derived product distributed in Eumetcast of Meteosat Second Generation. Another example is the NAM (North American Mesoscale) model.
GRIB superseded the Aeronautical Data Format (ADF).
Most GRIB files are actually a collection of individual self-containing records, and the individual records themselves can stand alone as meaningful data. So a collection of GRIB records can be appended to each other or broken down easily. i.e. You can join two GRIB files into one, and it will have no negative influence to accessibility of the data nor its actual data content.
Each individual GRIB record has two components - the part that describes the record (the header), and the actual binary data itself. All binary data in GRIB 1 are not compressed, but GRIB 2 is compressible. Parts of the headers are described as octets which are base 2 binary numbers converted to base 10 decimal integer with the first binary bit value on the left.
The World Meteorological Organization (WMO) Commission for Basic Systems (CBS) meet in 1985 to create the GRIB (GRIdded Binary) format. The WGDM in February 1994, after major change, edit the revision 1 of the GRIB format. The GRIB Edition 2 format emerge in 2003 at Geneva.
GRIB 1 Header
There are 2 parts of the GRIB 1 header - one mandatory (Product Definition Section - PDS) and one optional (Grid Description Section - GDS). The PDS describes who created the data (the research/operation center), the involved numerical model/process - can be NWP or GCM, the data that is actually stored (such as wind, temperature, ozone concentration etc.), units of the data (meters, pressure etc.), vertical system of the data (constant height, constant pressure, constant potential temperature), and the time stamp.
If a description of the spatial organization of the data is needed, the GDS must be included as well. This information includes spectral (harmonics of divergence and vorticity) vs gridded data (Gaussian, X-Y grid), horizontal resolution, and the location of the origin.
- ATMOGRAPH ModelVis Commercial numerical weather model data visualization software capable of decoding and displaying both GRIB 1 and GRIB 2 data formats
- WGRIB Command line based program to manipulate, inventory and decode GRIB files
- Picogrib GRIB 1 C-language (FORTRAN callable) free decoding package compatible to some extent with ECMWF GRIBEX routine
- NCEP codes free software (C and FORTRAN library) for decoding and encoding data in GRIB 1 format
- NCEP codes free software (C and FORTRAN library) for decoding and encoding data in GRIB 2 format (some template only)
- JGrib - Jgrib is a free library for reading GRIB files in Java.
- Meteosatlib - Meteosatlib is a free software C++ library and set of tools to convert satellite images between various formats; it can read and write GRIB data, and its GRIB encoding/decoding library can be used standalone.
- The NCAR Command Language can be used to read, analyze and visualize GRIB data, as well convert it to other gridded data formats.
- PyNIO is a Python programming language module that allows read and/or write access to a variety of data formats using an interface modelled on netCDF.
- degrib (AKA NDFD GRIB2 Decoder) is a reader for GRIB 1 and GRIB 2 files.
- wgrib2 is a reader for GRIB 2 files.
- GRIB API is an API developed at ECMWF to decode and encode GRIB edition 1 and 2 data. A useful set of command line tools is also included.
- Ugrib – Ugrib is a no cost graphical GRIB viewer designed for reading GRIB 1 files. The website GRIB.US also aims to provide education on the prudent and safe use of GRIB data for forecasting weather
- SmartMet - SmartMet is a Windows tool that reads, writes and visualises GRIB data
- Xconv/Convsh – Xconv is a graphical tool for displaying and converting gridded data, and is available for most operating systems. Convsh is the command-line equivalent.
- GRIB Java Decoder is a free library for reading GRIB 1 and GRIB 2 files in Java, part of the NetCDF Java Common Data Model library
- zyGrib a graphical software for Linux, Mac OS X and Windows (GPL3, Qt) to download and display GRIB 1 files.
- GrADS, Linux/Unix based desktop application that handles GRIB 
- GDAL, a popular open source reading and writing library for geospatial data
- PyGrib A python language extension module which allows one to read and write GRIB 1 and GRIB 2 formats.
- PolarView A navigation application that includes a GRIB viewer, supporting both GRIB 1 and GRIB 2. PolarView includes a GRIB download service for GFS (wind/atmospheric pressure), NWW3 (wave height/direction) and RTOFS (Atlantic currents) data from NOAA. Available for Linux, Mac and Windows.
- OpenCPN Open Source Chart Plotter / Marine Navigator. For day to day cruising or advance route planning. (NOTE: GRIB support is available since version 1.3.5 beta)
- CDO (Climate Data Operators) is an analysis tool for geoscientific data with GRIB support
- IDV is a meteorologically oriented, platform-independent application for visualization and analysis of GRIB1, GRIB2 and NetCDF files.
- SoftwareOnBoard A marine navigation application for Windows that includes GRIB overlays on the chart.
- GribAE A freeware Windows interface for WGRIB.
- qtVlm a free software for linux, windows and mac, based on zyGrib but with an interface with GPS and routing functions (+ an interface with virtual sailing game VLM)
Several iOS Apps support the GRIB format, including:
Several Android Apps support the GRIB format, including:
- Walter Zwieflhofer; Norbert Kreitz (2004), Realizing Teracomputing: Proceedings of the Tenth Ecmwf Workshop on the Use of High Performance Computers in Meteorology, World Scientific, p. 112, ISBN 978-981-238-376-1
- GRIB Edition 1
- GRIB Edition 2 (01/2003)
- GRIB Edition 2 (binary only 11/2003)
- GRIB data of Environment Canada
- www.ecmwf.int GRIB API