Large amounts of weather and satellite data are exchanged each day routinely in real time around the world. Pre-defined and standardised data formats are essential to be able to make use of such weather information and observations.

The GRIdded Binary format (GRIB) is the primary World Meteorological Organization format for the storage and transmission of two-dimensional weather and climate grids, including the all-important numerical weather forecasts.

The BUFR is the primary format used operationally on the GTS for real-time global exchange of weather and satellite observations. BUFR is self-describing and is table driven, that is, it is a single format that uses tables to encode a wide variety of meteorological data: land and ship observations; aircraft observations; wind profiler observations; radar data; climatological data, etc.

ECMWF has developed ecCodes: an application program interface developed for decoding and encoding messages in the following formats:

ecCodes relies on a useful set of command line tools to provide quick access to the messages. C, Fortran 90 and Python interfaces provide access to the main ecCodes functionality.

By the end of the course, participants will be familiar with a set of command line tools that provide an easy way to access and modify information contained in GRIB or BUFR messages. They will also learn how to use encoding and decoding functions in their scripts.

There will be two versions of the course:

  • ecCodes for GRIB messages manipulation (course code: COM-ecCodesGRIB)
  • ecCodes for BUFR messages manipulation (course code: COM-ecCodesBUFR)


The practical sessions for all modules will involve using a UNIX interactive system. Participants of any module must know basic UNIX commands, including how to use an editor (e.g. vi, etc.) and the knowledge of a programming language (Fortran, C or Python) is desirable.

All the lectures and practical activities will be in English.