Skip to main content
=====
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

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
-------------

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.

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


=======
History
=======

v.0.14.7
--------

* Fix issue with pip v10 and pandas 0.22 conflicts
v.0.14.3
-------

* Fix release issue because of pip API change

v.0.14.1
--------
* Fix appveyor fail due to pip changes

v.0.14.0
--------

* Fixed broken version numbers

v.0.12.0
--------

* new release to fix version numbers and create zenodo ID

v.0.9.4
-------

* Added attributes to inputs/outputs/ etc., to work with ScalingWrapper
Added tests as well.
* Added tests for constants functions
* Fixed requirements to ensure this version of climt installs
the correct versions of sympl and numpy.

v.0.9.3
-------

* Released because of a labelling issue. See 0.9.2 for details.

v.0.9.2
--------
* Updated documentation
* Cleaned up examples
* Added (*)_properties as a property to all components
* The gas constant for dry air in the Emanuel scheme is now renamed _Rdair
* RRTMG LW and SW are now OpenMP parallel
* Added Instellation component to calculate zenith angle
* Added tests to increase coverage
* New constants handling functionality added
* Travis builds now use stages
* Appveyor CI up and running
* Pre-installation of cython and numpy no longer necessary for source builds
* Added snow-ice component
* Ozone profiles do not need to be specified externally
* Now also tested on Python 3.6

Breaking Changes
----------------

* API for constants setting changed to `set_constant_from_dict` and `add_constants_from_dict`
* `GfsDynamicalCore` renamed to `GFSDynamicalCore` for consistency
* `get_prognostic_version` method of `ClimtImplicit` renamed to `prognostic_version`, and
no longer accepts timestep as an argument. The current timestep should be set in
`ClimtImplicit.current_time_step` during each iteration.
* `RRTMGShortwave` now uses sympl's solar constant by default instead of from fortran.

v.0.9.1
-------
* Held-Suarez and moist GCM with grey radiation work!
* Added DCMIP initial conditions, test 4 tried out.
* Dynamical core integrated now.
* BIG change in the build system. Tests pass on Mac as well
* Arrays can now have arbitrary dtype (to use qualitative, string, quantities)
* Added Emanuel Convection, surface energy balance model and ice sheet energy balance
* 2D coordinates are now supported for horizontal coordinates
* Replaced create_output_arrays() with a more general
get_state_dict_for() and get_numpy_arrays_from_state()
combination.
* State arrays now have coordinates
* Updated documentation
* RTD finally working, phew!
* Added RRTMG Longwave, Simple Physics
* Added helper functions to reduce boilerplate code in components

Breaking Changes
----------------

Latest
-------

* method to obtain piecewise constant prognostic has been renamed to
:code:`piecewise_constant_version`
* Ozone profile has been modified
* Heating rate for RRTMG top-of-atmosphere is no longer manually set to zero
* Components no longer accept constants during initialisation. All constant handling
is done internally.

v.0.9
------
* SlabSurface no longer uses depth_slab_surface as input
* changed order of outputs of GfsDynamicalCore and SimplePhysics to conform
to TimeStepper order of diagnostics, new_state
* get_default_state now accepts mid_levels and interface_levels instead of z
to specify vertical coordinates.
* mass_to_volume_mixing_ratio now uses numpy arrays instead of DataArrays.


Metadata

Release files for climt 0.14.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for climt 0.14.7
File Size Uploaded
climt-0.14.7.tar.gz 9.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for climt 0.14.7
File
climt-0.14.7-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
climt-0.14.7-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
climt-0.14.7-cp36-cp36m-macosx_10_6_intel.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.6+ Intel (x86-64, i386) Details
climt-0.14.7-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
climt-0.14.7-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
climt-0.14.7-cp27-cp27mu-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64 Details
climt-0.14.7-cp27-cp27m-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64 Details

Total release size: 87.5 MB

Release files / climt-0.14.7.tar.gz

Download URL climt-0.14.7.tar.gz
Size 9.7 MB
Tags Source
SHA-256 checksum
How to use checksums
aa78afff59a9588cec403fddf94778a40f8f29c527361a8b890d810c72621fc6
BLAKE2b-256 checksum
How to use checksums
d94c3aff47a48f751b72bd4c7444f2dfd47d2556f2dd40ceda7aa92cf6c0f9da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / climt-0.14.7-cp36-cp36m-win_amd64.whl

Download URL climt-0.14.7-cp36-cp36m-win_amd64.whl
Size 12.4 MB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
bd10b1ff6e5442b896a510062ed9e11b86c77c36140fd4f939862d9b776d446f
BLAKE2b-256 checksum
How to use checksums
c55114d90b24bece93a48054f84194d61e2512ad963358533627e7dfd54c373f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / climt-0.14.7-cp36-cp36m-manylinux1_x86_64.whl

Download URL climt-0.14.7-cp36-cp36m-manylinux1_x86_64.whl
Size 10.8 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
99c00426712da491b59acc1e3aa73e8248714374a65c9b20cd0b7382efcfb5ed
BLAKE2b-256 checksum
How to use checksums
7ca23913b78b69b6d414107c8270d457acef20a7e584aa30f19a37824532698d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / climt-0.14.7-cp36-cp36m-macosx_10_6_intel.whl

Download URL climt-0.14.7-cp36-cp36m-macosx_10_6_intel.whl
Size 9.9 MB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
4c3a3486b4a95fa2a923eb374002b6a5dd55c3806402e6059085c2277d58f372
BLAKE2b-256 checksum
How to use checksums
9ff738d84394040e375addd6e06ccc40586ec9c38cd41d0600a5ec143f3a85d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / climt-0.14.7-cp35-cp35m-win_amd64.whl

Download URL climt-0.14.7-cp35-cp35m-win_amd64.whl
Size 12.4 MB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
0fe86c319e7272b57a0f415e74ba4800f294d90ce5fde9c449707a4dc8d4f292
BLAKE2b-256 checksum
How to use checksums
94ef70282d14b7cfa1c289fb2ef23cb8775019e2eaccd798721043efe061ebf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / climt-0.14.7-cp35-cp35m-manylinux1_x86_64.whl

Download URL climt-0.14.7-cp35-cp35m-manylinux1_x86_64.whl
Size 10.8 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
bcfbbd5da80124c254d08612565f16a11018a7f30f5b0795645b5f5bc8f35520
BLAKE2b-256 checksum
How to use checksums
aade05eaafd49d78d3dcc8e6f1f5566629df8959528a17648321e9258ae880a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / climt-0.14.7-cp27-cp27mu-manylinux1_x86_64.whl

Download URL climt-0.14.7-cp27-cp27mu-manylinux1_x86_64.whl
Size 10.8 MB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
8cbeaedf51f146d9a58ea23ce959962a8d4cd3fcc843032b02a1e286976af7c4
BLAKE2b-256 checksum
How to use checksums
ec809034c028bdaf6e8ac694697699ec346483ac14613ad4b98898a3c0a07720
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / climt-0.14.7-cp27-cp27m-manylinux1_x86_64.whl

Download URL climt-0.14.7-cp27-cp27m-manylinux1_x86_64.whl
Size 10.8 MB
Tags CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
56b657fa859e438c256df92d97ab9d6ce0c30f9648ba743fa45f82bbaaa1d28b
BLAKE2b-256 checksum
How to use checksums
3331417bad36720c133452f4216582f2ed81106b333142834afe3f43ca400965
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page