Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

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

Project Description

CliMT

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.

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.

History

Latest

  • 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

  • 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.
Release History

Release History

This version
History Node

0.9

History Node

0.8.9

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
climt-0.9.tar.gz (20.0 MB) Copy SHA256 Checksum SHA256 Source Jul 23, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting