baroclinic_gyre
The baroclinic_gyre
test group implements variants of the
baroclinic ocean gyre set-up from the MITgcm test case.
This test simulates a baroclinic, wind and buoyancy-forced, double-gyre ocean
circulation. The grid employs spherical polar coordinates with 15 vertical
layers. The configuration is similar to the double-gyre setup first solved
numerically in Cox and Bryan (1984):
the model is configured to represent an enclosed sector of fluid on a sphere,
spanning the tropics to mid-latitudes,

Schematic of simulation domain and wind-stress forcing function for baroclinic gyre numerical experiment. The domain is enclosed by solid walls. From MITgcm test case.
Forcing
The Coriolis parameter,
with the rotation rate,
where
Temperature is restored in the surface layer to a linear profile:
where the piston velocity
Initial state
Initially the fluid is stratified with a reference potential temperature
profile that varies from (approximately) .cfg
file. The default values have been chosen for the layer values (calculated
with zMid
) to approximate the discrete values presented in the MITgcm
test case. The temperature functional form (and inner parameter cc
was
determined by fitting an analytical function to the MITgcm discrete layer
values (originally ranging from 2 to bottom_depth
is different from the default 1800m value, the temperature
profile is stretched in the vertical to fit the surface and bottom
temperature constraints, but the thermocline depth and the discrete layer
values will move away from the MITgcm test case.
The equation of state used in this experiment is linear:
with
Analysis
For scientific validation, this test case is meant to be run to quasi-steady
state and its mean state compared to the MITgcm test case and / or
theoretical scaling. This is done through an analysis step in the
3_year_test
case. Note that 3 years are likely insufficient to bring the
test case to full equilibrium. Examples of qualitative plots include:
i) equilibrated SSH contours on top of surface heat fluxes,
ii) barotropic streamfunction (compared to MITgcm or a barotropic gyre test
case).
Examples of checks against theory include: iii) max of simulated barotropic streamfunction ~ Sverdrup transport, iv) simulated thermocline depth ~ scaling argument for penetration depth (Vallis (2017) or Cushman-Roisin and Beckers (2011)).
Consider the Sverdrup transport:
If we plug in a typical mid-latitude value for
This scaling is obtained via thermal wind and the linearized barotropic
vorticity equation), the depth of the thermocline
where
config options
All 2 test cases share the same set of config options:
# Options related to the vertical grid
[vertical_grid]
# the type of vertical grid
grid_type = linear_dz
# the linear rate of thickness (m) increase for linear_dz
linear_dz_rate = 10.
# Number of vertical levels
vert_levels = 15
# Total water column depth in m
bottom_depth = 1800.
# The type of vertical coordinate (e.g. z-level, z-star)
coord_type = z-star
# 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
# config options for the baroclinic gyre
[baroclinic_gyre]
# Basin dimensions
lat_min = 15
lat_max = 75
lon_min = 0
lon_max = 60
# Initial vertical temperature profile (C)
initial_temp_top = 33.
initial_temp_bot = 1.
# Constant salinity value (also used in restoring)
initial_salinity = 34.
# Maximum zonal wind stress value (N m-2)
wind_stress_max = 0.1
# Surface temperature restoring profile
restoring_temp_min = 0.
restoring_temp_max = 30.
# Restoring timescale for surface temperature (in days)
restoring_temp_timescale = 30.
# config options for the post processing (moc and viz)
[baroclinic_gyre_post]
# latitude bin increment for the moc calculation
dlat = 0.25
# number of years to average over for the mean state plots
time_averaging_length = 1
performance_test
ocean/baroclinic_gyre/performance_test
is the default version of the
baroclinic_gyre test case for a short (3 time steps) test run and validation
of prognostic variables for regression testing.
3_year_test
ocean/baroclinic_gyre/3_year_test
is an additional version of the
baroclinic_gyre test case with a longer (3-year) spin-up. By default, it
includes monthly mean output, and plots the mean state of the simulation for
the last 1 year (option in the config file). Note that for the 80km
configuration, the estimated time to equilibration is roughly 50 years
(approx 3 hours of compute time on default layout). This can be done by
running the forward
step several times (adding 3 years each time), or by
editing the forward/namelist.ocean
file to set the config_run_duration
to the desired simulation duration.
For a detailed comparison of the mean state against theory and results from
other models, the mean state at 100 years may be most appropriate to be
aligned with the MITgcm results.