Skip to content

Commit 1a0ca44

Browse files
committed
Update documentation
1 parent 1bf4177 commit 1a0ca44

File tree

5 files changed

+132
-23
lines changed

5 files changed

+132
-23
lines changed

docs/developers_guide/ocean/api.rst

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -864,6 +864,14 @@ test cases and steps
864864
mesh.Mesh.configure
865865
mesh.Mesh.run
866866

867+
mesh.vr45to5.VRTidesMesh
868+
mesh.vr45to5.VRTidesMesh.make_jigsaw_mesh
869+
mesh.vr45to5.VRTidesMesh.build_cell_width_lat_lon
870+
mesh.vr45to5.VRTidesMesh.limit_spacing_gradient
871+
mesh.vr45to5.VRTidesMesh.swe_wavelength_spacing
872+
mesh.vr45to5.VRTidesMesh.elev_sharpness_spacing
873+
mesh.vr45to5.VRTidesMesh.coarsen_spacing_pixels
874+
867875
init.Init
868876
init.Init.configure
869877
init.Init.run
@@ -872,12 +880,41 @@ test cases and steps
872880
init.initial_state.InitialState
873881
init.initial_state.InitialState.setup
874882
init.initial_state.InitialState.run
875-
init.interpolate_wave_drag.InterpolateWaveDrag
876-
init.interpolate_wave_drag.InterpolateWaveDrag.interpolate_data_to_grid
877-
init.interpolate_wave_drag.InterpolateWaveDrag.plot_interp_data
878-
init.interpolate_wave_drag.InterpolateWaveDrag.write_to_file
879-
init.interpolate_wave_drag.InterpolateWaveDrag.run
880-
883+
init.calculate_wave_drag.CalculateWaveDrag
884+
init.calculate_wave_drag.CalculateWaveDrag.interpolate_data_to_grid
885+
init.calculate_wave_drag.CalculateWaveDrag.fix_nans
886+
init.calculate_wave_drag.CalculateWaveDrag.make_nn_lists
887+
init.calculate_wave_drag.CalculateWaveDrag.calc_stats
888+
init.calculate_wave_drag.CalculateWaveDrag.polyfit2d
889+
init.calculate_wave_drag.CalculateWaveDrag.map_to_r3
890+
init.calculate_wave_drag.CalculateWaveDrag.run
891+
892+
dem.CreatePixelFile
893+
894+
dem.dem_pixel.circ_dist
895+
dem.dem_pixel.cell_dzdx
896+
dem.dem_pixel.blend_front
897+
dem.dem_pixel.rtopo_60sec
898+
dem.dem_pixel.rtopo_30sec
899+
dem.dem_pixel.rtopo_15sec
900+
dem.dem_pixel.gebco_60sec
901+
dem.dem_pixel.gebco_30sec
902+
dem.dem_pixel.gebco_15sec
903+
dem.dem_pixel.rtopo_gebco_60sec
904+
dem.dem_pixel.rtopo_gebco_30sec
905+
dem.dem_pixel.rtopo_gebco_15sec
906+
907+
dem.dem_remap.map_to_r3
908+
dem.dem_remap.tria_area
909+
dem.dem_remap.circ_dist
910+
dem.dem_remap.sample_1d
911+
dem.dem_remap.linear_2d
912+
dem.dem_remap.sample_2d
913+
dem.dem_remap.cell_quad
914+
dem.dem_remap.cell_prfl
915+
dem.dem_remap.dem_remap
916+
917+
dem.dem_trnsf.dem_trnsf
881918

882919
forward.Forward
883920
forward.Forward.configure

docs/developers_guide/ocean/test_groups/tides.rst

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,78 @@
11
.. _dev_ocean_tides:
22

33
tides
4-
=========
4+
=====
55

66
The ``tides`` test group implements single layer
77
barotropic, tidal cases as described in :ref:`ocean_tides` in
88
the User's Guide.
99

