CliMT

An object-oriented Climate Modeling and diagnostics Toolkit


Note

The information here refers to CliMT v 0.5.9 and earlier. For the most recent version, go here.

Overview

CliMT is a Python-based software component toolkit which provides a flexible, multi-purpose problem-solving environment geared to climate science problems.

CliMT consists of two layers:

  • a library of climate modeling components (e.g. radiative schemes), mostly in Fortran or C;
  • a Python architecture providing standardized access to each component and allowing coupling of components to form time-dependent models.
The Python architecture, summarized in the UML class diagram above, is fairly simple and lightweight. It provides facilities for file input/output in NetCDF format and for graphical display, including runtime monitoring of model fields. The component library currently has a mostly atmospheric bias, reflecting the developer's background and interests; other parts of the climate system will be included in more detail as the project develops.

CliMT is aimed at a broad audience. Because the accent is on simplicity and intuitiveness, it is accessible to undergraduate or even high-school students. On the other hand, it uses state-of-the-art components, and so is suitable for full-blown research projects.

Requirements

To install and run CliMT, you need

The following are optional; without them, core CliMT will still work but you will lose some functionality: For Mac users, all the above are available through Fink. A binary distribution of the GNU Fortran 90 compiler (gfortran) is available here.

Download and installation

Current version (25 October 2006) is 0.5.9 Download

Supported platforms:

  • Linux with PGI pgf90, Intel ifort or GNU gfortran
  • Mac OS X with IBM xlf (PowerPC only), Intel ifort (Intel only) or GNU gfortran (both)
It shouldn't be too hard to compile CliMT on other Unix-style platform/compiler combinations - just edit CliMT/src/CompilerFlags.mk to add the new flags. If you manage to do this, please let me know <rodrigo.caballero_at_ucd.ie>.

To install:

  • tar xvzf climt.tar.gz
  • cd CliMT/src
  • edit the section marked "User adjustable parameters" near the top of Makefile, set the correct values for your system
  • make
  • make install

If compilation was successful, make sure the CliMT install location (CLIMT_DIR in the Makefile) is on your Python executable path (you can also set environment variable PYTHONPATH to point to wherever you chose for CLIMT_DIR). Then try make test; this should produce a bunch of reasonable-looking numbers and no error messages. If you encounter problems you can't solve, please email me <rodrigo.caballero_at_ucd.ie> and we'll work on it.

Using CliMT

Using CliMT consists of writing a Python script which invokes the components necessary for a given application. Here is a simple example. You'll find more in lib/examples.

Python is also a good language for CGI scripting, so you can easily build web interfaces to CliMT applications. Here is an example of CliMT used in a CGI script.

Documentation

Usage directions for specific components.

Module Name Function Pydoc
federation Combine components to form a model HTML
dynamics Atmospheric dynamical cores HTML
radiation Radiation schemes HTML
convection Convection schemes HTML
turbulence Vertical diffusion and PBL schemes HTML
insolation Insolation and orbital parameters HTML
thermodyn Accurate atmospheric thermodynamics HTML

Authors

CliMT is developed by Rodrigo Caballero, with contributions from Jonathan Mitchell and Mike Steder.
It initiated as a project of the Climate Systems Center at the Department of the Geophysical Sciences, University of Chicago, with funding from NSF Information Technology Research grant ATM-0121028.