ECMWF's GRIB and BUFR decoding/encoding library
Go to file
Shahram Najm aa1fcda7b3 Add missing newline at EOF 2020-11-13 14:03:18 +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 ECC-1037: eccodes should build with openjpeg 2.3 2019-12-06 12:00:59 +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 Add missing newline at EOF 2020-11-13 14:03:18 +00:00
doxygen Documentation: GRIB-API confluence space is removed 2020-07-17 15:04:05 +01:00
examples Examples: fixed print issue thanks to mypy 2020-10-27 18:42:01 +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-1152: Segmentation fault when extracting subsets with bufr_filter (Return an error) 2020-11-02 17:36:57 +00:00
tests ECC-779: Error 'no messages found in ...' should go to stderr 2020-11-06 12:06:40 +00:00
tigge ECC-1142: Clean up 2020-08-08 13:07:16 +01:00
tools ECC-779: Error 'no messages found in ...' should go to stderr 2020-11-06 12:06:40 +00:00
windows/msvc Windows: remove old Visual Studio project files 2020-10-30 18:10:04 +00:00
.appveyor.yml Version bump 2020-10-15 17:07:38 +01: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 ECC-1151: GitHub CI: use same branch of ecbuild 2020-09-29 15:14:41 +01:00
AUTHORS Update authors 2015-10-01 10:49:55 +01:00
CMakeLists.txt Support for MEMFS on older Linux 2020-11-02 11:41:36 +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 Remove deprecated dirs 2020-11-02 10:53:04 +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 Support for ecbuild v3.4. Version macros and PRIVATE_LIB 2020-08-18 11:14:29 +01: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.