| 334 |  |  | 
| 335 | \end{itemize} | \end{itemize} | 
| 336 |  |  | 
|  | \section[MITgcm Example Experiments]{Example experiments} |  | 
|  | \label{sect:modelExamples} |  | 
|  | \begin{rawhtml} |  | 
|  | <!-- CMIREDIR:modelExamples: --> |  | 
|  | \end{rawhtml} |  | 
|  |  |  | 
|  | %% a set of twenty-four pre-configured numerical experiments |  | 
|  |  |  | 
|  | The full MITgcm distribution comes with more than a dozen |  | 
|  | pre-configured numerical experiments. Some of these example |  | 
|  | experiments are tests of individual parts of the model code, but many |  | 
|  | are fully fledged numerical simulations. A few of the examples are |  | 
|  | used for tutorial documentation in sections \ref{sect:eg-baro} - |  | 
|  | \ref{sect:eg-global}.  The other examples follow the same general |  | 
|  | structure as the tutorial examples. However, they only include brief |  | 
|  | instructions in a text file called {\it README}.  The examples are |  | 
|  | located in subdirectories under the directory \texttt{verification}. |  | 
|  | Each example is briefly described below. |  | 
|  |  |  | 
|  | \subsection{Full list of model examples} |  | 
|  |  |  | 
|  | \begin{enumerate} |  | 
|  |  |  | 
|  | \item \texttt{exp0} - single layer, ocean double gyre (barotropic with |  | 
|  | free-surface). This experiment is described in detail in section |  | 
|  | \ref{sect:eg-baro}. |  | 
|  |  |  | 
|  | \item \texttt{exp1} - Four layer, ocean double gyre. This experiment |  | 
|  | is described in detail in section \ref{sect:eg-baroc}. |  | 
|  |  |  | 
|  | \item \texttt{exp2} - 4x4 degree global ocean simulation with steady |  | 
|  | climatological forcing. This experiment is described in detail in |  | 
|  | section \ref{sect:eg-global}. |  | 
|  |  |  | 
|  | \item \texttt{exp4} - Flow over a Gaussian bump in open-water or |  | 
|  | channel with open boundaries. |  | 
|  |  |  | 
|  | \item \texttt{exp5} - Inhomogenously forced ocean convection in a |  | 
|  | doubly periodic box. |  | 
|  |  |  | 
|  | \item \texttt{front\_relax} - Relaxation of an ocean thermal front (test for |  | 
|  | Gent/McWilliams scheme). 2D (Y-Z). |  | 
|  |  |  | 
|  | \item \texttt{internal wave} - Ocean internal wave forced by open |  | 
|  | boundary conditions. |  | 
|  |  |  | 
|  | \item \texttt{natl\_box} - Eastern subtropical North Atlantic with KPP |  | 
|  | scheme; 1 month integration |  | 
|  |  |  | 
|  | \item \texttt{hs94.1x64x5} - Zonal averaged atmosphere using Held and |  | 
|  | Suarez '94 forcing. |  | 
|  |  |  | 
|  | \item \texttt{hs94.128x64x5} - 3D atmosphere dynamics using Held and |  | 
|  | Suarez '94 forcing. |  | 
|  |  |  | 
|  | \item \texttt{hs94.cs-32x32x5} - 3D atmosphere dynamics using Held and |  | 
|  | Suarez '94 forcing on the cubed sphere. |  | 
|  |  |  | 
|  | \item \texttt{aim.5l\_zon-ave} - Intermediate Atmospheric physics. |  | 
|  | Global Zonal Mean configuration, 1x64x5 resolution. |  | 
|  |  |  | 
|  | \item \texttt{aim.5l\_XZ\_Equatorial\_Slice} - Intermediate |  | 
|  | Atmospheric physics, equatorial Slice configuration.  2D (X-Z). |  | 
|  |  |  | 
|  | \item \texttt{aim.5l\_Equatorial\_Channel} - Intermediate Atmospheric |  | 
|  | physics. 3D Equatorial Channel configuration. |  | 
|  |  |  | 
|  | \item \texttt{aim.5l\_LatLon} - Intermediate Atmospheric physics. |  | 
|  | Global configuration, on latitude longitude grid with 128x64x5 grid |  | 
|  | points ($2.8^\circ$ resolution). |  | 
|  |  |  | 
|  | \item \texttt{adjustment.128x64x1} Barotropic adjustment problem on |  | 
|  | latitude longitude grid with 128x64 grid points ($2.8^\circ$ resolution). |  | 
|  |  |  | 
|  | \item \texttt{adjustment.cs-32x32x1} Barotropic adjustment problem on |  | 
|  | cube sphere grid with 32x32 points per face (roughly $2.8^\circ$ |  | 
|  | resolution). |  | 
|  |  |  | 
|  | \item \texttt{advect\_cs} Two-dimensional passive advection test on |  | 
|  | cube sphere grid. |  | 
|  |  |  | 
|  | \item \texttt{advect\_xy} Two-dimensional (horizontal plane) passive |  | 
|  | advection test on Cartesian grid. |  | 
|  |  |  | 
|  | \item \texttt{advect\_yz} Two-dimensional (vertical plane) passive |  | 
|  | advection test on Cartesian grid. |  | 
|  |  |  | 
|  | \item \texttt{carbon} Simple passive tracer experiment. Includes |  | 
|  | derivative calculation. Described in detail in section |  | 
|  | \ref{sect:eg-carbon-ad}. |  | 
|  |  |  | 
|  | \item \texttt{flt\_example} Example of using float package. |  | 
|  |  |  | 
|  | \item \texttt{global\_ocean.90x40x15} Global circulation with GM, flux |  | 
|  | boundary conditions and poles. |  | 
|  |  |  | 
|  | \item \texttt{global\_ocean\_pressure} Global circulation in pressure |  | 
|  | coordinate (non-Boussinesq ocean model). Described in detail in |  | 
|  | section \ref{sect:eg-globalpressure}. |  | 
|  |  |  | 
|  | \item \texttt{solid-body.cs-32x32x1} Solid body rotation test for cube |  | 
|  | sphere grid. |  | 
|  |  |  | 
|  | \end{enumerate} |  | 
|  |  |  | 
|  | \subsection{Directory structure of model examples} |  | 
|  |  |  | 
|  | Each example directory has the following subdirectories: |  | 
|  |  |  | 
|  | \begin{itemize} |  | 
|  | \item \texttt{code}: contains the code particular to the example. At a |  | 
|  | minimum, this directory includes the following files: |  | 
|  |  |  | 
|  | \begin{itemize} |  | 
|  | \item \texttt{code/packages.conf}: declares the list of packages or |  | 
|  | package groups to be used.  If not included, the default version |  | 
|  | is located in \texttt{pkg/pkg\_default}.  Package groups are |  | 
|  | simply convenient collections of commonly used packages which are |  | 
|  | defined in \texttt{pkg/pkg\_default}.  Some packages may require |  | 
|  | other packages or may require their absence (that is, they are |  | 
|  | incompatible) and these package dependencies are listed in |  | 
|  | \texttt{pkg/pkg\_depend}. |  | 
|  |  |  | 
|  | \item \texttt{code/CPP\_EEOPTIONS.h}: declares CPP keys relative to |  | 
|  | the ``execution environment'' part of the code. The default |  | 
|  | version is located in \texttt{eesupp/inc}. |  | 
|  |  |  | 
|  | \item \texttt{code/CPP\_OPTIONS.h}: declares CPP keys relative to |  | 
|  | the ``numerical model'' part of the code. The default version is |  | 
|  | located in \texttt{model/inc}. |  | 
|  |  |  | 
|  | \item \texttt{code/SIZE.h}: declares size of underlying |  | 
|  | computational grid.  The default version is located in |  | 
|  | \texttt{model/inc}. |  | 
|  | \end{itemize} |  | 
|  |  |  | 
|  | In addition, other include files and subroutines might be present in |  | 
|  | \texttt{code} depending on the particular experiment. See Section 2 |  | 
|  | for more details. |  | 
|  |  |  | 
|  | \item \texttt{input}: contains the input data files required to run |  | 
|  | the example. At a minimum, the \texttt{input} directory contains the |  | 
|  | following files: |  | 
|  |  |  | 
|  | \begin{itemize} |  | 
|  | \item \texttt{input/data}: this file, written as a namelist, |  | 
|  | specifies the main parameters for the experiment. |  | 
|  |  |  | 
|  | \item \texttt{input/data.pkg}: contains parameters relative to the |  | 
|  | packages used in the experiment. |  | 
|  |  |  | 
|  | \item \texttt{input/eedata}: this file contains ``execution |  | 
|  | environment'' data. At present, this consists of a specification |  | 
|  | of the number of threads to use in $X$ and $Y$ under multithreaded |  | 
|  | execution. |  | 
|  | \end{itemize} |  | 
|  |  |  | 
|  | In addition, you will also find in this directory the forcing and |  | 
|  | topography files as well as the files describing the initial state |  | 
|  | of the experiment.  This varies from experiment to experiment. See |  | 
|  | section 2 for more details. |  | 
|  |  |  | 
|  | \item \texttt{results}: this directory contains the output file |  | 
|  | \texttt{output.txt} produced by the simulation example. This file is |  | 
|  | useful for comparison with your own output when you run the |  | 
|  | experiment. |  | 
|  | \end{itemize} |  | 
|  |  |  | 
|  | Once you have chosen the example you want to run, you are ready to |  | 
|  | compile the code. |  | 
|  |  |  | 
| 337 | \section[Building MITgcm]{Building the code} | \section[Building MITgcm]{Building the code} | 
| 338 | \label{sect:buildingCode} | \label{sect:buildingCode} | 
| 339 | \begin{rawhtml} | \begin{rawhtml} |