ECMWF's GRIB and BUFR decoding/encoding library
Go to file
Shahram Najm e4ed994d93 ECC-1352: Fix tablesVersion 2022-02-19 20:11:55 +00:00
.github/workflows Use master branch for libaec in ci testing 2022-02-16 14:12:22 +00:00
.settings Eclipse settings 2016-09-13 18:15:47 +01:00
bamboo ECC-1348: Load module 2022-02-15 12:31:22 +00:00
cmake Increase range of hinted search locations for libaec 2022-02-16 14:24:34 +00:00
confluence ECC-1235: Add to Confluence 2021-04-26 14:28:30 +01:00
data ECC-1352: GRIB CCSDS packing: Add extra tests (Part 1) 2022-02-16 15:43:38 +00:00
definitions Scripts: Usage 2022-02-19 13:05:38 +00:00
deprecated Testing: remove unused reference file 2021-11-27 12:39:39 +00:00
doxygen Documentation: GRIB-API confluence space is removed 2020-07-17 15:04:05 +01:00
examples ECC-1344: Always call fflush() and fsync() before fclose() of a written file (Part 1) 2022-02-09 19:14:43 +00:00
experimental Remove empty files 2021-11-27 12:42:55 +00:00
fortran ECC-1344: Use enum 2022-02-09 22:17:37 +00: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
memfs ECC-1276: MEMFS: Better management of generated files 2021-08-31 11:38:56 +01:00
python ECC-1231: Python bindings: Remove the experimental high-level interface 2021-04-11 17:07:02 +01:00
samples ECC-1352: Fix tablesVersion 2022-02-19 20:11:55 +00:00
share/eccodes Rebranding 2015-02-20 13:54:12 +00:00
src Error handling and cleanup 2022-02-19 13:07:07 +00:00
tests Testing: GRIB offsetValuesBy when bitmap is present 2022-02-19 13:33:31 +00:00
tigge Spelling 2021-09-28 16:37:02 +01:00
tools ECC-1350: grib_compare: Incorrect behaviour when first file argument is a directory 2022-02-16 12:41:54 +00:00
windows/msvc Unused accessor: bufr_clear_tables 2021-12-21 21:04:42 +00:00
.appveyor.yml ECC-1348: AppVeyor, disable for Windows 2022-02-15 12:37:44 +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 Legacy: Move 'rpms' into the 'experimental' dir 2021-04-06 19:55:56 +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 author list 2021-03-21 17:26:25 +00:00
CMakeLists.txt ECC-1352: GRIB CCSDS packing: Add extra tests (Part 1) 2022-02-16 15:43:38 +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
NEWS Update URLs 2019-01-28 12:47:22 +00:00
NOTICE Fix WMO URL 2021-12-26 20:30:56 +00:00
README.md Fix URLs: replace software.ecmwf.int/wiki 2021-12-20 16:56:02 +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 CMake: support for system functions fsync/fdatasync 2022-02-03 15:25:45 +00:00
memfs.py MEMFS Python script: add copyright 2022-01-25 22:24:53 +00:00
project_summary.cmake Python3: Project summary 2018-11-26 15:20:41 +00:00
tox.ini ECC-188 Add tox.ini with flake8 configuration 2015-11-12 15:52:26 +00: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://confluence.ecmwf.int/display/ECC/ecCodes+Home

INSTALLATION

  1. Download ecCodes from https://confluence.ecmwf.int/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://confluence.ecmwf.int/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.