ecCodes is the package used by ECMWF for defining its the rules used in the Grib Files used and also contains the tools to interrogate and manipulate grib files
ecCodes is available to install from the dedicated confluence space : ecCodes
For a full example of all of the tools of ecCodes we suggest you use the Confluence pages above as they may change as ecCodes is developed over time.
Tools in ecCodes
grib_copy
Copies the content of GRIB files printing values of some keys. If the name of the output_grib_file contains a key enclosed in square brackets, its value will be used.
Here you can see the file eue.dis.pf.grib is being copied with the perturbationNumber key used to split
grib_copy eue.dis.pf.grib eue.dis.pf[perturbationNumber].grib l total 7267664 -rw-r----- 1 emos ma 3720865800 Feb 22 09:22 eue.dis.pf.grib -rw-r----- 1 emos ma 74417316 Feb 22 09:23 eue.dis.pf1.grib -rw-r----- 1 emos ma 74417316 Feb 22 09:23 eue.dis.pf10.grib -rw-r----- 1 emos ma 74417316 Feb 22 09:23 eue.dis.pf11.grib
grib_ls
List content of GRIB files printing values of some keys. It does not fail when a key is not found.
grib_ls -P inputProcessIdentifier will show the generating process for this grib. 153 being the version of IFS, 19 being the version of EFAS.
grib_ls -P inputProcessIdentifier eue.pf.sdc.grib eue.pf.sdc.grib inputProcessIdentifier edition centre date dataType gridType stepRange typeOfLevel level shortName packingType 15319 2 ecmf 20220222 pf lambert_azimuthal_equal_area 0 soilLayer 2 sod grid_simple 15319 2 ecmf 20220222 pf lambert_azimuthal_equal_area 0 soilLayer 2 sod grid_simple 15319 2 ecmf 20220222 pf lambert_azimuthal_equal_area 0 soilLayer 2 sod grid_simple 15319 2 ecmf 20220222 pf lambert_azimuthal_equal_area 0 soilLayer 2 sod grid_simple