Latest updates
Latest downloads
Latest documentation
Previous versions


This software documents the scam2web set of scripts that are intended to
The software runs in a specific mode such that it is comparing two different SCAM integrations. The scripts may be set up to run SCAM for both cases and process the output, or just process pre-existing output or a combination of both. So there has to be two runs to diagnose for the script to work.

Additional Requirements

Current Version Enhancements (v1.0)

Next Version Additions/Error Corrections (v1.1)


Code and SCAM specific downloads
scam2web (v1.0)


scam2web.csh (v1.0) (15 October 2007)

This script controls the overall running of the model compile, build, namelist options, diagnostic output and web-page creation. The key variables that are required to be set are described below.

Environment variables
Options (0=yes; 1=no)
Other options
A note on directory structures below $SCAM_ROOT.
To facilitate a number of experiments with different IOP datasets at the running and diagnosing stages the directory structures are the following:

run_ctrl1 toga bld
runs--> run_test1--> arm95-->mods
... ... run
run_test1-run_ctrl1 toga html
... ... plots

So that SCAM run builds in 'bld' with the mods copied to 'mods' and it runs in 'run. Diagnostics for the comparison of two runs are put in 'plots' and the web-pages created in 'html'.


The ultimate intention is that nothing will need to be changed in this file. However, it contains some default diagnostic output options as well as land initial condition options. The 'finidat' option contains the location of the land intiial conditions and there is an option for the first of every month in a particular year of a T42 global run with the 'vanilla' climate from a cam3_5_03 tag run. If finidat is not specified then SCAM will start with arbitrary initial conditions for the land.
The following land initial condition files are available from

*** 17JUL07 *** As of cam3_5_03 SCAM is not able to read in a CAM land initial conditions ****


This ncl script lists the fields to be plotted, currently for 4 categories:


Producing diagnostics has been condensed and simplified significantly such there is now a single routine (plot_vars.ncl) that contains all the plot output information. It is now assumed that for each variable selected the mean, timeseries and diurnal-cycle plots will automatically be produced.
The structure of the 1-D variable selection is as follows. var1d = (/ \
\; Format
\; CAM (name -- units -- scale) -- Rad var? - Obs (name - scale) ** av (low,hi) -- ts (low,hi) -- dc (low,hi)
(/"PRECC", "mm/day", m2mm, "n", "x", "1.0", "0.","20.", "0.","80.", "0.","20."/),\
(/"PRECT", "mm/day", m2mm, "n", "Prec", m2mm, "0.","20.", "0.","80.", "0.","20."/),\
(/"TS", "K", "1.0", "n", "Tsair", "1.0", "290","320", "290","320", "290","320"/),\

Focusing on 'PRECT' the user defined values are

The structure of the 2-D variable selection is as follows. To include the 2-D variable 'Q' the user would add the following line into the single-level multiple array in plot_vars.ncl.

var2d = (/ \
\; Format
\; CAM (name -- units -- scale) --Rad var?-- Obs (name -- scale) ** av (low,hi) -- ts/dts (low,hi,int) -- dc/adc (low,hi,int)
(/"CLDLIQ", "g/kg", "1000.", "n", "x", "1", "0.","0.2", "0.","0.5","0.05", "0.","0.5","0.05", \
"-0.5","0.5","0.1", "-0.2","0.2","0.05"/),\
(/"Q", "g/kg", "1000.", "n", "q", "1000.", "0.","25", "0.","25","2", "0.","25","2", \
"-10.","10","1", "-1","1","0.1"/),\
(/"CLDICE", "g/kg", "1000.", "n", "x", "1", "0.","0.1", "0.","0.5","0.05", "0.","0.1","0.01", \
"-0.5","0.5","0.1", "-0.1","0.1","0.01"/),\

Focusing on 'Q' the user defined values are

Only variables listed in the routine scam_plots.ncl will be produced and added to the webpage.


This script uses c-script logic to create a webpage set based on the postscript files present from the ncl output. The web page looks like the screen-shot below:

Currently tested machines

Previous Versions

scam2web (v0.1)
Initial 'gamma' version of scam2web. Not recommended for use as it does not produce variable means or radiation fields. Also the web-page is much more clunky that the current versions.
Documentation Download