Windows Systems

Currently there are two options to work with CDO in windows:

  1. Cygwin
  2. Windows Subsystem for Linux (WSL)

The cygwin binary of CDO can be downloaded here for each new release. WSL is infact a debian based system and CDO can be installed with the underlying package manager apt, so the cdo in there might be a bit older than the current release. Both system offer a good integration of the native Windows file system.


Official Package

Marco Atzeri was do kind to provide a cygwin package for CDO Hence there is no need to build CDO on your own or use the pre-build binary from out download area. Please give it a try and report problem here!

Binary Release

CDO can be used within cygwin, which is a Unix-like environment for Windows.
The pre-built cygwin binary needs the following runtine dependencies:
  • gcc
  • gcc-gfortran
  • ssl + ssh
  • curl
  • zlib
  • netcdf-devel
  • udunits-devel
  • proj-devel

Since nether eccodes nor its predecessor grib_api are available as cygwin packages, the corresponding dll is shipped with the binary release:

  Length      Date    Time    Name
---------  ---------- -----   ----
121720062  2018-11-19 10:53   cdo.exe
 11243875  2018-11-19 11:40   cygeccodes.dll

Please copy both files into a directory that's listed in the $PATH variable or create a new one and add it to $PATH. Based on this installation you can make use of the scripting language bindings for CDO within cygwin

Unfortunately the GRIB1/2 library eccodes does not work with only the dll file - You need the download and extract the source-tarball from here and set the environment variable ECCODES_DEFINITION_PATH to the definitions subdirectory of the extracted source code with its full absolute path. Don't forget to make that persistent by adding to your favourite shell config file (.bashrc, .zshrc, .cshrc or so). *This* is a detailed description how to do this.

Custom build - not recommended, but possible

If you prefer compilation, you can use cygwins package manager to install the latest version of netcdf, hdf5 and all the other dependencies. Most of them are already available.

If you installed libraries via cygwins setup.exe, just configure cdo like this:

./configure --with-netcdf --with-hdf5 
and the other options you might need.

If manual installation does not fear you and you have to stick to Windows, we recommend using cygwin for getting the maximum functionality out of CDO.

Windows 10

In the current windows 10 version(s) Microsoft included an Ubuntu embedded Linux. Older versions needed an additional activation of the developer mode. This environment offers a clean integration with the windows file systems and and the opportunity to install CDO via the native package manager of Ubuntu:
sudo apt-get install cdo
The current CDO-version in this Ubuntu release is 1.9.3, which might be sufficient for your purpose. If you need a more recent version, you can
  • update the complete ubuntu system:
    sudo apt-get upgrade
  • install cdo manually like on any POSIX system
  • use Anaconda within the Linux Subsystem. This does provide the most recent CDO version as a precompiled binary.
Please have a look at

Native support

A native build for windows systems is not part of our plans for the future since most of our target systems are POSIX-compatible and with cygwin and the built-in Ubuntu system there are two platforms available with very good windows integration.