---------- Python package for process-oriented climate modeling ----------
Department of Atmospheric and Environmental Sciences
University at Albany
brose@albany.edu
python setup.py install
or, if you are developing new code
python setup.py develop
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.
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 http://www.atmos.albany.edu/facstaff/brose/classes/ENV480_Spring2014/
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: http://www.atmos.albany.edu/facstaff/brose/classes/ATM623_Spring2015/
This code is freely available under the MIT license. See the accompanying LICENSE file.