10+
mesh test case
11+
--------------
12+
This test case generates the bathymetric dataset and horizontal mesh for tidal simulations.
13+
A :py:class:`compass.ocean.tests.tides.mesh.Mesh` object is created with ``mesh_name`` as one of its
14+
arguments. Based on this argument, it determines the appropriate child class of
15+
:py:class:`compass.mesh.spherical.SphericalBaseStep` to create the base mesh and adds a
16+
:py:class:`compass.ocean.mesh.cull.CullMeshStep`. Prior to creation of the base mesh, a
17+
:py:class:`compass.ocean.tests.tides.dem.CreatePixelFile` step is added to create the
18+
"pixel" files used to remap bathymetry data onto the mesh in the initial state test case.
19+
20+
meshes
21+
~~~~~~
22+
``tides`` currently defines 2 meshes, with more to come.
23+
24+
Icos7
25+
^^^^^
26+
This is a uniform resolution mesh based on icosahedral subdivision. It has approximately 60 km
27+
resolution globally. It is defined by :py:class:`compass.mesh.spherical.IcosahedralMeshStep`.
28+
29+
vr45to5
30+
^^^^^^^
31+
This is a variable resolution mesh which has refinement based on bathymetric depth and slope
32+
criteria. It has a maximum resolution of 45 km and a minimum resolution of 5 km along coastlines
33+
and steep bathymetric gradients. It is defined by :py:class:`compass.ocean.tests.tides.mesh.vr45to5.VRTidesMesh`
34+
which inherits from :py:class:`compass.mesh.spherical.QuasiUniformSphericalMeshStep` and overrides
35+
the ``build_cell_width_lat_lon`` method with the resolution specification previously described.
36+
37+
38+
initial state test case
39+
-----------------------
40+
This test case contains steps to calculate parameters necessary for the
41+
wave drag schemes in MPAS-Ocean, remaps the bathymetry onto the mesh, and
42+
generates the initial state. These steps are added in the construction of
43+
the :py:class:`compass.ocean.tests.tides.init.Init` object.
44+
1045
initial_state
11-
-------------
46+
~~~~~~~~~~~~~
1247
The class :py:class:`compass.ocean.tests.tides.init.initial_state.InitialState`
1348
defines a step for running MPAS-Ocean in init mode. The vertical mesh is
1449
set up with a single layer.
1550

16-
interpolate_wave_drag
17-
---------------------
18-
The class :py:class:`compass.ocean.tests.tides.init.interpolate_wave_drag.InterpolateWaveDrag`
19-
defines a step for interpolating HYCOM data onto the MPAS-O mesh
20-
for the topographic wave drag scheme.
51+
calculate_wave_drag
52+
~~~~~~~~~~~~~~~~~~~
53+
The class :py:class:`compass.ocean.tests.tides.init.calculate_wave_drag.CalculateWaveDrag`
54+
defines a step for calculating bathymetric slopes and interpolating buoyancy frequency data onto
55+
the MPAS-O mesh for the topographic wave drag parameterizations.
2156

2257
remap_bathymetry
23-
----------------
58+
~~~~~~~~~~~~~~~~
2459
The class :py:class:`compass.ocean.tests.tides.init.remap_bathymetry.RemapBathymetry`
25-
defines a step to perform an integral remap of bathyetry data onto the MPAS-O mesh.
60+
defines a step to perform an integral remap of bathymetry data onto the MPAS-O mesh.
61+
62+
forward test case
63+
-----------------
64+
The forward test case contains steps to run the forward simulation and
65+
compare the harmonic constituents with the TPXO database. These steps
66+
are added in the creation of the :py:class:`compass.ocean.tests.tides.forward.Forward`
67+
object.
2668

2769
forward
28-
-------
70+
~~~~~~~
2971
The class :py:class:`compass.ocean.tests.tides.forward.forward.ForwardStep`
3072
defines a step to run MPAS-Ocean in forward mode.
3173

3274
analysis
33-
--------
75+
~~~~~~~~
3476
The class :py:class:`compass.ocean.tests.tides.analysis.Analysis`
3577
defines a step to extract harmonic constituent data from the TPXO database.
3678
These values are used to compute and plot errors.

docs/users_guide/ocean/test_groups/images/M2_plot.png renamed to docs/users_guide/ocean/test_groups/images/M2_plot_icos7.png

