ECMWF application programming interface


ecCodes is a package developed by ECMWF which provides an application programming interface and a set of tools for decoding and encoding messages in the following formats:

  • WMO FM-92 GRIB edition 1 and edition 2
  • WMO FM-94 BUFR edition 3 and edition 4
  • WMO GTS abbreviated header (only decoding).

A useful set of command line tools provide quick access to the messages. C, Fortran 90 and Python interfaces provide access to the main ecCodes functionality.

ecCodes is an evolution of GRIB-API. It is designed to provide the user with a simple set of functions to access data from several formats with a key/value approach.

read more


VersionBuild DateInstallation Pathmodulefilecompilerlibraries
2.12.012. apr.2019/sw/dataformats/eccodesyesintel.18, intel.19hdf5 1.10.5, netcdf 4.6.3
2.31.021. jul. 2023/sw/dataformats/eccodesyesintel.22, gcc.9hdf5 1.12.2, netcdf 4.9.1


  • Detailed description is found at the ECCODES home page,
  • use option --help to see an overview of relevant options

Usage at HLRN

Modulefiles and environmental variables

  • load a module to activate the path to the binaries and set some other environment variables. Use module show for more details.
  • link the eccodes-library for processing GRIB and BUFR formatted data

Program start

The following binaries are provided:

bufr_compare bufr_filter codes_bufr_filter grib2ppm grib_filter grib_ls gts_copy metar_compare metar_ls bufr_compare_dir bufr_get codes_count grib_compare grib_get grib_merge gts_dump metar_copy tigge_accumulations bufr_copy bufr_index_build codes_info grib_copy grib_get_data grib_set gts_filter metar_dump tigge_check bufr_count bufr_ls codes_parser grib_count grib_histogram grib_to_netcdf gts_get metar_filter tigge_name bufr_dump bufr_set codes_split_file grib_dump grib_index_build gts_compare gts_ls metar_get tigge_split

HLRN specific installation

environment PATH: path to the binaries PKG_CONFIG_PATH: for usage with pkg-config LD_RUN_PATH: for setting rpath ECCODES_DIR, ECCODES_VERSION, ECCODES_INCLUDE, ECCODES_LIB, ECCODES_INCLUDE_DIR, ECCODES_LIB_DIR: for linking eccodes into other software. Note: these variables are recommended by ECMWF, but not standard. So do not expect them somewhere else.

run_cmake script for installation with cmake