Skip to content

ecmwf/gribjump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GribJump

GribJump is a C++ library for extracting subsets of data from GRIB files, particularly data archived in the FDB.

⚠️ This is a work in progress. Expect bugs, and for interfaces and functionality to change. Consult the developers before using.

Installation

Dependencies

Currently, GribJump has the following runtime dependencies:

as well as ecbuild for building.

C++ Library

Building and installing:

   # Environment --- Edit as needed
   srcdir=$(pwd)
   builddir=build
   installdir=$HOME/local  
   
   # 1. Create the build directory:
   mkdir $builddir
   cd $builddir

   # 2. Run ecbuild
   ecbuild --prefix=${installdir} -- \
   -DENABLE_MEMFS=ON \
   -DENABLE_ECCODES_THREADS=ON \
   -DENABLE_AEC=ON \
   -DCMAKE_INSTALL_PREFIX=$</path/to/installations> ${srcdir}
   
   # 3. Compile / Install
   make -j10
   make install

A clientside build (which cannot extract data but talks to a server which can) is built using the flag -DENABLE_GRIBJUMP_LOCAL_EXTRACT=OFF. This requires only eckit and metkit to be installed.

Python Library

The python interface, pygribjump, can be installed with pip:

python3 -m pip install --upgrade git+ssh://git@github.com/ecmwf/gribjump.git@master

pygribjump uses findlibs to find an installed libgribjump library. You can use export GRIBJUMP_HOME=/path/to/gribjump/install to help with finding the library.

See the pygribjump/example*.py files for simple use cases.