-
-
Save jeffbyrnes/e56d294c216fbd30fd2fd32e576db81c to your computer and use it in GitHub Desktop.
install cdo with eccodes, hdf5, netcdf4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# This installs CDO with ecCodes, netCDF and HDF5 support. Uses standard locations, with binaries landing in /usr/local/bin | |
# Forked from https://gist.github.com/mainvoid007/e5f1c82f50eb0459a55dfc4a0953a08e | |
# Updated to latest versions | |
# The only “breaking” change for JasPer is the maintainer switched from make to cmake for its build | |
cdo_path=/opt/cdo-install | |
apt-get update && apt-get install -y wget build-essential checkinstall unzip m4 curl libcurl4-gnutls-dev | |
# download, compile and install --> zlib | |
cd $cdo_path | |
wget https://zlib.net/zlib-1.2.11.tar.gz | |
tar -xzvf zlib-1.2.11.tar.gz | |
cd zlib-1.2.11 | |
./configure | |
make && sudo make install | |
# download, compile and install --> hdf5 | |
cd $cdo_path | |
wget https://www.hdfgroup.org/package/source-gzip-2/?wpdmdl=11810&refresh=5ac7c53570acd1523041589 -O hdf5-1.10.2.tar.gz | |
tar -xzvf hdf5-1.10.2.tar.gz | |
cd hdf5-1.10.2 | |
./configure --prefix=/usr/local | |
make && sudo make install | |
sudo apt install libcurl4-gnutls-dev -y | |
# download, compile and install --> netCDF | |
cd $cdo_path | |
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.6.1.tar.gz | |
tar -xzvf netcdf-4.6.1.tar.gz | |
cd netcdf-4.6.1/ | |
./configure | |
make && sudo make install | |
# download, compile and install --> jasper | |
cd $cdo_path | |
wget http://www.ece.uvic.ca/~frodo/jasper/software/jasper-2.0.14.tar.gz | |
tar -xzvf jasper-2.0.14.tar.gz | |
cd jasper-2.0.14 | |
mkdir release | |
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../ | |
cd release | |
make && sudo make install | |
# download, compile and install --> eccodes | |
cd $cdo_path | |
wget https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-2.7.0-Source.tar.gz?api=v2 -O eccodes-2.7.0-Source.tar.gz | |
tar -xzvf eccodes-2.7.0-Source.tar.gz | |
cd eccodes-2.7.0-Source | |
mkdir build | |
cd build | |
cmake ../ | |
make && sudo make install | |
# download, compile and install --> cdo | |
cd $cdo_path | |
wget https://code.mpimet.mpg.de/attachments/download/16435/cdo-1.9.3.tar.gz | |
tar -xvzf cdo-1.9.3.tar.gz | |
cd cdo-1.9.3 | |
./configure --with-netcdf=yes --with-hdf5=yes --with-eccodes=yes | |
make && sudo make install | |
# Ensure shared libraries are wired up | |
sudo ldconfig |
@dasa-chmi I’m not familiar with Fedora, but generally speaking, the sudo make install
should install ecCodes to the appropriate shared library path, and ldconfig
should refresh things so all these newly-installed libraries are available for use.
You may wish to review the install instructions for ecCodes on their wiki, but unfortunately, I won’t be able to help beyond that.
Thanks a lot for this gist. Without it, it would have taken me ages to install CDO correctly.
for linux there are some alternatives:
- conda: cdo is available in the conda-forge channel in the latest release (pre-built)
- spack: conda replacement, but everything is built from source
Thanks a lot for this gist. Without it, it would have taken me ages to install CDO correctly.
You’re welcome @pjpetersik!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
hi, i just followed your code with small changes as I am Fedora user. everything went fine, without any problem, but when I tried make check while installing CDO it cant find libeccodes. I installed to the same cdo-folder, from the same sources, using the same instalation commands...but it just cant load eccodes lib even though it is installed properly and eccodes test passed. I just dont know what happened, I even set the directory to eccodes lib while configuration process,but it didnt help. :( please help,thanks