This page documents how to configure, build and run standalone HOMME (EAM dynamical core) for idealized test cases on a supported platform.
Directories: (set these variables based on your configuration/preferences and target machine):
e3sm = /path/to/github/code/checkout/E3SM
homme = $e3sm/components/homme
wdir = /path/to/working/directory
mach = $homme/cmake/machineFiles/cori-knl (see directory for other supported machines)
Load the same modules that a full E3SM case would load:
E3SM’s CIME provides a script which will give the csh output needed to load the correct modules and other configuration settings:
eval `~/codes/acme/cime/scripts/Tools/get_case_env`
Most users will be using the bash shell, in which case examine the output of ~/codes/acme/cime/scripts/Tools/get_case_env and modify to work with bash
Run cmake from your $wdir
cd $wdir
cmake -C $mach $homme
make -j4 theta-l (optional step to see if code will compile)
Run DCMIP2012 Test 3-1 (simple gravity wave)
cd $wdir/dcmip_tests/dcmip2012_test3.1_nh_gravity_waves/theta-l
make install (copies test case related files from $homme)
./build.sh (build the correct executable with correct compile time options for this test)
ls jobscript-sh*.
look for a suitable jobscript for your machine. most test cases include “jobscript-snl.sh” which runs on E3SM institutional clusters, and jobscript-knl.sh for NERSC Cori. Some editing may be neccessary.
The jobscript usually runs included NCL scripts for creating standard test case plots from the output