Skip to content

Commit

Permalink
Add info in User's Guide about supported model(s)
Browse files Browse the repository at this point in the history
  • Loading branch information
xylar committed Sep 16, 2024
1 parent 3c60593 commit 3d86997
Show file tree
Hide file tree
Showing 13 changed files with 145 additions and 85 deletions.
18 changes: 11 additions & 7 deletions docs/users_guide/ocean/tasks/baroclinic_channel.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,14 @@ from [Ilicak et al. (2012)](https://doi.org/10.1016/j.ocemod.2011.10.003).

Polaris includes includes 5 baroclinic channel test cases. All test cases have
at least 2 steps, `init`, which defines the mesh and initial conditions for the
model, and some variation on `forward` (given another name in many test cases
to distinguish multiple forward runs), which performs time integration of the
model, and some variation on `forward` (given another name in many test cases
to distinguish multiple forward runs), which performs time integration of the
model.

## suppported models

These tasks support only MPAS-Ocean.

## mesh

The domain is zonally periodic with solid northern and southern boundaries.
Expand All @@ -23,7 +27,7 @@ resolution.

## vertical grid

By default, all tests have 20 vertical layers of 50-m uniform thickness. The
By default, all tests have 20 vertical layers of 50-m uniform thickness. The
domain bottom is flat.

```cfg
Expand Down Expand Up @@ -86,7 +90,7 @@ $$
T_0(y) = \begin{cases}
T_0(z) - \Delta T \: f(y) + \Delta T_{crest} \:
(1-(y - (y_{mid} - y_{crest}(x))/\frac{1}{2} \Delta y_{perturb}) &
\text{ if } y_{min}(x) \le y \le y_{max}(x);
\text{ if } y_{min}(x) \le y \le y_{max}(x);
\frac{4}{6} l_x \le x \le \frac{5}{6} l_x \\
T_0(z) - \Delta T \: f(y) & \text{otherwise}
\end{cases}
Expand Down Expand Up @@ -170,7 +174,7 @@ coriolis_parameter = -1.2e-4
```

The default domain size (`lx` and `ly`) is designed to be consistent with the
literature, but can be modified by users to suit their needs.
literature, but can be modified by users to suit their needs.

The config options `dt_per_km` and `btr_dt_per_km` are used to determine a
time steps that is consistent with a given resolution. Changing these config
Expand All @@ -187,7 +191,7 @@ All units are mks, with temperature in degrees Celsius and salinity in PSU.

`ocean/baroclinic_channel/10km/default` is the default version of the
baroclinic eddies test case for a short (15 min) test run and validation of
prognostic variables for regression testing.
prognostic variables for regression testing.

### mesh

Expand Down Expand Up @@ -227,7 +231,7 @@ The number of processors is hard-coded to be 4 for this case.
of the model forward in time on 4 (`4proc` step) and then on 8 processors
(`8proc` step) to make sure the resulting prognostic variables are
bit-for-bit identical between the two runs.

### mesh

See {ref}`ocean-baroclinic-channel`. Currently, only 10-km horizontal
Expand Down
28 changes: 16 additions & 12 deletions docs/users_guide/ocean/tasks/correlated_tracers_2d.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@

The `correlated_tracers_2d` and `correlated_tracers_2d/with_viz` tasks implement the
non-divergent flow field test of (1) numerical order of convergence and (2)
mixing as described in
[Lauritzen et al. 2012](<https://gmd.copernicus.org/articles/5/887/2012/>).
mixing as described in
[Lauritzen et al. 2012](<https://gmd.copernicus.org/articles/5/887/2012/>).

The numerical order of convergence is analyzed in the `analysis` step and
produces a figure similar to the following showing L2 error norm as a function
Expand All @@ -28,6 +28,10 @@ the end of the simulation:
:width: 500 px
```

## suppported models

These tasks support only MPAS-Ocean.

## mesh

Two global mesh variants are tested, quasi-uniform (QU) and icosohydral. Thus,
Expand Down Expand Up @@ -61,14 +65,14 @@ qu_resolutions = 60, 90, 120, 150, 180, 210, 240
```

To alter the resolutions used in this task, you will need to create your own
config file (or add a `spherical_convergence` section to a config file if
config file (or add a `spherical_convergence` section to a config file if
you're already using one). The resolutions are a comma-separated list of the
resolution of the mesh in km. If you specify a different list
before setting up `correlated_tracers_2d`, steps will be generated with the requested
resolutions. (If you alter `icos_resolutions` or `qu_resolutions`) in the
task's config file in the work directory, nothing will happen.) For `icos`
meshes, make sure you use a resolution close to those listed in
{ref}`dev-spherical-meshes`. Each resolution will be rounded to the nearest
resolutions. (If you alter `icos_resolutions` or `qu_resolutions`) in the
task's config file in the work directory, nothing will happen.) For `icos`
meshes, make sure you use a resolution close to those listed in
{ref}`dev-spherical-meshes`. Each resolution will be rounded to the nearest
allowed icosahedral resolution.

The `base_mesh` steps are shared with other tasks so they are not housed in
Expand Down Expand Up @@ -169,11 +173,11 @@ This case is forced to follow $u(t)$ and $v(t)$ given above.

## time step and run duration

This task uses the Runge-Kutta 4th-order (RK4) time integrator. The time step
This task uses the Runge-Kutta 4th-order (RK4) time integrator. The time step
for forward integration is determined by multiplying the resolution by a config
option, `rk4_dt_per_km`, so that coarser meshes have longer time steps. You can
alter this before setup (in a user config file) or before running the task (in
the config file in the work directory).
alter this before setup (in a user config file) or before running the task (in
the config file in the work directory).

```cfg
# config options for spherical convergence tests
Expand All @@ -200,7 +204,7 @@ run_duration = ${sphere_transport:vel_pd}
output_interval = ${sphere_transport:vel_pd}
```

Here, `${sphere_transport:vel_pd}` means that the same value is used as in the
Here, `${sphere_transport:vel_pd}` means that the same value is used as in the
option `vel_pd` in section `[sphere_transport]`, see below.

## config options
Expand Down Expand Up @@ -317,7 +321,7 @@ only, the convergence rate threshold, and the time at which to evaluate mixing
diagnostics.

The options in sections `sphere_transport_viz*` control properties of the `viz`
step of the test case.
step of the test case.

The default options for the convergence analysis step can be changed here:

Expand Down
26 changes: 15 additions & 11 deletions docs/users_guide/ocean/tasks/cosine_bell.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

## description

The `cosine_bell` and `cosine_bell/with_viz` tasks implement the Cosine
Bell test case as first described in
The `cosine_bell` and `cosine_bell/with_viz` tasks implement the Cosine
Bell test case as first described in
[Williamson et al. 1992](<https://doi.org/10.1016/S0021-9991(05)80016-6>)
but using the variant from Sec. 3a of
[Skamarock and Gassmann](https://doi.org/10.1175/MWR-D-10-05056.1). A flow
Expand All @@ -26,6 +26,10 @@ and final state on a lat-lon grid for each resolution. The visualization is
not included in the `cosine_bell` version of the task in order to not slow down
regression testing.

## suppported models

These tasks support only MPAS-Ocean.

(ocean-cosine-bell-mesh)=
## mesh

Expand Down Expand Up @@ -60,14 +64,14 @@ qu_resolutions = 60, 90, 120, 150, 180, 210, 240
```

To alter the resolutions used in this task, you will need to create your own
config file (or add a `spherical_convergence` section to a config file if
config file (or add a `spherical_convergence` section to a config file if
you're already using one). The resolutions are a comma-separated list of the
resolution of the mesh in km. If you specify a different list
before setting up `cosine_bell`, steps will be generated with the requested
resolutions. (If you alter `icos_resolutions` or `qu_resolutions`) in the
task's config file in the work directory, nothing will happen.) For `icos`
meshes, make sure you use a resolution close to those listed in
{ref}`dev-spherical-meshes`. Each resolution will be rounded to the nearest
resolutions. (If you alter `icos_resolutions` or `qu_resolutions`) in the
task's config file in the work directory, nothing will happen.) For `icos`
meshes, make sure you use a resolution close to those listed in
{ref}`dev-spherical-meshes`. Each resolution will be rounded to the nearest
allowed icosahedral resolution.

The `base_mesh` steps are shared with other tasks so they are not housed in
Expand Down Expand Up @@ -163,11 +167,11 @@ field remains at the initial velocity $u_0$.
(ocean-cosine-bell-time-step)=
## time step and run duration

This task uses the Runge-Kutta 4th-order (RK4) time integrator. The time step
This task uses the Runge-Kutta 4th-order (RK4) time integrator. The time step
for forward integration is determined by multiplying the resolution by a config
option, `rk4_dt_per_km`, so that coarser meshes have longer time steps. You can
alter this before setup (in a user config file) or before running the task (in
the config file in the work directory).
alter this before setup (in a user config file) or before running the task (in
the config file in the work directory).

```cfg
# config options for convergence tests
Expand All @@ -194,7 +198,7 @@ run_duration = ${cosine_bell:vel_pd}
output_interval = ${cosine_bell:vel_pd}
```

Here, `${cosine_bell:vel_pd}` means that the same value is used as in the
Here, `${cosine_bell:vel_pd}` means that the same value is used as in the
option `vel_pd` in section `[cosine_bell]`, see below.

## config options
Expand Down
26 changes: 15 additions & 11 deletions docs/users_guide/ocean/tasks/divergent_2d.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## description

The `divergent_2d` and `divergent_2d/with_viz` tasks implement the
divergent flow field test of numerical order of convergence as described in
divergent flow field test of numerical order of convergence as described in
[Lauritzen et al. 2012](<https://gmd.copernicus.org/articles/5/887/2012/>).

The numerical order of convergence is analyzed in the `analysis` step and
Expand All @@ -17,6 +17,10 @@ of horizontal resolution:
:width: 500 px
```

## suppported models

These tasks support only MPAS-Ocean.

## mesh

Two global mesh variants are tested, quasi-uniform (QU) and icosohydral. Thus,
Expand Down Expand Up @@ -50,14 +54,14 @@ qu_resolutions = 60, 90, 120, 150, 180, 210, 240
```

To alter the resolutions used in this task, you will need to create your own
config file (or add a `spherical_convergence` section to a config file if
config file (or add a `spherical_convergence` section to a config file if
you're already using one). The resolutions are a comma-separated list of the
resolution of the mesh in km. If you specify a different list
before setting up `divergent_2d`, steps will be generated with the requested
resolutions. (If you alter `icos_resolutions` or `qu_resolutions`) in the
task's config file in the work directory, nothing will happen.) For `icos`
meshes, make sure you use a resolution close to those listed in
{ref}`dev-spherical-meshes`. Each resolution will be rounded to the nearest
resolutions. (If you alter `icos_resolutions` or `qu_resolutions`) in the
task's config file in the work directory, nothing will happen.) For `icos`
meshes, make sure you use a resolution close to those listed in
{ref}`dev-spherical-meshes`. Each resolution will be rounded to the nearest
allowed icosahedral resolution.

The `base_mesh` steps are shared with other tasks so they are not housed in
Expand Down Expand Up @@ -158,11 +162,11 @@ This case is forced to follow $u(t)$ and $v(t)$ given above.

## time step and run duration

This task uses the Runge-Kutta 4th-order (RK4) time integrator. The time step
This task uses the Runge-Kutta 4th-order (RK4) time integrator. The time step
for forward integration is determined by multiplying the resolution by a config
option, `rk4_dt_per_km`, so that coarser meshes have longer time steps. You can
alter this before setup (in a user config file) or before running the task (in
the config file in the work directory).
alter this before setup (in a user config file) or before running the task (in
the config file in the work directory).

```cfg
# config options for spherical convergence tests
Expand All @@ -189,7 +193,7 @@ run_duration = ${sphere_transport:vel_pd}
output_interval = ${sphere_transport:vel_pd}
```

Here, `${sphere_transport:vel_pd}` means that the same value is used as in the
Here, `${sphere_transport:vel_pd}` means that the same value is used as in the
option `vel_pd` in section `[sphere_transport]`, see below.

## config options
Expand Down Expand Up @@ -301,7 +305,7 @@ section `divergent_2d` control the initial condition of that case
only and the convergence rate threshold.

The options in sections `sphere_transport_viz*` control properties of the `viz`
step of the test case.
step of the test case.

The default options for the convergence analysis step can be changed here:

Expand Down
24 changes: 14 additions & 10 deletions docs/users_guide/ocean/tasks/geostrophic.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,31 @@ State Nonlinear Zonal Geostrophic Flow" test case described in

The task is a convergence test with time step varying proportionately to grid
size. The result of the `analysis` step of the task are plots like the
following showing convergence of water-column thickness and normal velocity as
following showing convergence of water-column thickness and normal velocity as
functions of the mesh resolution:

```{image} images/geostrophic_convergence.png
:align: center
:width: 500 px
```

## suppported models

These tasks support only MPAS-Ocean.

## mesh

The mesh is global and can be constructed either as quasi-uniform or
icosahedral. At least three resolutions must be chosen for the mesh
convergence study. The base meshes are the same as used in
convergence study. The base meshes are the same as used in
{ref}`ocean-cosine-bell`. See cosine bell's {ref}`ocean-cosine-bell-mesh`
section for more details.

## vertical grid

This test case only exercises the shallow water dynamics. As such, the minimum
number of vertical levels may be used. The bottom depth is constant and the
results should be insensitive to the choice of `bottom_depth`. See cosine
results should be insensitive to the choice of `bottom_depth`. See cosine
bell's {ref}`ocean-cosine-bell-vertical` section for the config options.

(ocean-geostrophic-init)=
Expand Down Expand Up @@ -82,16 +86,16 @@ $$

## forcing

Probably N/A but see Williamson's text about the possibility of prescribing a
Probably N/A but see Williamson's text about the possibility of prescribing a
wind field.

## time step and run duration

This task uses the Runge-Kutta 4th-order (RK4) time integrator. The time step
This task uses the Runge-Kutta 4th-order (RK4) time integrator. The time step
for forward integration is determined by multiplying the resolution by a config
option, `rk4_dt_per_km`, so that coarser meshes have longer time steps. You can
alter this before setup (in a user config file) or before running the task (in
the config file in the work directory).
alter this before setup (in a user config file) or before running the task (in
the config file in the work directory).

```cfg
# config options for convergence tests
Expand Down Expand Up @@ -125,7 +129,7 @@ run_duration = ${convergence:convergence_eval_time}
output_interval = ${run_duration}
```

Here, `${convergence:convergence_eval_time}` means that the same value is used
Here, `${convergence:convergence_eval_time}` means that the same value is used
as in the option `convergence_eval_time` in section `[convergence]`.

## analysis
Expand Down Expand Up @@ -167,7 +171,7 @@ the Williams et al. (1992) paper. The temperature and salinity are arbitrary,
since they do not vary in space and should not affect the evolution.

Three additional config options relate to detecting when the convergence rate
for the water-column thickness (h) and normal velocity (using the L2 norm to
for the water-column thickness (h) and normal velocity (using the L2 norm to
compute the error). If either convergence rate is unexpectedly low an error is
raised:
```cfg
Expand All @@ -186,7 +190,7 @@ convergence_thresh_normalVelocity = 1.3
```

The convergence rate of the water-column thickness for this test case is very
low for the QU meshes in MPAS-Ocean, about 0.5, which necessitates the very
low for the QU meshes in MPAS-Ocean, about 0.5, which necessitates the very
generous convergence threshold used here.

Config options related to visualization are as follows. The options in
Expand Down
10 changes: 7 additions & 3 deletions docs/users_guide/ocean/tasks/ice_shelf_2d.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ freshwater and heat fluxes under ice shelves.
Frazil-ice formation is not included in the `ssh_adjustment` steps but is
included in the `forward` step of this test case.

## suppported models

These tasks support only MPAS-Ocean.

## mesh

The test case currently supports only 5-km horizontal resolution. The x
Expand Down Expand Up @@ -130,7 +134,7 @@ The initial temperature for the whole domain is constant (1 degree Celsius),
while salinity varies linearly with depth from 34.5 PSU at the sea surface
to 34.7 PSU at the sea floor, which is at a constant at 2000 m depth. These
initial conditions can be modified with config options `temperature`,
`surface_salinity`, and `bottom_salinity`
`surface_salinity`, and `bottom_salinity`

## forcing

Expand Down Expand Up @@ -197,7 +201,7 @@ temperature and salinity of the test case by altering these options.

`ocean/planar/ice_shelf_2d/${RES}/default` is the default version of the
ice shelf 2-d test case for a short (10 min) test run and validation of
prognostic variables for regression testing.
prognostic variables for regression testing.

### mesh

Expand Down Expand Up @@ -301,7 +305,7 @@ See {ref}`ocean-ice-shelf-2d-default`.

`ocean/planar/ice_shelf_2d/5km/default` is the default version of the
ice shelf 2-d test case for a short (10 min) test run and validation of
prognostic variables for regression testing.
prognostic variables for regression testing.

### mesh

Expand Down
Loading

0 comments on commit 3d86997

Please sign in to comment.