ECMWF's GRIB and BUFR decoding/encoding library
Go to file
Shahram Najm 4d858df125 ECC-991: Include bad BUFR messages but set their message_size=0 2019-11-18 14:39:41 +00:00
.settings Eclipse settings 2016-09-13 18:15:47 +01:00
.vscode Visual Studio Code v1.37.1 2019-08-28 13:00:40 +01:00
bamboo Bamboo: Fix GCC build 2019-04-30 14:29:03 +01:00
cmake FindSZip.cmake moved from ecbuild 2019-05-29 12:19:50 +01:00
concepts Ported grib_api 1.10.4 from p4 to git 2013-03-25 12:04:10 +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 ECC-929: grib_dump -O output: grib1 section 3 inconsistent 2019-05-21 14:33:00 +01:00
definitions ECC-1006: Add back the checks for local def 16 (For now disabled for ld12) 2019-11-18 12:18:20 +00:00
doxygen Remove DOS line endings 2019-01-07 13:54:29 +00:00
examples Refactoring 2019-11-08 10:52:08 +00:00
fortran Fix includes: IWYU 2019-11-07 12:03:45 +00:00
gaussian_experimental Merge grib api and eccodes - part 4 - src compiles 2014-06-20 18:18:57 +01:00
gribex Merge grib api and eccodes - part 4 - src compiles 2014-06-20 18:18:57 +01:00
html Documentation (See SUP-2504) 2018-07-05 16:34:22 +01:00
ifs_samples ECC-568: add option to skip installation of samples and definitions, to be used together with ENABLE_MEMFS 2017-07-19 17:14:19 +01:00
java Ported grib_api 1.10.4 from p4 to git 2013-03-25 12:04:10 +00:00
m4 cleanup old unused code. Made json bufr_dump default 2015-02-12 09:14:47 +00:00
memfs ECC-535: Workaround for internal compiler error in memfs.c (HPC-230) 2017-09-01 16:34:13 +00:00
parameters Replace macros/makefile vars to use ECCODES prefix 2015-01-24 22:19:32 +00:00
perf Copyright updated 2019-04-15 14:44:45 +01:00
perl Copyright updated 2019-04-15 14:44:45 +01:00
python Refactoring 2019-09-11 15:37:16 +01:00
python3 Copyright updated 2019-04-15 14:44:45 +01:00
rpms ECC-72: Discontinue support for Fortran77 2015-02-27 18:21:10 +00:00
samples ECC-930: GRIB: Reduce size of reduced lat/lon sample files by removing bitmap section 2019-05-28 18:41:45 +01:00
share/eccodes Rebranding 2015-02-20 13:54:12 +00:00
src ECC-991: Include bad BUFR messages but set their message_size=0 2019-11-18 14:39:41 +00:00
templates Ported grib_api 1.10.4 from p4 to git 2013-03-25 12:04:10 +00:00
tests ECC-991: Include bad BUFR messages but set their message_size=0 2019-11-18 14:39:41 +00:00
tigge o2d related latest fix as per ECC-1013 2019-11-12 13:40:05 +00:00
tools ECC-1020: codes_count hangs if input is a directory (with option -f) 2019-11-12 14:21:49 +00:00
windows/msvc Remove unused header file 2019-09-25 14:43:19 +01:00
.appveyor.yml ECC-1001: grib_ls -j -l lat,lon broken (JSON output with nearest) 2019-10-07 16:38:01 +01:00
.cproject Eclipse settings 2016-11-22 11:06:35 +00:00
.gitignore Update ignore list 2019-05-16 17:32:15 +01:00
.project Add Eclipse proj files 2014-12-11 14:45:09 +00:00
.travis.yml Daniel Tipping suggestion: Switch the osx_image to xcode10.2 to fix the MacOS build 2019-08-09 10:56:34 +01:00
AUTHORS Update authors 2015-10-01 10:49:55 +01:00
CMakeLists.txt Add extra info during cmake step 2019-10-08 18:24:59 +01: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 Python3 install: Use pip3 rather than pip 2019-08-09 16:35:59 +01:00
LICENSE Ported grib_api 1.10.4 from p4 to git 2013-03-25 12:04:10 +00:00
Makefile.am Remove grib data from distro 2015-07-09 14:18:08 +01:00
NEWS Update URLs 2019-01-28 12:47:22 +00:00
NOTICE Copyright updated 2019-04-15 14:44:45 +01:00
README.md Python3 install: Use pip3 rather than pip 2019-08-09 16:35:59 +01:00
VERSION.cmake ECC-1001: grib_ls -j -l lat,lon broken (JSON output with nearest) 2019-10-07 16:38:01 +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 Rebranding: ABI 2015-02-25 18:11:17 +00:00
eccodes-import.cmake.in Make the definitions and samples paths relocatable 2019-04-30 13:51:00 +01:00
eccodes.sublime-project Update sublime text project 2017-03-17 18:46:27 +00:00
eccodes_config.h.in Copyright updated 2019-04-15 14:44:45 +01:00
make_dist_definitions GRIB-446 and GRIB-693: Missing version information in grib_api header files 2015-02-25 17:42:04 +00:00
memfs.py MEMFS: more descriptive message 2019-10-08 20:51:41 +01:00
project_summary.cmake Python3: Project summary 2018-11-26 15:20:41 +00:00
show_compile.sh Copyright updated 2019-04-15 14:44:45 +01:00
tox.ini ECC-188 Add tox.ini with flake8 configuration 2015-11-12 15:52:26 +00:00
version.sh ECC-1001: grib_ls -j -l lat,lon broken (JSON output with nearest) 2019-10-07 16:38:01 +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 where 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-python

or

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

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

Copyright 2005-2019 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.