A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

CliMT

A Toolkit for building Earth system models in Python.
https://github.com/climt/climt

Category: Climate Change
Sub Category: Earth and Climate Modeling

Keywords

atmospheric-modelling climate-model python

Keywords from Contributors

atmospheric-science

Last synced: about 17 hours ago
JSON representation

Repository metadata

The official home of climt, a Python based climate modelling toolkit.

README.rst

          =====
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_ `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

    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


        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 1,310
Total Committers: 11
Avg Commits per committer: 119.091
Development Distribution Score (DDS): 0.262

Commits in past year: 5
Committers in past year: 1
Avg Commits per committer in past year: 5.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Joy M. Monteiro j****n@g****m 967
Jeremy McGibbon m****n@a****u 164
Ai33L a****0@g****m 52
SallyDa s****e@g****m 39
monalivadje 8****e 34
Jeremy McGibbon e****2@g****m 33
Sergey Kosukhin s****n@m****e 9
Lukas Kluft l****t@g****m 7
suhasdl s****e@g****m 2
Joy M M j****m@w****e 2
Joy M M j****m@J****l 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 107
Total pull requests: 69
Average time to close issues: 2 months
Average time to close pull requests: 7 days
Total issue authors: 29
Total pull request authors: 11
Average comments per issue: 4.44
Average comments per pull request: 1.43
Merged pull request: 60
Bot issues: 0
Bot pull requests: 0

Past year issues: 2
Past year pull requests: 3
Past year average time to close issues: N/A
Past year average time to close pull requests: less than a minute
Past year issue authors: 1
Past year pull request authors: 1
Past year average comments per issue: 1.0
Past year average comments per pull request: 0.0
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/climt/climt

Top Issue Authors

  • mcgibbon (43)
  • JoyMonteiro (16)
  • oculus99 (5)
  • lkluft (5)
  • HaynesStephens (4)
  • adominious (4)
  • edenau (3)
  • musdfakoc (2)
  • zylkowski (2)
  • suhasdl (2)
  • Strong-Curious (2)
  • TanguiP (2)
  • RPrudden (1)
  • myak555 (1)
  • DamienIrving (1)

Top Pull Request Authors

  • JoyMonteiro (46)
  • Ai33L (6)
  • monalivadje (5)
  • SallyDa (4)
  • lkluft (2)
  • edeetee (1)
  • edmundderby (1)
  • pyup-bot (1)
  • suhasdl (1)
  • diegojco (1)
  • tenomoto (1)

Top Issue Labels

  • enhancement (15)
  • bug (3)
  • needs_documentation (3)

Top Pull Request Labels


Package metadata

pypi.org: climt

CliMT is a Toolkit for building Earth system models in Python.

  • Homepage: https://github.com/CliMT/climt
  • Documentation: https://climt.readthedocs.io/
  • Licenses: BSD license
  • Latest release: 0.17.13 (published about 1 month ago)
  • Last Synced: 2025-04-25T14:04:07.456Z (1 day ago)
  • Versions: 34
  • Dependent Packages: 2
  • Dependent Repositories: 2
  • Downloads: 3,731 Last month
  • Rankings:
    • Dependent packages count: 3.242%
    • Stargazers count: 6.089%
    • Forks count: 6.397%
    • Average: 7.135%
    • Downloads: 8.156%
    • Dependent repos count: 11.793%
  • Maintainers (2)
proxy.golang.org: github.com/CliMT/climt

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/CliMT/climt#section-documentation
  • Licenses:
  • Latest release: v0.17.13 (published about 1 month ago)
  • Last Synced: 2025-04-25T14:04:07.758Z (1 day ago)
  • Versions: 29
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 6.999%
    • Average: 8.173%
    • Dependent repos count: 9.346%
proxy.golang.org: github.com/climt/climt

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/climt/climt#section-documentation
  • Licenses:
  • Latest release: v0.17.13 (published about 1 month ago)
  • Last Synced: 2025-04-25T14:04:07.895Z (1 day ago)
  • Versions: 29
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 6.999%
    • Average: 8.173%
    • Dependent repos count: 9.346%

Dependencies

requirements_dev.txt pypi
  • PyYAML >=3.11 development
  • Sphinx >=1.5.1 development
  • bumpversion >=0.5.3 development
  • coverage >=4.1 development
  • coveralls * development
  • cryptography >=1.6 development
  • cython >=0.25 development
  • flake8 >=2.6.0 development
  • ipython >=5.3.0 development
  • mock >=2.0.0 development
  • numpy >=1.16.0 development
  • pip >=8.1.2 development
  • pytest >=2.9.2 development
  • pytest-cov >=2.4.0 development
  • scipy >=0.18.1 development
  • sympl ==0.4.0 development
  • tox >=2.3.1 development
  • watchdog >=0.8.3 development
  • wheel >=0.29.0 development
  • xarray >=0.8.2 development
.github/workflows/python-package.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/release_climt.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/release_climt_windows.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/windows-package.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
climt/_lib/rrtmg_lw/setup.py pypi
climt/_lib/rrtmg_sw/setup.py pypi
setup.py pypi

Score: 15.961471781985173