...
CMAKE_INSTALL_PREFIX | where you want to install your ecCodes | /usr/local |
CMAKE_BUILD_TYPE | to select the type of compilation:
| RelWithDebInfo |
BUILD_SHARED_LIBS | Select the type of library built:
| ON |
CMAKE_C_COMPILER | C Compiler | |
CMAKE_C_FLAGS | Flags for the C Compiler | |
CMAKE_Fortran_COMPILER | Fortran Compiler | |
CMAKE_Fortran_FLAGS | Flags for the Fortran Compiler | |
ENABLE_NETCDF | For the grib_to_netcdf conversion tool | ON |
ENABLE_JPG | Enable JPEG2000 support. This option should look for Jasper JasPer or OpenJPEG. -DENABLE_JPG_LIBOPENJPEG=ON -DENABLE_JPG_LIBJASPER=ON | ON |
ENABLE_PNG | Enable PNG support for decoding/encoding | OFF |
ENABLE_AEC | Enable Adaptive Entropy Coding (AEC) for GRIB decoding/encoding (CCSDS) | ON |
ENABLE_PYTHON2 | Offers the Python2 interface to the package. Note: This option is deprecated and will be removed in Q1 2023. For Python 3 use "pip3 install". See below | OFF |
ENABLE_FORTRAN | Offers the Fortran 90 interface to the package | ON |
ENABLE_ECCODES_THREADS | Enable POSIX threads | OFF |
ENABLE_ECCODES_OMP_THREADS | Enable OpenMP threads | OFF |
ENABLE_MEMFS | See Memory based access to definition/sample files | OFF |
ENABLE_EXTRA_TESTS | Enable extended regression testing (which requires data downloads) | OFF |
cmake options | doc | default |
---|
Note: The compilers can also be overridden by setting the environment variables CC and FC.
Note: To see the full output from the compilation, you can use:
make VERBOSE=1
Quick installation guide
Here is an example of a list of commands you could use to install ecCodes. It is assumed “>” is the shell prompt.
First of all get the tarball "eccodes-x.y.z-Source.tar.gz" from our Releases page. Then:
Code Block |
---|
> tar -xzf eccodes-x.y.z-Source.tar.gz > mkdir build ; cd build > cmake -DCMAKE_INSTALL_PREFIX=/path/to/where/you/install/eccodes ../eccodes-x.y.z-Source ... > make > ctest > make install |
It is recommended that you always build in a clean directory and also install into a clean directory.
By default the ctest step above (running the tests) does NOT require any data to be downloaded and only runs basic sanity tests. However if you wish to exercise more of the functionality of ecCodes, you are advised to configure the build with:
Code Block |
---|
> cmake ... -DENABLE_EXTRA_TESTS=ON |
In this mode the tests will take longer and you need to be connected to the internet (and set the relevant "http_proxy" environment variable if you must use a proxy) so data files can be downloaded for the tests. You can however download all the data files in one go (See the data tarball link at the top of the Releases page)
...