Skip to main content

Package for process-oriented climate modeling

Project description

Python package for process-oriented climate modeling

| **Brian E. J. Rose**
| Department of Atmospheric and Environmental Sciences
| University at Albany


or, if you are developing new code

``python develop``

About climlab
``climlab`` is a flexible engine for process-oriented climate modeling.
It is based on a very general concept of a model as a collection of individual,
interacting processes. ``climlab`` defines a base class called ``Process``, which
can contain an arbitrarily complex tree of sub-processes (each also some
sub-class of ``Process``). Every climate process (radiative, dynamical,
physical, turbulent, convective, chemical, etc.) can be simulated as a stand-alone
process model given appropriate input, or as a sub-process of a more complex model.
New classes of model can easily be defined and run interactively by putting together an
appropriate collection of sub-processes.

Most of the actual computation uses vectorized ``numpy`` array functions.
It should run out-of-the-box on a standard scientific Python distribution.
Future versions of ``climlab`` will provide hooks to compiled Fortran code for
more numerically intensive processes.

Currently, ``climlab`` has out-of-the-box support and documented examples for

- 1D grey-radiation and radiative-convective single column models
- 1D diffusive energy balance models
- Seasonal and steady-state models
- orbital / insolation calculations.

Example usage
The directory ``climlab/courseware/`` contains a collection of IPython notebooks (*.ipynb)
used for teaching some basics of climate science,
and documenting use of the ``climlab`` package.
These are self-describing, and should all run out-of-the-box once the package is installed, e.g:

``ipython notebook Insolation.ipynb``

The first versions of the code and notebooks were originally developed in winter / spring 2014
in support of an undergraduate course at the University at Albany.
See the original course webpage at

The package and its API was completely redesigned around a truly object-oriented
modeling framework in January 2015.

It will be used extensively for a graduate-level climate modeling course in Spring 2015:

This code is freely available under the MIT license.
See the accompanying LICENSE file.

Project details

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page