BISMG:SarahS/automated testing


 *  Tests suggested by Bill Wilscombe 


 * EISMINT-1. In these tests the temperature does not interact with the velocity. i.e the viscosity is held constant. These tests mean the temperature code can be tested directly. The subsets to run are moving margin, steady state experiments. Variables to compare are thk, wvel, xvel, yvel, temp. Output every 50k or 100k


 * EISMINT-2 In these tests the temperature and velocity interact. T.P suggests running (a) and (g) as these are steady state experiments. Comapre the same valriabels as EISMINT-1 plus melt rate.


 * ISMIP-HOM (a subset of tests A through F, for higher-order models only)


 * Ross ice shelf (for shelf and/or HO models)


 * the "hump" test on the parallel branch


 * one or more analytical tests, as in the Bueler papers. To this test aside for the time being. It is more a test of the physics of the model rather than if the code has broken


 * a glint-example test case for Greenland i.e demonstrate that the code can run for a long time without crashing


 * exact restart tests--very important for climate models. Put this aside for the time being.

Notes: ISMIP-HOM tests in glimmer-cism/glimmer-cism-lanl/trunk/ did not work. Verify.py created the same size netCDF files no matter which size is specified (--size=)

The EISMINT-1 tests

Write the test script in bash, keep in /home/automat'

Outline of the test script:

A rule in the makefile would invoke the script so that typing “make test  ” would run a test. Need help with this !!!!

The script then does the following


 * a. Check out the configuration files for the tests
 * b. Check out the golden standard files for the tests
 * c. Compile a tool to compare two neCDF files.
 * d. Run glimmer for each configuration file in the test.
 * e. Compare the output of the runs to the gold standard and report back if the tests passed or not.

The nightly build script checks out the code, builds it and runs the test script.


 * Automate the bash script by setting up a Cron job. If sending mail use holocene
 * On holocene open crontab using : crontab -e or (-l to list what is in crontab)
 * Alternatively, crontab file is located in /tmp
 * Specify the editor : export EDITOR=/usr/bin/emacs to get editor for crontab