Ctrl K

pycmor

A Python package that simplifies the conversion of climate model output into CMOR-compliant formats, supporting CMIP6 and CMIP7 standards. Provides a modular, plugin-based pipeline for processing NetCDF data from diverse Earth system models.

4
contributors
Get started
1298 commitsLast commit ≈ 6 months ago11 stars2 forks

Cite this software

Description

  • Simplifies CMIP6/7 compliance — converts Earth system model output into
    CMOR-standard NetCDF without requiring direct use of the low-level CMOR library.
  • Model-agnostic pipeline — plugin-based architecture works with any ESM;
    ships with support for FESOM2, OpenIFS, and PISM out of the box.
  • HPC-native — scales across SLURM clusters via dask.distributed, handling
    large multi-variable, multi-frequency datasets in parallel.
  • CF-conventions and WCRP Controlled Vocabularies built in — automatically
    applies correct metadata, coordinates, bounds, and calendar handling.
  • CMIP7-ready — active development targets full CMIP7 data request and CV
    compliance, tracking the emerging WCRP standard.
  • Extensible by design — researchers and modelling groups can add their own
    pipeline steps, variable mappings, and model plugins without modifying core code.

What is pycmor?

pycmor (installed as py-cmor) is a Python package developed at the
Alfred Wegener Institute (AWI) Helmholtz Centre for Polar and Marine Research.
It provides a declarative, rule-based pipeline for reformatting climate model
output into CMOR-compliant NetCDF files required for
submission to CMIP6 and CMIP7.

The package is structured around a YAML-driven configuration system: users
describe which model variables map to which CMIP variables, and pycmor handles
coordinate generation, time bounds, calendar conversion, chunking, and metadata
injection automatically.

Getting started

Install from PyPI:

pip install py-cmor

Then run the CMORisation pipeline with a config file:

pymor process config.yaml

Full documentation is available at pymor.readthedocs.io.
Source code and issue tracker: github.com/esm-tools/pycmor.

Logo of pycmor
Keywords
Programming language
  • Python 100%
License
</>Source code
Packages
pypi.org
Software Heritage
Archived | swh:1:snp:e4d5216be639a8e2dd2be23be1e78981de3fc67d

Participating organisations

Alfred Wegener Institute for Polar and Marine Research (AWI)

Contributors

PG
Paul Gierz
Alfred Wegener Institute, Helmholtz Institute for Polar and Marine Research
JS
Jan Streffing
Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research
MA
Miguel Andrés-Martínez
Project Lead
Alfred-Wegener-Institut Helmholtz-Zentrum für Polar- und Meeresforschung
PS
Pavan Kumar Siligam
Alfred-Wegener-Institut Helmholtz-Zentrum für Polar- und Meeresforschung

Helmholtz Program-oriented Funding IV