The full MITgcm distribution comes with a set of 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. Full tutorials exist for a few of the examples, and are documented in sections sec_eg_baro
-sec_eg_tank
. The other examples follow the same general structure as the tutorial examples, see below. All example experiments are located in subdirectories under the directory verification
. A list of additional experiments (i.e, not documented as full tutorials), with brief description, is provided in subsec_add_expts_fwd
and subsec_add_expts_adj
.
Each example experiment directory has the following subdirectories:
code
: contains code specific to the example. At a minimum, this directory includes the following files:code/packages.conf
: declares the list of packages or package groups to be used. If not included, the default set of packages is located inpkg/pkg_groups
. Package groups are simply convenient collections of commonly used packages which are defined inpkg/pkg_groups
(seeusing_packages
). Some packages may require other packages or may require their absence (that is, they are incompatible) and these package dependencies are listed inpkg/pkg_depend
.code/SIZE.h
: declares the size of underlying computational grid. This file is compiled instead of the MITgcm repository versionmodel/inc/SIZE.h
.- The
code/
directory may include other files and subroutines specific to the experiment, i.e., containing changes from the standard repository version. For example, some experiments contains CPP header options files to enable or disable some parts of the code at compile time; the most common ones would bemodel/inc/CPP_OPTIONS.h
for core model options and «PKG»_OPTIONS.h for individual packages.
input
: contains the input data files required to run the example. At a minimum, theinput
directory contains the following files:input/data
: this file, written as a namelist, specifies the main parameters for the experiment.input/data.pkg
: contains parameters relative to the packages used in the experiment.input/eedata
: this file contains “execution environment” data. This consists of a specification of the number of threads to use in x and y. For multi-threaded execution,these will be set to numbers greater than 1.- Forcing and topography file(s), as well as files describing the initial state of the experiment and any other supporting data. Required support files vary from experiment to experiment, depending on the setup.
results
: this directory contains the output fileoutput.txt
produced by the simulation example. This file is useful for comparison with your own output when you run the experiment.build
: this directory is initially empty and should be used to compile the model and generate the executable.run
: this directory is initially empty and should be used to run the executable. From the (empty) run directory, link files frominput
using the commandln -s ../input/* .
, then execute the file../input/prepare_run
if it exists. If you are running one of the experiment variations, i.e., usinginput.«OTHER»
, first link files frominput.«OTHER»
(running../input.«OTHER»/prepare_run
if it exists) and next link files frominput
(and run../input/prepare_run
). Following this procedure, file links frominput.«OTHER»
will NOT be overwritten by identically named files ininput
.
barotropic_gyre/barotropic_gyre.rst
html
In directory tutorial_barotropic_gyre <verification/tutorial_barotropic_gyre>
: Single layer ocean gyre (barotropic with free-surface), using a Cartesian grid. If you are new to MITgcm, start here, as no prior experience with MITgcm is assumed. Introduces building and running the model, with description of model output files and simple methods to load and plot model output.
baroclinic_gyre/baroclinic_gyre.rst
html
In directory tutorial_baroclinic_gyre <verification/tutorial_baroclinic_gyre>
: Ocean double-gyre using spherical coordinates (i.e., latitude-longitude coordinates) with 15 vertical layers. Second introductory tutorial, assumes you have read through sec_eg_baro
. Introduces using NetCDF for model output, and how to use the diagnostics package <sub_outp_pkg_diagnostics>
to customize output and its writing frequency.
reentrant_channel/reentrant_channel.rst
html
In directory tutorial_reentrant channel <verification/tutorial_reentrant_channel>
: Reentrant channel in the Southern Ocean with idealized topography, 49 vertical layers. Tutorial compares solution using coarse horizontal resolution, with and without GM parameterization (pkg/gmredi
), versus a high-resolution, eddy-permitting configuration. Third and final introductory tutorial, assumes reader is familiar with MITgcm basics described in tutorials sec_eg_baro
and tutorial_baroclinic_gyre
. Also introduces pkg/layers
and pkg/rbcs
.
advection_in_gyre/advection_in_gyre.rst
html
In directory tutorial_advection_in_gyre <verification/tutorial_advection_in_gyre>
: Short tutorial comparing the results using different advection schemes in a single-layer, ocean double-gyre. Demonstrates the importance of carefully selecting an advection scheme for a specific setup.
global_oce_latlon/global_oce_latlon.rst
html
In directory tutorial_global_oce_latlon <verification/tutorial_global_oce_latlon>
: Coarse resolution (4ox4o) global ocean simulation, using a spherical ocean grid with 15 vertical layers. Monthly climatological forcing of of wind stress, heat and freshwater fluxes is employed, with surface restoring of temperature and salinity. Simulates the large-scale ocean circulation.
global_oce_in_p/global_oce_in_p.rst
html
In directory tutorial_global_oce_in_p <verification/tutorial_global_oce_in_p>
: Global ocean simulation with a similar configuration as sec_global_oce_latlon
except pressure is used as the vertical coordinate instead of the traditional height coordinate (exploiting MITgcm's height–pressure coordinate coding isomorphism). In this configuration the model does NOT make the Boussinesq approximation.
held_suarez_cs/held_suarez_cs.rst
html
In directory tutorial_held_suarez_cs <verification/tutorial_held_suarez_cs>
: Simulates (dry) 3-D atmosphere dynamics using Held and Suarez forcing on a (global) cubed sphere grid. The vertical coordinate is a rescaled pressure coordinate (p*) with 20 levels; orography is flat. Radiation effects are represented by Newtonian cooling.
deep_convection/deep_convection.rst
html
In directory tutorial_deep_convection <verification/tutorial_deep_convection>
: Non-uniformly surface-forced ocean deep convection in a doubly periodic box. This tutorial showcases MITgcm's non-hydrostatic capability in a spatially small domain (3 km x 3 km x 1 km deep), exploring the temporal and spatial characteristics of convection plumes as they might exist during a period of oceanic deep convection.
plume_on_slope/plume_on_slope.rst
html
In directory tutorial_plume_on_slope <verification/tutorial_plume_on_slope>
: Non-hydrostatic simulation of a non-rotating gravity plume descending down a continental slope, forced by surface cooling. Model domain is 2-D with open boundaries conditions used in a the deep-water end of the domain.
global_oce_biogeo/global_oce_biogeo.rst
html
In directory tutorial_global_oce_biogeo <verification/tutorial_global_oce_biogeo>
: Global ocean simulation (similar to tutorial sec_global_oce_latlon
except using 2.8ox2.8o resolution) which includes a dissolved inorganic carbon biogeochemistry model. The biogeochemical model considers the coupled cycles of carbon, oxygen, phosphorus and alkalinity, which are included as passive tracers. A simplified parameterization of biological production is also included.
global_oce_optim/global_oce_optim.rst
html
In directory tutorial_global_oce_optim <verification/tutorial_global_oce_optim>
: This tutorial illustrates the optimization capacity of the MITgcm, running the adjoint of a global ocean simulation (model setup similar to sec_global_oce_latlon
). This adjoint run optimizes a time-independent surface heat flux (i.e., the control variable) which brings the model climatology closest to observed climatology, using a cost function based on gridpoint error in temperature. TAF and OpenAD adjoint setups.
tracer_adjsens/tracer_adjsens.rst
html
In directory tutorial_tracer_adjsens <verification/tutorial_tracer_adjsens>
: A second experiment demonstrating MITgcm's adjoint capabilities, here examining the sensitivity of surface outgassing of a passive tracer as a function of tracer injection site location within the ocean interior. The global (4ox4o) ocean setup from tutorial sec_global_oce_latlon
is again used for this tutorial. TAF and OpenAD adjoint setups.
cfc_offline/cfc_offline.rst
html
In directory tutorial_cfc_offline <verification/tutorial_cfc_offline>
: This tutorial contains an experiment which uses MITgcm in offline mode (i.e., with prescribed ocean dynamics terms, from a prior forward integration of MITgcm), simulating the penetration of CFCs into the ocean interior during the last century. The model domain is global with 2.8ox2.8o resolution.
rotating_tank/rotating_tank.rst
html
In directory tutorial_rotating_tank <verification/tutorial_rotating_tank>
: Laboratory rotating tank simulation, using a cylindrical coordinate system at laboratory scale of 46 cm diameter and 14.5 cm deep. This is a typical laboratory setup for illustrating principles of geophysical fluid mechanics. An annulus of fluid is heated differentially on the interior and exterior walls of the tank.
For many experiments, additional information is provided in a README
file located in the respective experiment's subdirectory.
1D_ocean_ice_column <verification/1D_ocean_ice_column>
- Oceanic column with seaice on top.adjustment.128x64x1 <verification/adjustment.128x64x1>
- Barotropic adjustment problem on latitude-longitude grid with 128x64 grid points (2.8o resolution).adjustment.cs-32x32x1 <verification/adjustment.cs-32x32x1>
-Barotropic adjustment problem on cube sphere grid with 32x32 points per face (roughly 2.8o resolution) with a rectangular island at the equator. Note that "blank tiles" are used in the MPI test (data.exch2.mpi <verification/adjustment.cs-32x32x1/input/data.exch2.mpi>
). Also contains a non-linear free-surface, atmospheric like, barotropic adjustment version (input.nlfs <verification/adjustment.cs-32x32x1/input.nlfs>
).advect_cs <verification/advect_cs>
- 2-D passive advection test on cube sphere grid (32x32 grid points per face, roughly 2.8o resolution).advect_xy <verification/advect_xy>
- 2-D (horizontal plane) passive advection test on Cartesian grid. Also contains an additional setup using Adams-Bashforth 3 (input.ab3_c4 <verification/advect_xy/input.ab3_c4>
).advect_xz <verification/advect_xz>
- 2-D (vertical plane) passive advection test on Cartesian grid. Also contains an additional setup using non-linear free-surface with divergent barotropic flow and implicit vertical advection (input.nlfs <verification/advect_xz/input.nlfs>
), and a setup using piecewise quartic ("mono" and "weno" limiter) advection schemes (input.pqm <verification/advect_xz/input.pqm>
).aim.5l_Equatorial_Channel <verification/aim.5l_Equatorial_Channel>
- 5-level intermediate atmospheric physics, 3-D equatorial channel configuration.aim.5l_LatLon <verification/aim.5l_LatLon>
- 5-level intermediate atmospheric physics, global configuration, on latitude-longitude grid with 128x64x5 grid points (2.8o resolution).aim.5l_cs <verification/aim.5l_cs>
- 5-level intermediate atmospheric physics, global configuration on cube sphere grid (32x32 grid points per face, roughly 2.8o resolution). Also contains an additional setup with a slab-ocean and thermodynamic sea ice (input.thSI <verification/aim.5l_cs/input.thSI>
).cfc_example <verification/cfc_example>
- Global ocean with online computation and advection of CFC11 and CFC12.cheapAML_box <verification/cheapAML_box>
- Example using cheap atmospheric mixed layer (cheapaml <pkg/cheapaml>
) package.cpl_aim+ocn <verification/cpl_aim+ocn>
- Coupled ocean-atmosphere realistic configuration on cubed-sphere cs32 horizontal grid, using intermediate atmospheric physics (pkg/aim_v23
) thermodynamic seaice (pkg/thsice
) and land packages. Also contains an additional setup with seaice dynamics (input_cpl.icedyn <verification/cpl_aim+ocn/input_cpl.icedyn>
,input_atm.icedyn <verification/cpl_aim+ocn/input_atm.icedyn>
,input_ocn.icedyn <verification/cpl_aim+ocn/input_ocn.icedyn>
).deep_anelastic <verification/deep_anelastic>
- Convection simulation on a giant planet: relaxes both the Boussinesq approximation (anelastic) and the thin atmosphere approximation (deep atmosphere).dome <verification/dome>
- Idealized 3-D test of a density-driven bottom current (Denmark Overflow Mixing and Entrainment experiment).exp2 <verification/exp2>
- Old version of the global ocean experiment (no GM, no partial-cells). Also contains an additional setup with rigid lid (input.rigidLid <verification/exp2/input.rigidLid>
).exp4 <verification/exp4>
- Flow over a Gaussian bump in open-water or channel with open boundaries. Also contains an additional setup using non-linear free-surface (input.nlfs <verification/exp4/input.nlfs>
), and a setup using Stevens (1990)stevens:90
boundary conditions (input.stevens <verification/exp4/input.stevens>
).fizhi-cs-32x32x40 <verification/fizhi-cs-32x32x40>
- Global atmospheric simulation with realistic topography, 40 vertical levels, a cubed sphere grid and the full atmospheric physics package.fizhi-cs-aqualev20 <verification/fizhi-cs-aqualev20>
- Global atmospheric simulation on an aqua planet with full atmospheric physics. Run is perpetual March with an analytical SST distribution. This is the configuration used for the APE (Aqua Planet Experiment) participation experiment.fizhi-gridalt-hs <verification/fizhi-gridalt-hs>
- Global atmospheric simulation Held-Suarez(1994)
held-suar:94
forcing, with the physical forcing and the dynamical forcing running on different vertical grids.flt_example <verification/flt_example>
- Example using float package.front_relax <verification/front_relax>
- Relaxation of an 2-D (y − z) ocean thermal front (test of Gent and McWilliams scheme). Also contains additional setups:- using the boundary-value problem method (Ferrari et al. 2010
ferrari:10
) (input.bvp <verification/front_relax/input.bvp>
). - with mixed-layer eddy parameterization (Ferrari and McWilliams 2008
ferrari:08
) (input.mxl <verification/front_relax/input.mxl>
). - with dry-cell at the top and a sloping bottom (
input.top <verification/front_relax/input.top>
).
- using the boundary-value problem method (Ferrari et al. 2010
global_ocean.90x40x15 <verification/global_ocean.90x40x15>
-Global ocean simulation at 4ox4o resolution. Similar totutorial_global_oce_latlon <sec_global_oce_latlon>
, but using z* coordinates with quasi-non-hydrostatic and non-hydrostatic metric terms. This experiment illustrates the use ofsbo </pkg/sbo>
package. Note that "blank tiles" are used in the MPI test (data.exch2.mpi <verification/global_ocean.90x40x15/input/data.exch2.mpi>
). Also contains additional setups:- using
down-slope package <pkg/down_slope>
(input.dwnslp <verification/global_ocean.90x40x15/input.dwnslp>
) - using package
ggl90 <pkg/ggl90>
scheme (Gaspar et al. 1990gas-eta:90
) with parameterized tidal and wind energy input into vertical mixing (input.idemix <verification/global_ocean.90x40x15/input.idemix>
).
- using
global_ocean.cs32x15 <verification/global_ocean.cs32x15>
- Global ocean experiment on the cubed sphere grid. Also contains additional setups:- non-hydrostatic with biharmonic viscosity (
input.viscA4 <verification/global_ocean.cs32x15/input.viscA4>
) - using thermodynamic sea ice and bulk force (
input.thsice <verification/global_ocean.cs32x15/input.thsice>
) - using both thermodynamic (
pkg/thsice
) and dynamic (pkg/seaice
) sea ice packages withexf <pkg/exf>
package (input.icedyn <verification/global_ocean.cs32x15/input.icedyn>
) - using thermodynamic and dynamic (
pkg/seaice
) sea ice withexf <pkg/exf>
package package (input.seaice <verification/global_ocean.cs32x15/input.seaice>
). - using pressure as vertical coordinate, with
ggl90 <pkg/ggl90>
scheme (Gaspar et al. 1990gas-eta:90
) and dynamic and thermodynamic seaice (pkg/seaice
) package andexf <pkg/exf>
package (input.in_p <verification/global_ocean.cs32x15/input.in_p>
)
- non-hydrostatic with biharmonic viscosity (
global_ocean_ebm <verification/global_ocean_ebm>
- Global ocean experiment on a lat-lon grid coupled to a zonally averaged atmospheric energy balance model. Similar toglobal_ocean.90x40x15 <verification/global_ocean.90x40x15>
experiment.global_oce_biogeo_bling <verification/global_oce_biogeo_bling >
- Global ocean biogeochemistry simulation, based onsub_global_oce_biogeo
but using packagebling <pkg/bling>
instead of theDIC <sub_pkg_dic>
package.global_with_exf <verification/global_with_exf>
- Global ocean experiment (at 4ox4o) on a lat-lon grid using theexf <pkg/exf>
package withexf <pkg/exf>
interpolation. Similar totutorial_global_oce_latlon <sec_global_oce_latlon>
experiment. Also contains a secondary setup with yearlyexf <pkg/exf>
fields (input.yearly <verification/global_with_exf/input.yearly>
).halfpipe_streamice<verification/halfpipe_streamice>
- Example using packagestreamice <pkg/streamice>
.hs94.128x64x5 <verification/hs94.128x64x5>
- 3-D atmosphere dynamics on lat-lon grid, using Held and Suarez (1994)held-suar:94
forcing.hs94.1x64x5 <verification/hs94.1x64x5>
- Zonal averaged atmosphere dynamics using Held and Suarez (1994)held-suar:94
forcing.hs94.cs-32x32x5 <verification/hs94.cs-32x32x5>
- 3-D atmosphere dynamics using Held and Suarez(1994)
held-suar:94
forcing on the cubed sphere, similar totutorial_held_suarez_cs <sec_held_suarez_cs>
experiment but using linear free-surface and only 5 levels. Also contains an additional setup with implicit internal gravity waves treatment and Adams-Bashforth 3 (input.impIGW <verification/hs94.cs-32x32x5/input.impIGW>
).ideal_2D_oce <verification/ideal_2D_oce>
- Idealized 2-D global ocean simulation on an aqua planet.internal_wave <verification/internal_wave>
- Ocean internal wave forced by open boundary conditions. Also contains an additional setup usingpkg/kl10
(seesub_phys_pkg_kl10
, Klymak and Legg 2010klymaklegg10
) (input.kl10 <verification/internal_wave/input.kl10>
).inverted_barometer <verification/inverted_barometer>
- Simple test of atmospheric pressure loading with radially symmetric Bessel-function geometry in a quadratic domain.isomip <verification/isomip>
- ISOMIP-like setup (Ice Shelf Ocean Model Intercomparison Project experiment 0) including ice-shelf cavities (pkg/shelfice
). Also contains additional setups:- with “htd” (Hellmer's thermodynamics, Hellmer 1989
hellmer:89
) (input.htd <verification/isomip/input.htd>
). - using package
icefront <pkg/icefront>
(input.icefront <verification/isomip/input.icefront>
) - using package
OBCS <sub_phys_pkg_obcs>
enabled to balance surface mass (freshwater and ice shelf mass flux) input through open boundaries (input.obcs <verification/isomip/input.obcs>
).
- with “htd” (Hellmer's thermodynamics, Hellmer 1989
lab_sea <verification/lab_sea>
- Regional (2ox2o) Labrador Sea simulation on a lat-lon grid usingpkg/seaice
. Also contains additional setups:- using the simple “free-drift” assumption for sea ice (
input.fd <verification/lab_sea/input.fd>
) - using
aEVP dynamics <para_phys_pkg_seaice_EVPstar>
(instead ofLSR solver <para_phys_pkg_seaice_LSRJFNK>
) and Hibler and Bryan (1987)hibler:87
sea ice ocean stress (input.hb87 <verification/lab_sea/input.hb87>
) - using package
salt_plume <pkg/salt_plume>
(input.salt_plume <verification/lab_sea/input.salt_plume>
).
- using the simple “free-drift” assumption for sea ice (
matrix_example <verification/matrix_example>
- Test of experimental method to accelerate convergence towards equilibrium.MLAdjust <verification/MLAdjust>
- Simple tests of different viscosity formulations in a zonally reentrant, flat-bottom channel. Contains additional setups; seeverification/MLAdjust/README
for a listing of different viscosity settings in these experiments:input.A4FlxF <verification/MLAdjust/input.A4FlxF>
input.AhFlxF <verification/MLAdjust/input.AhFlxF>
input.AhVrDv <verification/MLAdjust/input.AhVrDv>
input.AhStTn <verification/MLAdjust/input.AhStTn>
input.QGLeith <verification/MLAdjust/input.QGLeith>
input.QGLthGM <verification/MLAdjust/input.QGLthGM>
.
natl_box <verification/natl_box>
- Eastern subtropical North Atlantic withKPP scheme <sub_phys_pkg_kpp>
. Contains additional setup with added tracers (pkg/ptracers
) using the packagelongstep <pkg/longstep>
to speed up integration time (input.longstep <verification/natl_box/input.longstep>
).offline_exf_seaice <verification/offline_exf_seaice>
- Sea ice on top of oceanic surface layer in an idealized channel. Forcing is computed by bulk-formulae (pkg/exf
) with temperature relaxation to prescribed SST (i.e., no momentum timestepping in ocean, so ocean is "offline", not to be confused withpkg/offline
). Also contains additional setups:- sea ice dynamics-only using
JFNK solver <para_phys_pkg_seaice_LSRJFNK>
and (pkg/thsice
) advection (input.dyn_jfnk <verification/offline_exf_seaice/input.dyn_jfnk>
) - sea ice dynamics-only using
LSR solver <para_phys_pkg_seaice_LSRJFNK>
and (pkg/seaice
) advection (input.dyn_lsr <verification/offline_exf_seaice/input.dyn_lsr>
) - sea ice dynamics-only using
LSR solver <para_phys_pkg_seaice_LSRJFNK>
, elliptical yield curve withnon-normal flow rule <rheologies_ellnnfr>
and (pkg/seaice
) advection (input.dyn_ellnnfr <verification/offline_exf_seaice/input.dyn_ellnnfr>
andinput.dyn_lsr <verification/offline_exf_seaice/input.dyn_lsr>
) - sea ice dynamics-only using
LSR solver <para_phys_pkg_seaice_LSRJFNK>
,Mohr-Coulomb yieldcurve with elliptical plastic potential <rheologies_MCE>
and (pkg/seaice
) advection (input.dyn_mce <verification/offline_exf_seaice/input.dyn_mce>
andinput.dyn_lsr <verification/offline_exf_seaice/input.dyn_lsr>
) - sea ice dynamics-only using
Picard (KRYLOV) solver <para_phys_pkg_seaice_LSRJFNK>
,parabolic lens yieldcurve <rheologies_PL>
and (pkg/thsice
) advection (input.dyn_paralens <verification/offline_exf_seaice/input.dyn_paralens>
andinput.dyn_jfnk <verification/offline_exf_seaice/input.dyn_jfnk>
) - sea ice dynamics-only using
JFNK solver <para_phys_pkg_seaice_LSRJFNK>
,teardrop yieldcurve <rheologies_TD>
and (pkg/thsice
) advection (input.dyn_teardrop <verification/offline_exf_seaice/input.dyn_teardrop>
andinput.dyn_jfnk <verification/offline_exf_seaice/input.dyn_jfnk>
) - sea ice thermodynamics-only using (
pkg/seaice
) (input.thermo <verification/offline_exf_seaice/input.thermo>
) - sea ice thermodynamics-only using (
pkg/thsice
) (input.thsice <verification/offline_exf_seaice/input.thsice>
).
- sea ice dynamics-only using
seaice_itd <verification/seaice_itd>
- Seaice example using ice thickness distribution (ITD); otherwise very similar tooffline_exf_seaice <verification/offline_exf_seaice>
. Also contains additional setups; seeverification/seaice_itd/README
for details of these setups:input.thermo <verification/seaice_itd/input.thermo>
input.lipscomb07 <verification/seaice_itd/input.lipscomb07>
.
seaice_obcs <verification/seaice_obcs>
- Similar tolab_sea <verification/lab_sea>
(input.salt_plume <verification/lab_sea/input.salt_plume>
) experiment with only a fraction of the domain and open boundary conditions derived fromlab_sea <verification/lab_sea>
experiment. Also contains additional setups:- includes relaxation of seaice variables (
input.seaiceSponge <verification/seaice_obcs/input.seaiceSponge>
) - includes tidal velocity forcing (
input.tides <verification/seaice_obcs/input.tides>
).
- includes relaxation of seaice variables (
shelfice_2d_remesh <verification/shelfice_2d_remesh>
- Simple experiment to test (pkg/shelfice
) vertical remeshing code in 2-D idealized-geometry setup.short_surf_wave <verification/short_surf_wave>
- Short surface wave adjustment (non-hydrostatic) in homogeneous 2-D vertical section (x − z).so_box_biogeo <verification/so_box_biogeo>
- Open boundary Southern Ocean box around Drake Passage, using same model parameters and forcing as experimenttutorial_global_oce_biogeo <sub_global_oce_biogeo>
from which initial conditions and open boundary conditions have been extracted. Also contains additional setup using the SolveSAPHE algorithm (Munhoven 2013munhoven:13
) to determine oceanic pH (input.saphe <verification/so_box_biogeo/input.saphe>
).solid-body.cs-32x32x1 <verification/solid-body.cs-32x32x1>
- Solid body rotation test for cube sphere grid.tutorial_deep_convection <verification/tutorial_deep_convection>
- Experiment as described insec_deep_convection
, also contains an additional setup using the Smagorinisky (1963)smag:63
viscosity scheme (input.smag3d <verification/tutorial_deep_convection/input.smag3d>
).vermix <verification/vermix>
- Simple test in a small domain (3 columns) for ocean vertical mixing schemes. The standard setup (input <verification/vermix/input>
) uses theKPP scheme <sub_phys_pkg_kpp>
Large et al. (1994)lar-eta:94
. Also contains additional setups:- with double diffusion scheme from
KPP <sub_phys_pkg_kpp>
(input.dd <verification/vermix/input.dd>
) - with package
ggl90 <pkg/ggl90>
scheme (Gaspar et al. 1990gas-eta:90
) scheme (input.ggl90 <verification/vermix/input.ggl90>
) - with Mellor and Yamada (1982)
mellor:82
level 2 (pkg/my82
) scheme (input.my82 <verification/vermix/input.my82>
) - with Paluszkiewicz and Romea (1997)
pal-rom:97
(pkg/opps
) scheme (input.opps <verification/vermix/input.opps>
) - with Pacanowski and Philander (1981)
pacanowski:81
(pkg/pp81
) scheme (input.pp81 <verification/vermix/input.pp81>
).
- with double diffusion scheme from
Unless stated otherwise, the physical setup of the adjoint run is identical to the forward run, see description above. TAF adjoint setups require building with directory code_ad
with input directory input_ad
, whereas OpenAD requires directories code_oad
and input_oad
respectively.
1D_ocean_ice_column <verification/1D_ocean_ice_column>
- Based on standard forward experiment, TAF adjoint setup, uses packageecco <pkg/ecco>
.bottom_ctrl_5x5 <verification/bottom_ctrl_5x5>
- TAF adjoint test using the bottom topography as the control parameter, uses packageecco <pkg/ecco>
and "not self-adjoint" version of cg2d:cg2d_nsa.F <model/src/cg2d_nsa.F>
. Also contains an additional TAF adjoint setup that uses defaultcg2d.F <model/src/cg2d.F>
with a hand-written full (manual) adjoint routinecg2d_mad.F <pkg/autodiff/cg2d_mad.F>
(input_ad.facg2d <verification/bottom_ctrl_5x5/input_ad.facg2d>
)global_ocean.90x40x15 <verification/global_ocean.90x40x15>
- Based on standard forward experiment, TAF and OpenAD adjoint setups. Also contains additional TAF adjoint setups:- with bottom drag as a control and manual adjoint
cg2d_mad.F <pkg/autodiff/cg2d_mad.F>
(input_ad.bottomdrag <verification/global_ocean.90x40x15/input_ad.bottomdrag>
) - with κGM as a control (
input_ad.kapgm <verification/global_ocean.90x40x15/input_ad.kapgm>
) - with κRedi as a control (
input_ad.kapredi <verification/global_ocean.90x40x15/input_ad.kapredi>
).
- with bottom drag as a control and manual adjoint
global_ocean.cs32x15 <verification/global_ocean.cs32x15>
- Based on standard forward experiment, TAF adjoint setup. Also contains additional TAF adjoint setups:- using thermodynamic-dynamic sea ice (
input_ad.seaice <verification/global_ocean.cs32x15/input_ad.seaice>
). - same as above but without adjoint sea ice dynamics (
input_ad.seaice_dynmix <verification/global_ocean.cs32x15/input_ad.seaice_dynmix>
). - using thermodynamic sea ice from
pkg/thsice
(input_ad.thsice <verification/global_ocean.cs32x15/input_ad.thsice>
).
- using thermodynamic-dynamic sea ice (
global_ocean_ebm <verification/global_ocean_ebm>
- Based on standard forward experiment, TAF adjoint setup.global_oce_biogeo_bling <verification/global_oce_biogeo_bling>
- Based on standard forward experiment, TAF adjoint setup, uses packageecco <pkg/ecco>
.global_with_exf <verification/global_with_exf>
- Based on standard forward experiment, TAF adjoint setup.halfpipe_streamice<verification/halfpipe_streamice>
- Based on standard forward experiment, TAF and OpenAD adjoint setups.hs94.1x64x5 <verification/hs94.1x64x5>
- Based on standard forward experiment, TAF and OpenAD adjoint setups.isomip <verification/isomip>
- Based on standard forward experiment, TAF and OpenAD adjoint setups. Also contains additional TAF adjoint setup with “htd” (Hellmer's thermodynamics, Hellmer 1989hellmer:89
) (input_ad.htd <verification/isomip/input_ad.htd>
).lab_sea <verification/lab_sea>
- Based on standard forward experiment, TAF adjoint setup, uses packageecco <pkg/ecco>
anddivided adjoint (DIVA) <sec_autodiff_diva>
. Also contains additional TAF adjoint setups:- without seaice dynamics (
input_ad.noseaicedyn <verification/lab_sea/input_ad.noseaicedyn>
). - without seaice altogether (
input_ad.noseaice <verification/lab_sea/input_ad.noseaice>
).
- without seaice dynamics (
obcs_ctrl <verification/obcs_ctrl>
- Adjoint test using open boundary conditions as control parameters, uses packageecco <pkg/ecco>
.offline_exf_seaice <verification/offline_exf_seaice>
- Based on standard forward experiment, TAF adjoint setup. Also contains additional TAF adjoint setup with sea ice thermodynamics-only usingpkg/thsice
(input_ad.thsice <verification/offline_exf_seaice/input_ad.thsice>
).OpenAD <verification/OpenAD>
- Simple adjoint experiment (used also to test OpenAD compiler), TAF and OpenAD adjoint setups. Also contains additional OpenAD adjoint setups:- using package
ggl90 <pkg/ggl90>
(input_oad.ggl90 <verification/OpenAD/input_oad.ggl90>
). - using package
kpp <pkg/kpp>
(input_oad.kpp <verification/OpenAD/input_oad.kpp>
).
- using package
tutorial_dic_adjoffline <verification/tutorial_dic_adjoffline>
- TAF adjoint setup of offline form of passive tracers coupled to the dissolved inorganic carbon biogeochemistry model (currently NOT documented as a tutorial experiment).tutorial_global_oce_biogeo <verification/tutorial_global_oce_biogeo>
- Based on forward experiment described insub_global_oce_biogeo
, TAF and OpenAD adjoint setups.tutorial_tracer_adjsens <verification/tutorial_tracer_adjsens>
- Based on adjoint experiment described insec_tracer_adj_sens
, contains an additional TAF setup using Second Order Moment (SOM) advection scheme (input_ad.som81 <verification/tutorial_tracer_adjsens/input_ad.som81>
).