ECMWF's GRIB and BUFR decoding/encoding library
Go to file
Shahram Najm 446d0106ef Testing: results diff (sappb/PGI) 2021-01-12 18:41:50 +00:00
.github/workflows Add missing newline at EOF 2020-11-13 14:03:18 +00:00
.settings Eclipse settings 2016-09-13 18:15:47 +01:00
bamboo Upgrade cmake 2020-09-28 13:16:55 +01:00
cmake Build: openjpeg 2.4.0 2020-12-29 13:37:42 +00:00
config cleanup old unused code. Made json bufr_dump default 2015-02-12 09:14:47 +00:00
confluence ECC-567: codes_split_file documentation 2017-10-27 14:50:59 +01:00
data Testing: Add fast BUFR test (no download needed) 2020-07-03 13:50:12 +01:00
definitions ECC-1190: New MARS class UL (Ulysses) 2021-01-08 16:47:58 +00:00
doxygen Documentation: GRIB-API confluence space is removed 2020-07-17 15:04:05 +01:00
examples Testing: failed on results diff (sappb/PGI) 2021-01-12 18:17:21 +00:00
experimental Clean up: push down all experimental stuff into a separate dir 2020-10-21 11:53:03 +01:00
fortran ECC-1143: Fix for Fortran modules within bundles 2020-09-09 16:47:53 +01:00
html Documentation: GRIB-API confluence space is removed 2020-07-17 15:04:05 +01:00
ifs_samples CMake style 2020-03-30 14:07:31 +01:00
m4 cleanup old unused code. Made json bufr_dump default 2015-02-12 09:14:47 +00:00
memfs ECC-1160: Building with ENABLE_PRODUCT_BUFR=OFF and ENABLE_MEMFS=ON fails 2020-10-20 20:03:48 +01:00
perf Copyright notices: use new format 2020-01-28 14:32:34 +00:00
python ECC-1157: Python 2 support: Rename CMake option ENABLE_PYTHON to ENABLE_PYTHON2 2020-10-15 17:08:25 +01:00
rpms ECC-72: Discontinue support for Fortran77 2015-02-27 18:21:10 +00:00
samples ECC-1018: Reduced size of sample file 2020-01-10 15:40:59 +00:00
share/eccodes Rebranding 2015-02-20 13:54:12 +00:00
src ECC-1189: CMake: Rename option GRIB_TIMER to ECCODES_TIMER 2021-01-06 17:49:43 +00:00
tests ECC-1183: Fix issue re setting keys separately 2021-01-07 15:20:00 +00:00
tigge ECC-1142: Clean up 2020-08-08 13:07:16 +01:00
tools grib_to_netcdf: Add test for different resolutions 2021-01-05 16:39:48 +00:00
windows/msvc Windows: remove old Visual Studio project files 2020-10-30 18:10:04 +00:00
.appveyor.yml GitHub CI: remove ENABLE_PYTHON=0 (By default Python2 is disabled) 2020-12-22 19:34:54 +00:00
.clang-format Applied clang-format (Part 1) 2020-01-22 13:10:59 +00:00
.cproject Eclipse settings 2016-11-22 11:06:35 +00:00
.gitignore Remove Visual Studio Code settings 2020-08-27 13:09:06 +01:00
.project Add Eclipse proj files 2014-12-11 14:45:09 +00:00
.travis.yml GitHub CI: remove ENABLE_PYTHON=0 (By default Python2 is disabled) 2020-12-22 19:34:54 +00:00
AUTHORS Update authors 2015-10-01 10:49:55 +01:00
CMakeLists.txt ECC-1189: Simplify option name 2021-01-06 19:19:21 +00:00
COPYING Ported grib_api 1.10.4 from p4 to git 2013-03-25 12:04:10 +00:00
ChangeLog Update URLs 2019-01-28 12:47:22 +00:00
INSTALL README: installation instructions 2020-08-09 13:20:05 +01:00
LICENSE Copyright notices: use new format 2020-01-28 18:07:47 +00:00
Makefile.am Windows: remove old Visual Studio project files 2020-10-30 18:10:04 +00:00
NEWS Update URLs 2019-01-28 12:47:22 +00:00
NOTICE Copyright notices: use new format 2020-01-28 14:32:34 +00:00
README.md README: installation instructions 2020-08-09 13:20:05 +01:00
acinclude.m4 Fix issue with pthreads test (cast to pointer from integer of different size) 2015-04-17 14:42:00 +01:00
autogen.sh Remove restriction on autoreconf version 2013-08-22 17:01:16 +01:00
configure.ac ECC-1189: CMake: Rename option GRIB_TIMER to ECCODES_TIMER 2021-01-06 17:49:43 +00:00
eccodes-import.cmake.in ECC-1143: CMake: Migration to ecbuild v3.4 2020-08-27 16:01:14 +01:00
eccodes.code-workspace Memfs generation 2020-10-19 09:16:24 +01:00
eccodes.sublime-project Update sublime text project 2017-03-17 18:46:27 +00:00
eccodes_config.h.in ECC-1189: CMake: Rename option GRIB_TIMER to ECCODES_TIMER 2021-01-06 17:49:43 +00:00
memfs.py Fix output file encoding with Python3 2020-11-02 14:07:59 +00:00
project_summary.cmake Python3: Project summary 2018-11-26 15:20:41 +00:00
show_compile.sh Copyright notices: use new format 2020-01-28 14:32:34 +00:00
tox.ini ECC-188 Add tox.ini with flake8 configuration 2015-11-12 15:52:26 +00:00
version.sh Version bump 2020-10-15 17:07:38 +01:00

README.md

ecCodes

Linux & macOS: master Linux & macOS: develop Windows: master Windows: develop

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.

Documentation can be found here: https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home

INSTALLATION

  1. Download ecCodes from https://software.ecmwf.int/wiki/display/ECC/Releases

  2. Unpack distribution:

    tar -xzf eccodes-x.y.z-Source.tar.gz
    
  3. Create a separate directory to build ecCodes:

    mkdir build
    cd build
    
  4. Run cmake pointing to the source and specify the installation location:

    cmake  ../eccodes-x.y.z-Source -DCMAKE_INSTALL_PREFIX=/path/to/where/you/install/eccodes
    

    It is strongly recommended that you install into a clean directory

  5. Compile, test and install:

    make
    ctest
    make install
    

To add the Python3 bindings, use pip3 install from PyPI as follows:

pip3 install eccodes

or

pip3 install --install-option="--prefix=/path/to/where/you/install/eccodes" eccodes

For more details, please see: https://software.ecmwf.int/wiki/display/ECC/ecCodes+installation

If you encounter any problems please send an e-mail with your problem to:

Software.Support@ecmwf.int

(C) Copyright 2005- ECMWF.

This software is licensed under the terms of the Apache Licence Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.

In applying this licence, ECMWF does not waive the privileges and immunities granted to it by virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.