merry-go-round
The ocean/merry_go_round
test group induces a convective cell in a horizontal
domain in order to verify tracer advection.

supported models
These tasks only support MPAS-Ocean.
default
description
For the initial conditions described below, tracer concentration contours match the streamlines of the convective cell, such that an accurate tracer advection scheme would result in no change in the tracer field in time.
The init step generates the mesh and initial condition for the requested resolution.
The forward step runs the model for the requested length of time. Tendencies for normal velocity and layer thickness are disabled, such that these fields remain fixed at their initial conditions throughout the simulation.
The visualization step produces a plot illustrating the horizontal velocity,
vertical velocity, simulated tracer1
concentration, the error in simulated
tracer concentration at the end of the forward simulation.
(See above for an example).
mesh
The mesh is planar and the resolution is specified by config option
merry_go_round_default:resolution
, which defaults to 5 m. The horizontal
dimensions of the domain are set by config options merry_go_round:lx
and
merry_go_round:ly
, defaulting to 500 m by 5 m. The domain is solid on the
zonal boundaries and periodic on the meridional boundaries.
vertical grid
The vertical coordinate is fixed throughout the simulation.
[vertical_grid]
# the type of vertical grid
grid_type = uniform
# Number of vertical levels for base resolution
vert_levels = 50
# Depth of the bottom of the ocean
bottom_depth = 500.0
# The type of vertical coordinate (e.g. z-level, z-star)
coord_type = z-level
# Whether to use "partial" or "full", or "None" to not alter the topography
partial_cell_type = None
# The minimum fraction of a layer for partial cells
min_pc_fraction = 0.1
initial conditions
Salinity is constant throughout the domain as specified by
merry_go_round:salinity_background
, which defaults to 35 PSU. The initial
temperature is high on the right side (merry_go_round:temperature_right
) of
and low on the left side (merry_go_round:temperature_left
) of the domain,
with defaults of 30 degC and 5 degC respectively. This field initiates
a convective cell in the zonal and vertical dimensions. Debug tracer, tracer1
, is initialized with a high value in the center of domain and gradually
transitions to a lower value at the edges of the domain.
forcing
N/A
time step and run duration
The time step is determined by the config option merry_go_round:dt_per_km
according to the mesh resolution (i.e. convergence:base_resolution
).
The run duration is determined by the config option
merry_go_round:run_duration
as measured in hours.
config options
The following config options are available for this case:
[merry_go_round]
# the size of the domain in km in the x direction
lx = 0.5
# the size of the domain in km in the y direction
ly = 0.005
# temperature on the right of the domain
temperature_right = 30.
# temperature on the left of the domain
temperature_left = 5.
# background salinity
salinity_background = 35.
# background tracer2 concentration
tracer2_background = 10.
# background tracer3 concentration
tracer3_background = 20.
# Time step per resolution (s/km), since dt is proportional to resolution
dt_per_km = 72000.0
# Convergence threshold below which the test fails
conv_thresh = 1.2
# Run duration in hours
run_duration = 6.
[merry_go_round_default]
# the mesh resolution (km) at which the default test case is run and
# the resolution to which refinement_factors are applied if refinement is
# 'space' or 'both' on a planar mesh
resolution = 0.005
cores
The number of cores is determined according to the config options
max_cells_per_core
and goal_cells_per_core
.
convergence tasks
There are two versions of the convergence test case: convergence_space
and
convergence_both
corresponding to space and both space and time convergence
tests. All settings are the same as the
default case, but now the resolution and/or time step
are refined to asses the order of convergence for tracer advection. Tests
involving spatial convergence have a horizontal resolution of
convergence:base_resolution
times convergence:refinement_factors_space
.
Tests invoking both spatial and temporal convergence refine the spatial
resolution as described above and use a time step set by
merry_go_round:dt_per_km
times the refined spatial resolution
(see Convergence Tests for more details on how to change resolutions
or time steps tested).
The init and forward steps are analogous to what is described above for default.
The analysis step computes the convergence:error_type
of your choosing,
between the simulated tracer1
field and the exact solution at the end
of the simulation. Because tracer concentration contours match the streamlines
of the convective cell the exact solution is equivalent to the initial
condition. It also computes the convergence rate with resolution and/or
time step, producing a plot like:

The visualization step plot the numerical solution, exact solution, and their difference for each resolution and/or time step simulated.