Skip to content

Instantly share code, notes, and snippets.

@marvingabler
Forked from mainvoid007/installcdo.sh
Last active May 20, 2020 09:53
Show Gist options
  • Save marvingabler/624a65578c938b553275fd12a100a0e3 to your computer and use it in GitHub Desktop.
Save marvingabler/624a65578c938b553275fd12a100a0e3 to your computer and use it in GitHub Desktop.
install cdo with grib2, hdf5, netcdf4
# Institut für Wetter- und Klimakommunikation GmbH / Q.met GmbH
# www.qmet.de
# O. Maywald <maywald@klimagipfel.de>
# M. Gabler <m.gabler@qmet.de>
# This should install CDO with grib2, netcdf and HDF5 support. Note that the binaries are in /opt/cdo-install/bin.
# If you like the easy way, just use 'apt-get install cdo'
# For further information look:
# http://www.studytrails.com/blog/install-climate-data-operator-cdo-with-netcdf-grib2-and-hdf5-support/
# docker-command
# use this command to start a docker container
# docker run -it --name cdo --rm -v $(pwd):/opt/cdo-install -w /opt/cdo-install ubuntu:latest bash
home=/opt/cdo-install
apt-get update && apt-get install -y wget build-essential checkinstall unzip m4 curl libcurl4-gnutls-dev
apt-get install -y cmake libpng-dev libaec-dev gfortran
# download, compile and install --> zlib
cd $home
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/zlib-1.2.8.tar.gz
tar -xzvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure -prefix=/opt/cdo-install
make && make check && make install
# download, compile and install --> hdf5
cd $home
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/hdf5-1.8.13.tar.gz
tar -xzvf hdf5-1.8.13.tar.gz
cd hdf5-1.8.13
./configure -with-zlib=/opt/cdo-install -prefix=/opt/cdo-install CFLAGS=-fPIC
make && make check && make install
# download, compile and install --> netCDF
cd $home
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/
CPPFLAGS=-I/opt/cdo-install/include LDFLAGS=-L/opt/cdo-install/lib ./configure -prefix=/opt/cdo-install CFLAGS=-fPIC
make && make check && make install
# download, compile and install --> jasper
cd $home
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
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/cdo-install
make && sudo make install
# download, compile and install --> grib_api
#cd $home
#wget https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-1.24.0-Source.tar.gz?api=v2 -O grib_api-1.24.0.tar.gz
#tar -xzvf grib_api-1.24.0.tar.gz
#cd grib_api-1.24.0-Source
#./configure -prefix=/opt/cdo-install CFLAGS=-fPIC -with-netcdf=/opt/cdo-install -with-jasper=/opt/cdo-install
#make && make check && make install
# dowload, compile and install --> eccodes
cd $home
wget https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-2.17.0-Source.tar.gz?api=v2 -O eccodes-2.17.0-Source.tar.gz
tar -xzvf eccodes-2.17.0-Source.tar.gz
cd eccodes-2.17.0-Source
cmake -DCMAKE_INSTALL_PREFIX=/opt/cdo-install
make && sudo make install
# download, compile and install --> cdo
cd $home
wget https://code.mpimet.mpg.de/attachments/download/15653/cdo-1.9.1.tar.gz
tar -xvzf cdo-1.9.1.tar.gz
cd cdo-1.9.1
./configure -prefix=/opt/cdo-install CFLAGS=-fPIC -with-jasper=/opt/cdo-install -with-hdf5=/opt/cdo-install -with-eccodes=/opt/cdo-install
make && make check && make install
# set PATH
#echo "PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/cdo-install/bin\"" > /etc/environment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment