ecCodes superseding GRIB API
ecCodes replaces GRIB API as the default GRIB decoder at ECMWF. The grib_api module will no longer be loaded by default. ecCodes will be loaded instead. This change could affect your scripts or user setup. See below for details.
ECMWF will change the default versions of its software packages and libraries used across all user platforms at the centre (ecgate, desktops, lxc, cca and ccb) between 10:00 and 10:30 UTC on Wednesday 10 May 2017.
This table summarises the changes in the version of the different packages:
|Package||Default version||Release notes||Download page|
|EMOSLIB||4.4.3||4.4.7||History of EMOSLIB changes||EMOSLIB Releases|
|Magics||2.29.5||2.31.0||Latest News||Magics Releases|
|ODB API||0.11.4||0.16.1||Change history||ODB API Releases|
Please see the Release notes for full details of the changes implemented in each package.
The next defaults are tagged as "may17" in modules. After the session the previous defaults will be tagged as "old"
IMPORTANT: ecCodes replaces GRIB API as the default GRIB decoder
As part of this change in the default ECMWF software stack, ecCodes will become the default GRIB decoder at the centre superseding GRIB API. ecCodes provides a set of equivalent command line tools and compatible libraries. All the variables defined by the grib_api module for the compilation of programs and the python bindings are also provided for backwards compatibility. See the GRIB-API migration page for details on the differences between GRIB API and ecCodes.
The grib_api module, which used to be part of the default shell environment, will no longer be automatically loaded after the change. Instead, the eccodes module will be automatically loaded.
Anyone loading or switching to a particular version of the grib_api module in their scripts or user setup must make sure that it can work after the change and make the necessary amendments otherwise.
The following commands will fail after the change on a default environment, because it is assumed that the grib_api module is loaded, and that eccodes is not:
First of all, the recommendation is to use ecCodes instead, so no swap would be required. However, if you have a good reason to continue using a particular version of GRIB API, then the more robust way to make sure it works in all cases would be:
Please let ECMWF know if you need to revert to grib_api after the update of 10 May 2017.
How to use the new versions for testing BEFORE the update
The new versions of the software packages can be selected by using the may17 tag in modules. For example:
How to revert to the old versions in case of problems AFTER the update
Users that experience problems with the new default software packages after the update of 10 May will be able to revert to the old default versions. These can be selected with the commands: