# Install cdo with Homebrew, apt, MacPorts, Nix

Climate Data Operators. Version 2.6.3 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:cdo
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cdo
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install cdo
```

  Evidence: MacPorts ports tree: science/cdo/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install cdo
```

  Evidence: Debian stable package indexes: cdo from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#cdo
```

  Evidence: nixpkgs package indexes: pkgs/by-name/cd/cdo/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:cdo
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/cdo>
- **Version:** 2.6.3
- **Source summary:** Climate Data Operators
- **Homepage:** <https://code.mpimet.mpg.de/projects/cdo>
- **Repository:** <https://gitlab.dkrz.de/mpim-sw/cdo>
- **Upstream docs:** <https://code.mpimet.mpg.de/projects/cdo/embedded/cdo.pdf>
- **License:** BSD-3-Clause
- **Source archive:** <https://code.mpimet.mpg.de/attachments/download/30224/cdo-2.6.3.tar.gz>
- **Last updated:** 2026-06-22T14:03:00-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- cdo (cli)
- cdo (alias)

## Dependencies

- eccodes
- hdf5
- libaec
- netcdf
- proj

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.6.3
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://code.mpimet.mpg.de/projects/cdo
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Climate Data Operators, or CDO, is a command-line suite for manipulating and analyzing climate and numerical weather prediction data in formats such as GRIB and NetCDF.

### Project history

The official contributors page says CDO was originally developed by Uwe Schulzweida at the Max Planck Institute for Meteorology, with the first public release available since 2003. It was inspired by earlier MPI-M and DKRZ climate-data tools, including PINGO and GRIB-Modules.

The project is now hosted under the mpim-sw group at DKRZ GitLab, with official documentation generated for CDO 2.6.3 and active releases noted on the MPI-M Redmine project page in June 2026.

### Adoption history

CDO became a standard command-line utility in climate and weather data workflows because it provides hundreds of operators over GRIB, NetCDF, SERVICE, EXTRA, and IEG data. Official docs emphasize fast processing, chaining multiple operators, and availability on Unix/Linux systems, Cygwin, and macOS.

Package-manager adoption is broad for a science CLI: Homebrew, Debian, Ubuntu, MacPorts, and Nix all package it according to the input facts, reflecting its role in reproducible climate-data pipelines.

### How it is used

Users run cdo commands to select, transform, remap, aggregate, and inspect climate model and forecast datasets. The docs highlight more than 700 operators, a simple Unix command-line interface, and support for large datasets with missing values.

### Why package nerds care

CDO is significant for package maintainers because it sits at the intersection of scientific file formats, HPC-style Unix workflows, and fast-moving climate data standards. Its packaging pulls in format libraries and exposes a stable CLI expected by scripts, notebooks, and institutional workflows.

### Timeline

- 1991: MPI-M GRIB-Modules developed, later influencing CDO's module structure.
- 1995: DKRZ develops PINGO, whose interface and operators influence CDO.
- 2003: First public CDO release available.
- 2026: Official project page lists CDO 2.6.x releases and generated 2.6.3 documentation.

### Related projects

- CDO is related to CDI, PINGO, GRIB-Modules, SCRIP, YAC, GRIB, NetCDF, and the climate-model postprocessing tools used around MPI-M and DKRZ.

### Sources

- <https://gitlab.dkrz.de/mpim-sw/cdo>
- <https://code.mpimet.mpg.de/projects/cdo>
- <https://code.mpimet.mpg.de/projects/cdo/embedded/cdo.pdf>
- <https://code.mpimet.mpg.de/projects/cdo/wiki/Cdo>
- <https://mpim-sw.gitlab-pages.dkrz.de/cdo>
- <https://formulae.brew.sh/api/formula/cdo.json>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** cdo
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - cdo - 2.5.1-1: normalized package name match | Debian stable package indexes: cdo from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Climate Data Operators | https://code.mpimet.mpg.de/projects/cdo
- Debian apt - libcdi-dev - 2.5.1-1: normalized package name match | Debian stable package indexes: libcdi-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Development files for the climate data interface library | https://code.mpimet.mpg.de/projects/cdo
- Debian apt - libcdi0 - 2.5.1-1: normalized package name match | Debian stable package indexes: libcdi0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Climate Data Interface (cdi) library | https://code.mpimet.mpg.de/projects/cdo
- Nix - cdo: normalized package name match | nixpkgs package indexes: pkgs/by-name/cd/cdo/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - cdo - 2.4.0-1build3: normalized package name match | Ubuntu 24.04 LTS package indexes: cdo from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Climate Data Operators | https://code.mpimet.mpg.de/projects/cdo
- Ubuntu apt - libcdi-dev - 2.4.0-1build3: normalized package name match | Ubuntu 24.04 LTS package indexes: libcdi-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Development files for the climate data interface library | https://code.mpimet.mpg.de/projects/cdo
- Ubuntu apt - libcdi0 - 2.4.0-1build3: normalized package name match | Ubuntu 24.04 LTS package indexes: libcdi0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Climate Data Interface (cdi) library | https://code.mpimet.mpg.de/projects/cdo
- MacPorts - cdo: normalized package name match | MacPorts ports tree: science/cdo/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Database and data packages](https://www.automicvault.com/pkg/database-data-tools/) - Matched database, SQL, migration, or data-store metadata.
- [eccodes](https://www.automicvault.com/pkg/brew/eccodes/) - Runtime dependency declared by Homebrew.
- [hdf5](https://www.automicvault.com/pkg/brew/hdf5/) - Runtime dependency declared by Homebrew.
- [netcdf](https://www.automicvault.com/pkg/brew/netcdf/) - Runtime dependency declared by Homebrew.
- [proj](https://www.automicvault.com/pkg/brew/proj/) - Runtime dependency declared by Homebrew.
- [netcdf-cxx](https://www.automicvault.com/pkg/brew/netcdf-cxx/) - Shares av.db curated category or tags: cli, data, netcdf.
- [netcdf-fortran](https://www.automicvault.com/pkg/brew/netcdf-fortran/) - Shares av.db curated category or tags: cli, data, netcdf.
- [adios2](https://www.automicvault.com/pkg/brew/adios2/) - Shares av.db curated category or tags: cli, data.
- [alluxio](https://www.automicvault.com/pkg/brew/alluxio/) - Shares av.db curated category or tags: cli, data.
- [anyquery](https://www.automicvault.com/pkg/brew/anyquery/) - Shares av.db curated category or tags: cli, data.
- [apache-arrow](https://www.automicvault.com/pkg/brew/apache-arrow/) - Shares av.db curated category or tags: cli, data.
- [cdi](https://www.automicvault.com/pkg/brew/cdi/) - Local package facts share a topical domain. Shared terms: cli, climate, climate-data, data, eccodes.

## Combined YAML source

View the package source record on GitHub. [combined/cdo.yml](https://github.com/automic-vault/db/blob/main/combined/cdo.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
