The official home of climt, a Python based climate modelling toolkit.
Clone or download
Latest commit b74d690 Oct 21, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Initial cookiecutter template Nov 27, 2016
climt Merge pull request #93 from SallyDa/rrtmg_docs_short Oct 10, 2018
docs Merge branch 'develop' of into develop Oct 21, 2018
examples Merge branch 'develop' of into… Oct 8, 2018
tests Added tests to check logging for RRTMGLongwave and RRTMGShortwave. Oct 10, 2018
.appveyor.yml enable 3.7 testing on linux and windows Oct 8, 2018
.codecov.yml this should work... Mar 30, 2017
.editorconfig Initial cookiecutter template Nov 27, 2016
.gitignore Added .a and .c files to gitignore Jun 14, 2018
.travis.yml cache build dir for both linux and mac Oct 9, 2018
AUTHORS.rst modify author list Oct 9, 2018
CONTRIBUTING.rst Added style section to contributing guidelines Dec 6, 2016
HISTORY.rst history update Oct 21, 2018
LICENSE Initial cookiecutter template Nov 27, 2016 fixed multiple issues with GFS, cleaned up some build and example files Aug 16, 2018
Makefile skip py3.3 build, numpy does not support Dec 4, 2017
README.rst rescale logo in README Oct 21, 2018
readthedocs.yml configure RTD to use py36 Aug 19, 2018
requirements_dev.txt wrong numpy version, fix flake8 Oct 8, 2018
setup.cfg Bump version: 0.15.3 → 0.16.0 Oct 9, 2018 Bump version: 0.15.3 → 0.16.0 Oct 9, 2018
tox.ini maybe skipping sdist will help? Jul 19, 2017 change vertical coordinate code, use global model top pressure, fix Aug 10, 2018



PyPI Continuous Integration Continuous Integration Coverage Documentation Status Zenodo DOI


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


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.


  • climt is fully units-aware!
  • Uses the xarray DataArray abstraction 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


This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.