ecCodes is an evolution of GRIB-API and will replace it in the future.
GRIB-API is entirely included in ecCodes without any change to its Fortran 90, Python and C interfaces. The only function which has been removed is grib_handle_new_from_template which was already deprecated in GRIB-API and replaced by grib_handle_new_from_samples.
Some of the GRIB-API command line tools are not included in ecCodes because they have been superseded by other tools or they were experimental and are not needed anymore. In the following table the deprecated tools are listed:
Tool name | Comments |
---|---|
grib_cmp | Superseded by grib_compare |
grib_debug | Superseded by "grib_dump -D" |
grib_convert | Superseded by grib_filter |
grib_distance | Experimental |
grib_error | Experimental |
grib_keys | Experimental |
grib_add | Experimental |
grib_corruption_check | Experimental |
points | Experimental |
grib_packing | Experimental |
grib_moments | Experimental |
big2gribex | Experimental |
grib_list_keys | Experimental |
grib_repair | Experimental |
grib_to_json | Experimental |
gg_sub_area_check | Experimental |
Also note that the tool grib_info is now renamed to codes_info.
The migration from GRIB-API to ecCodes will not affect user software and will be managed in installation and linking phases. Nevertheless, very significant changes in the library have been performed to implement the encoding of different types of messages and in particular for BUFR.
To be confident that ecCodes behaves as GRIB-API (as far as GRIB decoding and encoding is concerned) a set of regression tests are being performed. At the moment all the standard tests are passing without problems. One important aspect of the library is performance and we are continuously checking that ecCodes performs at least as well as GRIB-API. In the latest version the difference in performance is not significant. ecCodes is performing as well as GRIB-API and in some tests it is slightly better.
Some more tests are needed to be fully confident that ecCodes can replace GRIB-API in an operational environment, but we don't have experience at the moment of problems with the GRIB decoding/encoding part of ecCodes. We strongly advise the users to do their own migration tests and send feedback to software.support@ecmwf.int.