# drying_slope¶

The `ocean/drying_slope`

test group reproducs the tidal channel flow test case
from Warner et al. (2013)
which was originally presented in
Oey (2005).

The domain is 2-d with a channel sloping in the x-dimension and periodic in the y-dimension. The channel length is set to 25 km and slopes with an aspect ratio of 0.1. The channel width is 6km for all simulations. The channel is initialized as dry with a minimum layer thickness. The water level at the seaward end is oscillated sinusoidally with a period of 0.5 days as

Temperature and salinity are constant throughout the domain with values of 20 degC and 35 PSU, respectively. Two different linear drag bottom roughness factors of 0.0025 and 0.01 are applied in separate simulations.

By default, there are 10 vertical layers. The sigma vertical coordinate is used. Horizontal resolution of 250m and 1 km are available.

The test group includes 1 test case. The test case has 4 steps. The
`initial_state`

defines the mesh and initial conditions for the model. For
the `sigma`

vertical coordiante, two `forward`

steps are run, one for each
Rayleigh damping coefficient; for the `single_layer`

case, one `forward`

step is run at one value of the explicit bottom drag coefficient. The `viz`

step performs visualization of the ssh field. For the `sigma`

case, the
`viz`

step also produces a comparison plot with the analytical solution as
well as the solution from the ROMS model.

## config options¶

The config options for this test case are:

```
# Options related to the vertical grid
[vertical_grid]
# the type of vertical grid
grid_type = uniform
# Number of vertical levels
bottom_depth = 10.
# Number of vertical levels
vert_levels = 10
# Thickness of each layer in the thin film region
thin_film_thickness = 1.0e-3
# 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 drying slope test cases
[drying_slope]
# the number of grid cells in x
nx = 6
# Length over which wetting and drying actually occur
Ly_analysis = 25.
# Domain length
Ly = 30.
# Bottom depth at the right side of the domain
right_bottom_depth = 10.
# Bottom depth at the left side of the domain
left_bottom_depth = 0.
# Plug width as a fraction of the domain
plug_width_frac = 0.0
# Plug temperature
plug_temperature = 20.0
# Background temperature
background_temperature = 20.0
# Background salinity
background_salinity = 35.0
# Coriolis parameter
coriolis_parameter = 0.0
# time step in s per km of horizontal resolution
dt_per_km = 30
# Number of tasks at 1km resolution
ntasks_baseline = 4
# Minimum number of tasks
min_tasks = 1
# config options for visualizing drying slope ouptut
[drying_slope_convergence]
resolutions = 0.25, 0.5, 1, 2
# config options for visualizing drying slope ouptut
[drying_slope_viz]
# whether to generate movie
generate_movie = False
# frames per second for movies
frames_per_second = 30
# movie format
movie_format = mp4
```

All units are mks.

## default¶

`ocean/drying_slope/${COORD}/${METHOD}/${RES}/default`

is the default version
of the drying slope test case for two short (12h) test runs with two different
drag coefficients and validation of sea surface height through visual inspection
against analytic and ROMS solutions. `RES`

is either 250m or 1km. `COORD`

is either `single_layer`

or `sigma`

. The wetting and drying `METHOD`

is
either `standard`

or `ramp`

. The `ramp`

method ramps velocities and
velocity tendencies over a given layer thickness range rather than a binary
switch at the minimum thickness.

## convergence¶

`ocean/drying_slope/${COORD}/${METHOD}/convergence`

is a convergence test in
horizontal resolution and time. It produces a convergence plot for the
resolutions specified in the config file. `COORD`

is either `single_layer`

or `sigma`

. The wetting and drying `METHOD`

is either `standard`

or
`ramp`

. If the other of the two methods has already been run, its convergence
curve will be included in the plot.

## decomp¶

`ocean/drying_slope/${RES}/${COORD}/decomp`

is identical to the default version
of the drying slope test case except it is run twice, on 1 processor and 12
processors and the results of each are compared. `RES`

is either 250m or 1km.
`COORD`

is either `single_layer`

or `sigma`

. The `sigma`

case uses a
Rayleigh drag coefficient of 0.01. Rayleigh drag is not compatible with
`single_layer`

so implicit drag with a constant coefficient is used.

## loglaw¶

`ocean/drying_slope/${RES}/${COORD}/loglaw`

is identical to the `default`

test except that the log-law option for implicit bottom drag is used. `RES`

is either 250m or 1km. `COORD`

is either `single_layer`

or `sigma`

.