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