ecCodes is and 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, 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 the 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 any more. 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 | Adds the values of two GRIBs. Does not respect missing values! |
grib_corruption_check | Only checks keys "min", "max" and "binaryScaleFactor" for params 246 and 247!! |
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 |
The migration from GRIB-API to ecCodes will not affect the 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, for what concerns the GRIB decoding and encoding, we are performing a set of tests. 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.