mixed_layer_eddies
The mixed_layer_eddies tasks validate the submesoscale eddy
parameterization against an eddy-resolving run of a spinning-down
mixed-layer front. The design is in the
mixed-layer eddies design document.
framework
The shared config options are described in mixed layer eddies
in the User’s Guide. All tasks share one config file and the steps below,
which live in a directory for each resolution
(ocean/planar/mixed_layer_eddies/<res>/). Each task links to the shared
steps it uses.
init
The class polaris.tasks.ocean.mixed_layer_eddies.init.Init
builds a doubly periodic planar hex mesh and initializes the p-star
coordinate with
polaris.ocean.vertical.pstar_init.PStarInitStep.run_pstar_init().
Its init_tracers() evaluates the salinity profile at the geometric depths
the column’s own density implies, refining them a few times within each
outer iteration. The ITP77 profile is the packaged file itp77.csv.
forward
The class polaris.tasks.ocean.mixed_layer_eddies.forward.Forward
runs one segment of a run with one setting of the parameterization. The
segment is full (the coarse runs), spinup (the resolved run to day 5),
eddies (days 5–10) or extended (days 10–15). Both eddies and
extended write hourly output. The spinup writes daily restarts. Each
resolved segment after the first continues from the restart the one before
writes at its end, in a shared restarts directory beside the steps. The
coarse on and off runs write hourly eddy output throughout their full
duration. The end of the resolved eddies segment is the later of the
overturning-window end and flux_average_end_day. The extended segment
restarts there, so the flux averaging window stays in one file.
Both resolved and comparison tasks register extended with
run_by_default=False. Their analyses have no extended-output inputs.
All daily and frequent streams include the model’s density-threshold
mixed-layer depth, including runs with MLE off. The flux analysis uses
its area-weighted frontal-band mean.
Omega also writes VerticalPseudoVelocity in both streams, regardless
of the MLE setting.
The split exists because MPAS-Ocean streams cannot limit output to a time
window, and Polaris builds a task’s steps before it knows the model. The
restart alarms are anchored at each segment’s start time. Spinup writes
every day; the eddy segment writes at its end.
The parameterization’s options are set only
when it is on; when it is off, each model’s default (off) applies.
diagnostics
The module polaris.tasks.ocean.mixed_layer_eddies.diagnostics computes the
eddy overturning, the parameterization’s formula, potential energy and
mixed-layer stratification from output read with MPAS-Ocean names.
Overturning is computed across lines of constant y between rows of cells
with Overturning across lines. Transports use each model’s flux
thickness: Omega’s pseudo-thickness and MPAS-Ocean’s layer thickness.
resolved
The polaris.tasks.ocean.mixed_layer_eddies.resolved.Resolved task
links the 500 m init, spinup, eddies and extended steps and adds
polaris.tasks.ocean.mixed_layer_eddies.resolved.analysis.Analysis,
which diagnoses and normalizes the eddy overturning and checks \(|\Psi^+|\).
It also writes the resolved-only buoyancy-flux scaling figure and tables
without fitting a line or applying flux-fit thresholds. The overturning
retains the days 5–7 window; the plotted flux point averages days 6–10.
Both resolved and comparison analyses use
polaris.tasks.ocean.mixed_layer_eddies.flux.analyze_combined_flux.
The flux module’s get_snapshot_days reads absolute simulation days
from model timestamps. The shared get_time_since_start helper still
returns elapsed time relative to the file’s reference time.
Each run explicitly declares whether the parameterization is enabled;
disabled runs never include parameterized flux, even if the output
contains eddy velocity.
coarse
The polaris.tasks.ocean.mixed_layer_eddies.coarse.Coarse task
links the init, forward_off and forward_on steps at each coarse
resolution and adds
polaris.tasks.ocean.mixed_layer_eddies.coarse.verify.Verify,
which checks the parameterized stream function against its formula.
comparison
The polaris.tasks.ocean.mixed_layer_eddies.comparison.Comparison
task links every shared step and adds
polaris.tasks.ocean.mixed_layer_eddies.comparison.analysis.Analysis,
which reports potential-energy release after the Rossby adjustment
relative to the resolved run and plots the runs side by side. All daily
time series and surface snapshots end at the resolved eddy segment’s
endpoint (day 10 by default), including the coarse diagnostics.
Running the optional extended step does not change this analysis scope. The PE
diagnostics remain report-only. The flux figure compares five
time-averaged points with a 1:1 line and records their values in
combined_buoyancy_flux_average.csv. Provisional fit checks remain
separate for resolved and MLE on runs; see
comparison for sampling, units and tolerances.