File renamed without changes.
696 KB
Loading

docs/users_guide/ocean/test_groups/tides.rst

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,15 @@ initial conditions, forward simulations, and validation for global,
88
realistic ocean domains. These are single layer, barotropic simulations
99
forced with tidal potential. Self-attraction and loading effects are included
1010
as well as a parameterization for topographic wave drag.
11+
Currently the `Zarron and Egbert (2006) <https://doi.org/10.1175/JPO2878.1>`_
12+
wave drag parameterization is the default option. But MPAS-Ocean also supports
13+
the `local generation formula <https://doi.org/10.5194/gmd-14-1125-2021>`_ and
14+
`Jayne and St.Laurent (2001) <https://doi.org/10.1029/2000GL012044>`_.
1115
Wetting and drying is turned on in these configurations to prevent minimum
1216
depth issues.
1317
The tidal solution is decomposed into harmonic constituents during the
1418
simulation and are compared with the TPXO database.
15-
Currently, the icosaheral 7 mesh is supported with
19+
Currently, the icosaheral 7 and vr45to5 meshes are supported with
1620
more mesh resolutions to be added in the future.
1721

1822
Shared config options
@@ -87,6 +91,20 @@ mesh test case
8791
The mesh test case produces the horizontal mesh. The base mesh has global coverage
8892
and is culled to remove land cells. Cells beneath ice shelves are retained in the mesh.
8993

94+
Icos7
95+
^^^^^
96+
This mesh is an Icosahedral mesh with 7 refienemnt steps, resulting in a globally uniform
97+
resolution of about 60km. This mesh is meant for efficient testing of tidal physics and
98+
does not produce very accurate global tides (Deep RMSE M2 ~11cm).
99+
100+
VR45to5
101+
^^^^^^^
102+
This is a variable resolution mesh that ranges between 45km to 5km
103+
at the coasts. It uses refiniment criteria based on depth and bathymetric slope.
104+
More details can be found in `Barton et al. (2022) <https://doi.org/10.1029/2022MS003207>`_.
105+
This mesh achieves a more accurate tidal result competitive with other non-data assimilative
106+
models (Deep RMSE M2 ~3.3cm).
107+
90108
.. _tides_init:
91109

92110
init test case
@@ -98,17 +116,21 @@ remap bathymetry step
98116
^^^^^^^^^^^^^^^^^^^^^
99117
This step performs an integral remap of bathymetric data onto the MPAS-O mesh
100118

101-
interpolate wave drag step
119+
calculate wave drag step
102120
^^^^^^^^^^^^^^^^^^^^^^^^^^
103-
In this step, a timescale factor from HYCOM data is interpolated onto
121+
In this step, a several values are calculated and interpolated onto
104122
the MPAS-O mesh to be used in the topographic wave drag parameterization.
105-
A plot is also produced to verify the interpolation.
123+
The climatological depth-averaged and bottom bouancy frequency values are
124+
interpolated from WOA are interpolated onto the MPAS mesh. The bathymetric
125+
gradients are also computed along with the standard deviaion of the subgrid
126+
bathymetry.
106127

107128
initial state step
108129
^^^^^^^^^^^^^^^^^^
109130
The initial state step runs MPAS-Ocean in init mode to create the initial
110131
condition file for the forward run. The vertical mesh is setup for a
111-
single layer.
132+
single layer. This step also computes the adjusted sea surface height,
133+
accounting for land ice pressure.
112134

113135
.. _tides_forward:
114136

@@ -132,6 +154,14 @@ global, shallow, and deep RMS errors. The global MPAS-O and TPXO solutions are
132154
plotted along with the spatial error fields. Below is an example of the type
133155
of plots produced for the 5 major constituents.
134156

135-
.. image:: images/M2_plot.png
157+
For the Icos7 mesh:
158+
159+
.. image:: images/M2_plot_icos7.png
160+
:width: 500px
161+
:align: center
162+
163+
And for the VR45to5 case:
164+
165+
.. image:: images/M2_plot_vr45to5.png
136166
:width: 500px
137167
:align: center

0 commit comments

Comments
 (0)