Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

Please note that ecCodes is provided as beta version and some of its functions and tools can be changed in prior to the final first full release. Nevertheless the new BUFR decoding feature has been extensively tested with a wide set variety of BUFR data. In particular Note that the current beta version of ecCodes provides only limited BUFR encoding functionality for BUFR as the encoding of the data section has not been implemented.


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 provide quick access to the messages. C, Fortran 90 and Python interfaces provide access to the main ecCodes functionality.

ecCodes is an evolution of GRIB-API and .  It is designed to provide the user with a simple set of functions to access data from several formats with a key/value approach. 

For GRIB encoding and decoding, the GRIB-API user interface functionality is provided fully in ecCodes with the same signatures user interface and the same behaviour for GRIB decoding/encoding. This is valid for all the available languages: . Interfaces for C, Fortran 90 and Python are all maintained as in GRIB_API.  However, the GRIB_API Fortran 77 interface is no longer available. 

In addition, a , with the exception of Fortran 77 which is not available anymore. A new set of functions with the prefix "codes_" is provided to operate on all the supported message formats available. These functions have the same signature interface and behaviour as 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 have been developed to be as similar as possible to the existing GRIB-API tools  maintaining, keeping as much as where possible, the same options and behaviour. A significant difference compared with GRIB-API tools is that bufr_dump is producing a json output produces output in json format which can be used in many web based applications.

Migration from GRIB-API to ecCodes is expected to be transparent for current GRIB-API users. The GRIB-API library is fully available in the ecCodes library and we encorage users .  Users are encouraged to test their GRIB-API applications by linking with the ecCodes library and to provide feedback of eventual any problems . We highlight that there are name clashes preventing encountered.

Note

Name clashes prevent a simultaneous use of the GRIB-API and ecCodes libraries. For this reason, and to simplify the software

maintainance

maintenance, it is

foreseen that

planned to replace the GRIB-API

will be replaced

library by ecCodes in a timeframe of the order of one year.  The 'grib_' functions will, however, be maintained in the ecCodes library.

A similar name The migration from GRIB-API to ecCodes will be transparent for the current GRIB-API users. Name clash is also present between the existing GRIB-API tools and the new tools provided with ecCodes tools. The behaviour However, the behaviour of the tools is exactly the same if compared with current as those provided with the current version of GRIB-API version(which is ??).

Currently, ecCodes includes at the moment GRIB-API version 1.13.0 of GRIB-API and (or 1.13.1 ??).  It will be updated to follow include new GRIB-API releases until ecCodes will replace replaces GRIB-API.