<p><b>ecCodes</b> is a package developed by ECMWF which provides an application programming interface and a set of tools for decoding and encoding messages in the following formats:</p>
<p>A useful set of <ahref="https://confluence.ecmwf.int/display/ECC/Command+line+tools">command line tools</a> provide quick access to the messages. C, Fortran 90 and Python interfaces provide access to the main ecCodes functionality.</p>
<p>ecCodes is an evolution of GRIB-API. It is designed to provide the user with a simple set of functions to access data from several formats with a key/value approach.</p>
<p>For GRIB encoding and decoding, the GRIB-API functionality is provided fully in ecCodes with the same user interface and behaviour. 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.</p>
<p>In addition, a new set of functions with the prefix "codes_" is provided to operate on all the supported message formats. These functions have the same interface and behaviour as the "grib_" functions.</p>
<p>A selection of GRIB-API tools has been included in ecCodes (<ahref="https://confluence.ecmwf.int/display/ECC/GRIB+tools">ecCodes GRIB tools</a>), while new tools are available for the BUFR (<ahref="https://confluence.ecmwf.int/display/ECC/BUFR+tools">ecCodes BUFR tools</a>) and GTS formats. The new tools have been developed to be as similar as possible to the existing GRIB-API tools maintaining, where possible, the same options and behaviour. A significant difference compared with GRIB-API tools is that bufr_dump produces output in <ahref="https://en.wikipedia.org/wiki/JSON">JSON</a> format which can be used in many web based applications.</p>
<p>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. Users are encouraged to test their GRIB-API applications by linking with the ecCodes library and to provide feedback of any problems encountered. For further details see <ahref="https://confluence.ecmwf.int/display/ECC/GRIB-API+migration">here</a>.</p>
<dlclass="section warning"><dt>Warning</dt><dd>Name clashes prevent a simultaneous use of the GRIB-API and ecCodes libraries. For this reason, and to simplify the software maintenance, it is planned to replace GRIB-API by ecCodes.<br/>
The functions with the "grib_" prefix will, however, be maintained in ecCodes.</dd></dl>
<h6></h6>
<p>Reference manuals are also provided for the C library (organized in <aclass="el"href="modules.html">C interface</a>), for the <aclass="el"href="classeccodes.html">Fortran 90 interface</a> and for the <aclass="el"href="namespaceec_codes.html">Python interface</a>.</p>