Quick Start




Lecture Graphics





Data Sets

Many of the problems make use of data sets arising from various kinds of observations. These are all in plain text format, and can be read in and used with virtually any graphical or analysis software, though depending on the versatility of your program you might need to make some minor changes with a text editor (e.g. removing header information) before reading in the data.

A tar file of the complete collection of datasets is here. Alternately, you can browse and download individual data files from your web browser here.


If you are going to use the Python courseware instead of rolling your own in some other language (e.g. MATLAB), you will first need a suitable Python installation. A Python installation consists of a Python language interpreter (which translates the Python language commands into instructions telling your computer what to do), plus various add-on packages that give Python the functionality needed for your particular purpose. The main add-on packages needed to run the Planetary Climate courseware are a package for efficiently handling mathematical operations on arrays and matrices (called numpy ), and some means of displaying graphics. The courseware can work with a number of different graphics packages (currently MatPlotLib and Ngl) , but if it doesn't find a suitable graphics package it will still run, and you can always write your results out to a file and plot them up using your favorite software. In addition, it is useful to have an editor which is customized to work with the Python language, and which allows you to run your script of Python commands from within the editor. All Mac OSX and almost all Linux operating systems come with a basic Python installation that at least includes numpy , though generally not graphics. However, it is strongly recommended that you install your own version of Python so that it is up-to-date, and also so that it can be customized without affecting whatever version of Python your operating system may be using to perform its tasks. Python can be installed on Mac OS X, any version of Linux, and on most versions of the Windows operating system, and will work the same way on all platforms, so far as the user is concerned. The courseware is designed to work with Python 2.7, but will work with some earlier versions as well. There is a newer version of Python under development, Python 3.x , which is not entirely backward compatible with Python 2.x and has not completely settled down yet. At some point I will transition to Python 3.x but the user is advised to stick with Python 2.7 for now (as indeed is most of the Python community).

It is possible to create your own installation by first installing Python, and then adding in the packages you need one-by-one. However, there is at present no reason to do that, since Enthought provides a free Python distribution which includes all the functionality needed to run the courseware, and also comes packaged with a very nice integrated editor and development system, known as Canopy. It includes both numpy, and the MatPlotLib graphics package. The Enthought distribution installs on Mac or Windows with a single click, and can be installed with similar ease on any Linux system. So long as Enthought continues to make a free version available, my installation and courseware usage instructions will be written assuming the use of the Enthought distribution, which saves the user a great deal of trouble.

So, the first thing you need to do is to download Canopy Express for your operating system and install it. Installation instructions are found here. Canopy Express is free for all users. Academic users can get a free download of a more extensive Python distribution under their Academic License program, but Canopy Express has everything you need to run the courseware. The Enthought distributions are all limited to Python 2.7 at present, but if a Python 3.x version ever becomes available, you should look for and download the 2.7 version. The distribution comes in both 32-bit and 64-bit versions. As far as the courseware is concerned, it doesn't matter which you pick. You only need to be aware of which version you are using when installing additional add-on packages on top of the Enthought distribution, since any add-on packages must have a compatible version (i.e. if you have a 64-bit installation, you need to install 64-bit add-ons). Unless you have a strong reason for using the 32-bit version, it is recommended that you install the 64-bit version.

Once you have installed Canopy Express you are ready to go on to the installation of the courseware, but first you should pause, start up Python, and play around with the language for a bit. Some suggestions for getting started with learning Python are found here. In particular, before going further, you should read the sections telling you about the various ways to start up Python and enter commands.

Courseware in Python

Although I recommend using Python as the basis of the course, virtually all of the Workbook problems requiring computation can be done using any programming language of your choice, once the basic skills in the Computational Toolkit problems in the Chapter 1 Workbook are mastered in the language you are using. In fact, many of the problems can be done using a good graphing calculator, or perhaps a spreadsheet, though of course serious students should learn a real programming language. The main things that would take a fair amount of work to duplicate in other languages are the homebrew real-gas radiation code introduced in Chapter 4, and the user-friendly Python interface to the compiled NCAR CCM radiation code (climt_lite) .

A tarfile of the complete set of courseware in Python is available here, or you can access files individually via the Courseware portal.

Here's where you should put things:

Instructions for building climt_lite are given here. Once built, the directory containing the climt module should be moved to the same directory where you put the courseware modules. Like the courseware modules, it needs to be in the search path used by Python to find modules to import.