You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

ecCodes is an application program interface accessible from C, FORTRAN and Python programs developed by ECMWF for decoding and encoding messages in the following formats:

A useful set of command line tools is also provided to give quick access to the messages.

ecCodes is an evolution of GRIB-API and is designed to provide the user with a simple set of functions to access data from several formats with a key/value approach. GRIB-API user interface is provided in ecCodes with the same signatures and the same behaviour for GRIB decoding/encoding. This is valid for all the available languages: C, Fortran and Python, with the exception of Fortran 77 which is not available any more. A new set of functions with the prefix codes_ is provided to operate on all the message formats available. These functions have the same signature and behaviour of the grib_ functions. 

A selection of GRIB-API tools  has been included in ecCodes (ecCodes GRIB tools), while new tools are available for the BUFR (ecCodes BUFR tools) and GTS formats. The new tools are developed to be as similar as possible to the existing GRIB-API tools , keeping as much as possible the same options and behaviour. A significant difference compared with GRIB-API tools is that bufr_dump is producing a json output which can be used in many web based applications.

GRIB-API library is fully available in ecCodes library and we encorage users to test their GRIB-API applications linking with ecCodes and provide feedback of eventual problems. We highlight that there are name clashes preventing simultaneous use of GRIB-API and ecCodes libraries. For this reason and to simplify the software maintainance it is foreseen that GRIB-API will be replaced by ecCodes in a timeframe of the order of one year. The migration from GRIB-API to ecCodes will be transparent for the current GRIB-API users. 

Please note that BUFR interface is still under development and not all the features are fully implemented at the moment (see details here). We are working to extend the features in the next releases.

  • No labels