Climt
The official home of climt, a Python based climate modelling toolkit.
Install / Use
/learn @CliMT/ClimtREADME
===== climt
.. image:: https://img.shields.io/pypi/v/climt.svg :target: https://pypi.python.org/pypi/climt :alt: PyPI
.. image:: https://img.shields.io/travis/climt/climt.svg :target: https://travis-ci.org/climt/climt :alt: Continuous Integration
.. image:: https://ci.appveyor.com/api/projects/status/h9ayx22cxyfwh5rh?svg=true :target: https://ci.appveyor.com/project/JoyMonteiro/climt :alt: Continuous Integration
.. image:: https://img.shields.io/codecov/c/github/climt/climt.svg :target: https://travis-ci.org/climt/climt :alt: Coverage
.. image:: https://readthedocs.org/projects/climt/badge/ :target: https://climt.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
.. image:: https://zenodo.org/badge/74854230.svg :target: https://zenodo.org/badge/latestdoi/74854230 :alt: Zenodo DOI
.. image:: ./docs/climt_logo.jpg :height: 512px :width: 512px :align: center
climt is a Toolkit for building Earth system models in Python. climt stands for Climate Modelling and Diagnostics Toolkit -- it is meant both for creating models and for generating diagnostics (radiative fluxes for an atmospheric column, for example). However, since it might eventually include model components for purposes other than climate modelling (local area models, large-eddy simulation), we prefer to keep the abbreviation un-expanded!
climt hopes to enable researchers to easily perform online analysis and make modifications to existing models by increasing the ease with which models can be understood and modified. It also enables educators to write accessible models that serve as an entry point for students into Earth system modeling, while also containing state-of-the-art components.
Initially climt contains only components for the atmosphere, and does not yet include a coupler. But there are plans to extend climt to a fully coupled Earth system model in the future. The toolkit is also written in such a way that it could enable the development of non-climate models (e.g. weather prediction, large-eddy simulation). To do so requires only that the prognostic and diagnostic schemes are wrapped into the correct Python-accessible interface.
climt builds on sympl_, which provides the base classes and array and constants handling functionality. Thanks to sympl_ and Pint_, climt is also a fully units aware model. It is useful to know how sympl_ works to use climt better. Read more about sympl_ at https://sympl.readthedocs.io.
- Free software: BSD license
- Documentation: https://climt.readthedocs.io.
Installation
Note - The GFS dynamical core has been made into a seperate package called gfs_dynamical_core_ for ease of maintenance. If you need the dynamical core, please install this package from source or directly using pip. Doing this will automatically install climt as well.
pip install gfs_dynamical_core
climt can be installed directly from the python package index using pip.
pip install climt
should work on most systems. From version 0.9.2 onwards, this command will install binary wheels, eliminating the requirement of a compiler on your system.
Detailed instructions for Mac and Linux systems are available in the documentation_.
Features
- climt is fully units-aware!
- Uses the xarray_
DataArrayabstraction to build self describing model arrays. - Provides different levels of abstraction towards building a climate model.
- Like sympl_, climt consciously uses descriptive names in the user API to ensure model scripts are self-documenting.
- Allows for quick prototyping of earth system model components.
- Provides a clean and convenient interface to add new components.
Citing climt
If you use climt in your research, please cite the following paper documenting sympl_ and climt
https://www.geosci-model-dev.net/11/3781/2018/
Credits
This package was created with Cookiecutter_ and the audreyr/cookiecutter-pypackage_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _audreyr/cookiecutter-pypackage: https://github.com/audreyr/cookiecutter-pypackage
.. _sympl: https://github.com/mcgibbon/sympl
.. _Pint: https://pint.readthedocs.io
.. _xarray: http://xarray.pydata.org
.. _documentation: http://climt.readthedocs.io/en/latest/installation.html
.. _gfs_dynamical_core: https://github.com/Ai33L/gfs_dynamical_core
Related Skills
node-connect
331.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
81.5kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
81.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
331.2kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
