Quick start guide for running MOM4 experiments Brief instructions for running MOM4 experiments

  1. Get the source code and scripts through CVS checkout from GFDL GForge (or download tar-file).

  2. Prepare preprocessing data (this places initial and boundary conditions on the model grid).

  3. Compile the source code and execute the runscript.

  4. Examine the output.

  5. 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:

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.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


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.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


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.