single_column

The single column tests in polaris.ocean.tasks.single_column exercise the vertical dynamics of the ocean model only. There are currently two test cases: one that exercises CVMix, the other that exercises ideal age tracers with CVMix. Here, we describe the tests and their shared framework.

framework

The shared config options for the single_column tests are described in single column in the User’s Guide.

Additionally, the tests share a forward.yaml file with a few common model config options related to run duration and horizontal diffusion and cvmix, as well as defining mesh, input, restart, output, KPP_testing and mixedLayerDepthsOutput streams.

An additional forward.yaml file is included in the ideal age tracer test case for enabling on the ideal age tracers and ideal age surface forcing, as well as for defining idealAgeTracers streams

init

The class polaris.ocean.tasks.single_column.init.Init defines a step for setting up the initial state for each test case.

First, a mesh appropriate for the resolution is generated using mpas_tools.planar_hex.make_planar_hex_mesh(). A vertical grid is generated, with 100 layers of 4 m thickness each by default. Finally, the initial temperature and salinity field are computed with variability in the vertical dimension only.

A forcing netCDF file is also created based on the config options given in the single_column_forcing section.

For cases with ideal age tracers, an initial profile for the ideal age tracer is also constructed and is equal to zero seconds throughout the column.

forward

The class polaris.ocean.tasks.single_column.forward.Forward defines a step for running MPAS-Ocean from the initial condition produced in the init step. The ocean model is run.

viz

The class polaris.ocean.tasks.single_column.viz.Viz produces figures comparing the initial and final profiles of temperature and salinity.

cvmix

The polaris.ocean.tasks.single_column.cvmix.CVMix test performs a 1-day run on 1 cores. Then, validation of temperature, salinity, layerThickness and normalVelocity are performed against a baseline if one is provided when calling polaris setup.

ideal age

The polaris.ocean.tasks.single_column.cvmix.IdealAge test performs the same 1-day run on 1 cores as the polaris.ocean.tasks.single_column.cvmix.CVMix test, but with a single ideal age tracer included. An additional forward.yaml file is included in the ideal age tracer test case for enabeling on the ideal age tracers and ideal age surface forcing, as well as for defining idealAgeTracers streams. Validation of temperature, salinity, and idealAgeTracers are performed against a baseline if one is provided when calling polaris setup.