Quick start guide for running MOM4 experiments
Brief instructions for running MOM4
experiments
Get the source code and scripts through CVS checkout from GFDL GForge
(or download tar-file).
Prepare preprocessing data (this places initial and boundary
conditions on the model grid).
Compile the source code and execute the runscript.
Examine the output.
Brief description of MOM4 experiments.
Details for the above steps
1/ Get the source code and scripts through CVS checkout or download
After you do CVS checkout successfully a directory will be creted. For convennience, this directory will be
refered to as the ROOT directory. A readme file in ROOT
directory will tell you the contents of each subdirectory under ROOT.
In the sections below, test_case is a generic name referring to the name of a specific
experiment you are working on.
Thus test_case in the path ROOT/exp/test_case should be replaced by a concrete name
(for example test1, test2, etc.)
2/ Prepare preprocessing data
There are two ways of creating data for MOM4 experiments. The easy way is to get data from NOMADS server, the
hard (but more independent) way is to create data from scatch.
2.1 Get data via NOMADS server
Users first need to create directory preprocessing for each test_case:
mkdir ROOT/exp/test_case/preprocessing
The data files in NOMADS are organized in dierectories having the same name as name of
test_case (data for test1 are in directory test1, etc. ). Go to the experiment of your interest (see section 5 below)
and start downloading file preprocessing.tar to ROOT/exp/test_case/preprocessing. You will
need to uncompress file preprocessing.tar after downloading.
Additional note for experiments test4 and test5:
In addition to all data from preprocessing and tables described above you will also need:
- create a directory called data at the same level as ROOT/exp/test_case.
mkdir ROOT/exp/data
cd ROOT/exp/data
- create 4 subdirectories inside data:
mkdir ice lad omip_mpi
- download data from directory Data in NOMADS to the corresponding subdirectory in data.
Note that data in (ASCII, HISTORY, RESTART) are NOT needed for running experiments. They are for the purpose
of comparing your results with results produced at GFDL.
2.2 Create data from scatch
Tools are provided so that users can create data from scratch. For more details refer to ROOT/src/preprocessing.
3/ Compile the source code and execute the runscript
MOM4 requires that NetCDF and MPI libraries be installed on users' platform.
MOM4 code can be compiled and run with two memory allocation schemes: DYNAMIC
and STATIC. Almost all compile scripts provided here are for DYNAMIC option.
For STATIC option see section 5 below.
Under ROOT/exp/test_case there is one script for both compile and run. All
scripts have the name beginning with run_mom4 followed by test_case
name (test1A, test1B, etc.). Before executing the script make sure to change platform to the platform of your
computer system. Platform is specified by:
set platform = sgi # this is for sgi platform
Users may also want to change the following befefore starting compilation and execution:
set npes = number of processors used in the run
set days = the length of the run in days
set months = the length of the run in months
Those are the most basic settings for any run. Experienced users may
go to the namelist section in the runscript to set the values for
namelist variables. Details on namelists can be found in the
corresponding Fortran module.
4/ Examine the output
To keep the runscript simple all output files of a model run will be in the work directory. There are three types of output files:
ascii file with .fms.out extension: the description of the setup of the run and verbose comments printed out during the run.
restart files in RESTART directory: the model fields necessary to initialize
future runs of the model.
history files with .nc.tar extension: output of the model, both averaged over specified time intervals and snapshots.
The ascii file contains everything written to the screen during model execution. The total time for model execution as well
as the times of separate modules are reported here. All .tar files should be decompressed for viewing. The decompress command is:
tar -xvf filename.tar
Users will see result files in NetCDF format. Postprocessing tools such as Ferret, ncview, grads or matlab can be used to view data in these files.
5/ Brief description of MOM4 experiments
MOM4 is distributed with a set of test cases. These tests are taken from models used at GFDL for testing the numerical
and computational integrity of the code.
These experiments are NOT sanctioned for their physical relevance.
They are instead provided for the user to learn how to run mom4, and
to verify the numerical and/or computational integrity of the code.
PLEASE do not assume that the experiments will run for more than the
short time selected in the sample run scripts.
mom4_test1:
flat bottom sector model with simple physics. This model
is very small and can be easily run on a single workstation. It
should provide the user with a basic experience of running mom4.
mom4_test2:
flat bottom sector model which more fully tests some
realistic physics options. This experiment has the same grid as
test1, but it more thoroughly exercises the various physics packages.
mom4_test3A:
east-west channel with open boundary at west. This
experiment is an illustration of the open boundary condition
capability of mom4. Tracers include potential temperature and
salinity.
mom4_test3B:
solid wall of twice domain size as test3A for testing
OBC. This experiment is used to verify the relevance of the test3A
solution at early times. That is, for early times, the solution from
test3A should agree with that from test3B. Tracers include potential
temperature and salinity.
mom4_test4:
global tripolar grid using roughly 3x3 resolution
with 28 vertical levels and age, biotic, and cfc tracer packages.
Coupled to GFDL sea ice model.
mom4_test5:
global tripolar grid using roughly "1-degree" resolution
ocean with 50 vertical levels coupled to the GFDL sea ice model and
forced with the German OMIP dataset. Tracers include potential
temperature, salinity, and age.
Experiments are based on mom4p0 branch. For increased efficiency, the -DSTATIC_MEMORY compile option
allows mom4 on the SGI to run about twice the speed as dynamic memory allocation. Notably, the static option requires
each processor to have identical sized domains, and for these domains to be specified at compile time. Hence, a bit of
algebra is required prior to compiling the experiment. Specifically, layout in ocean_model_nml namelist
should be correctly set.
Example of compile script and runscript for static option is provided for just one test case (test1) but users can build
compile and run scripts for other test cases based on this example.