python setup.py
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.