You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
= \zeta \boldsymbol{u}^{\perp} + f \boldsymbol{u}^{\perp}
146
146
$$
147
-
is composed of the rotational part of the advection $\omega \boldsymbol{u}^{\perp}$ and the Coriolis term $f \boldsymbol{u}^{\perp}$. This term is discussed in [Ringler et al. 2010](https://www.sciencedirect.com/science/article/pii/S0021999109006780) sections 2.1 and 2.2.
147
+
is composed of the rotational part of the advection $\zeta \boldsymbol{u}^{\perp}$ and the Coriolis term $f \boldsymbol{u}^{\perp}$. This term is discussed in [Ringler et al. 2010](https://www.sciencedirect.com/science/article/pii/S0021999109006780) sections 2.1 and 2.2.
148
148
149
149
The thickness equation (2) is derived from conservation of mass for a fluid with constant density, which reduces to conservation of volume. The model domain uses fixed horizontal cells with horizontal areas that are constant in time, so the area drops out and only the layer thickness $h$ remains as the prognostic variable.
<!--- Note: Table created with [markdown table generator](https://www.tablesgenerator.com/markdown_tables) and original [google sheet](https://docs.google.com/spreadsheets/d/1rz-QXDiwfemq5NpSR1XsvomI7aSKQ1myTNweCY4afcE/edit#gid=0). --->
237
237
@@ -274,11 +274,12 @@ The definitions of geometric variables may be found in
274
274
[Ringler et al. 2010](https://www.sciencedirect.com/science/article/pii/S0021999109006780), and
275
275
[Thuburn and Cotter 2012](https://epubs.siam.org/doi/10.1137/110850293).
276
276
277
-
### 3.2 Operator Formulation
277
+
(33-operator-formulation)=
278
+
### 3.3 Operator Formulation
278
279
279
280
The TRiSK formulation of the discrete operators are as follows. See [Bishnu et al. 2023](https://gmd.copernicus.org/articles/16/5539/2023) section 4.1 and Figure 1 for a description and documentation of convergence rates, as well as [Bishnu et al. 2021](https://doi.org/10.5281/zenodo.7439539). All TRiSK spatial operators show second-order convergence on a uniform hexagon grid, except for the curl on vertices, which is first order. The curl interpolated from vertices to cell centers regains second order convergence. The rates of convergence are typically less than second order on nonuniform meshes, including spherical meshes.
280
281
281
-
#### 3.2.1. Divergence
282
+
#### 3.3.1 Divergence
282
283
The divergence operator maps a vector field's edge normal component $F_e$ to a cell center ([Ringler et al. 2010](https://www.sciencedirect.com/science/article/pii/S0021999109006780) eqn 21),
283
284
284
285
$$
@@ -302,7 +303,7 @@ D_i
302
303
$$
303
304
304
305
305
-
#### 3.2.2. Gradient
306
+
#### 3.3.2 Gradient
306
307
307
308
The gradient operator maps a cell-centered scalar to an edge-normal vector component
308
309
([Ringler et al. 2010](https://www.sciencedirect.com/science/article/pii/S0021999109006780) eqn 22),
@@ -322,7 +323,7 @@ $$
322
323
$$
323
324
where $\left\{i_1, i_2\right\}$ are the cells neighboring edge $e$. The indices $\left\{i_1, i_2\right\}$ are ordered such that the normal vector ${\bf n}$ points from cell $i_1$ to cell $i_2$. In the code ${\bf n}$ points from `CellsOnEdge(IEdge, 0)` to `CellsOnEdge(IEdge, 1)`.
324
325
325
-
#### 3.2.3. Curl
326
+
#### 3.3.3 Curl
326
327
The curl operator maps a vector's edge normal component $u_e$ to a scalar field at vertex
327
328
([Ringler et al. 2010](https://www.sciencedirect.com/science/article/pii/S0021999109006780) eqn 23),
328
329
@@ -337,7 +338,7 @@ where ${\hat A}_v$ is the area of the dual mesh cell $v$, i.e. the triangle surr
337
338
${\bf x}_v$, then $t_{e,v}=1$. The summation is over $e\in EV(v)$, which are the edges that terminate at vertex $v$. There are *always* three edges that terminate at each vertex for Voronoi Tessellations, and four edges on each vertex for quadrilateral meshes, unless neighboring cells are missing for land boundaries. Again, the subscript $v$ is dropped and a vertex is assumed for the location of the curl.
338
339
339
340
340
-
#### 3.2.4. Perpendicular vector component
341
+
#### 3.3.4 Perpendicular vector component
341
342
342
343
The perpendicular component a vector field is defined as
This simple operation can be seen in MPAS-Ocean in the subroutine `ocn_diagnostic_solve_vortVel` in the file `mpas_ocn_diagnostics.F`.
372
373
373
-
#### 3.2.5. Perpendicular Gradient
374
+
#### 3.3.5 Perpendicular Gradient
374
375
The gradient of a scalar at the middle of an edge, pointing tangentially along the edge (from one vertex to the other), is sometimes used. For example, the del2 formulation requires the perpendicular gradient of vorticity. This is called the perpendicular gradient because the standard gradient is normal to the edge.
375
376
376
377
The perpendicular gradient maps a scalar at vertices to an edge-tangential vector component,
where the positive vector ${\bf n}^\perp$ is 90$^o$ to the left of ${\bf n}$. The indices are ordered such that ${\bf n}^\perp$ points from $v_1$ to $v_2$, which corresponds to `VerticesOnEdge(IEdge, 0)` and `VerticesOnEdge(IEdge, 1)` in the code.
385
386
386
-
#### 3.2.6. Cell to Edge Interpolation
387
+
#### 3.3.6 Cell to Edge Interpolation
387
388
The mid-point average of a scalar from cell centers to the adjoining edge is
388
389
$$
389
390
[h_i]_e = \frac{1}{2} \sum_{i\in CE(e)} h_i.
390
391
$$
391
392
In a Voronoi tessellation the edge is defined to be at the mid-point between the two cell centers, so this formula is identical to an area-weighted average using the triangles between edge $e$ and the neighboring cell centers.
392
393
393
-
#### 3.2.7. Vertex to Edge Interpolation
394
+
#### 3.3.7 Vertex to Edge Interpolation
394
395
The mid-point average of a scalar from vertices to the middle of the connecting edge is
The is a distance-weighted average, since the edge quantity lives at the mid-point between the vertices. One could alternatively compute an area-weighted average using the dual-mesh cell area ${\hat A}_v$ surrounding each vertex, but that is not done and would result in very small differences.
399
400
400
-
#### 3.2.8. Cell to Vertex Interpolation
401
+
#### 3.3.8 Cell to Vertex Interpolation
401
402
The area-weighted average of a scalar at a vertex from the three surrounding cells is
The prognostic velocity variable on the edge is the edge normal velocity, $u_e$. The tangential velocity $u_e^\perp$ is computed diagnostically from $u_e$. In addition, the full vector may be computed at the cell center from the edge normal velocities $u_e$ of the edges on that cell. That is done in MPAS with radial basis functions, and is explained in this [previous design document](https://github.com/MPAS-Dev/MPAS-Documents/blob/master/shared/rbf_design/rbf.pdf).
420
421
421
-
### 3.3 Momentum Terms
422
+
(34-momentum-terms)=
423
+
### 3.4 Momentum Terms
422
424
423
425
The computation of each term in (4-6) is now described in detail, along with alternative formulations.
424
426
425
-
#### 3.3.1. Kinetic energy gradient
427
+
#### 3.4.1 Kinetic energy gradient
426
428
427
429
The kinetic energy gradient term is the non-rotational part of the nonlinear advection. Fundamentally, it maps the prognostic edge-normal velocity from edges back to an edge scalar quantity. We use the standard gradient formulation from cell center to edge,
428
430
@@ -465,81 +467,84 @@ $$
465
467
for the final kinetic energy at the cell center. Note that addition of $[K_v]_i$ enlarges the stencil. One could also use $u_e^{\perp}$ and compute the kinetic energy at the edge itself in order to enlarge the stencil, but that method is not used here.
466
468
See [Calandrini et al. 2021](https://www.sciencedirect.com/science/article/pii/S146350032100161X) section 2.3 for more information.
467
469
468
-
#### 3.3.2. Potential vorticity term
470
+
#### 3.4.2 Potential vorticity term
469
471
470
472
The potential vorticity term, $q\left(h\boldsymbol{u}^{\perp}\right)$, includes the rotational part of the advection. It may be computed in two ways,
The first computes the potential vorticity $q_v$ at the vertex and interpolates that quantity to the edge, which is what is done in MPAS-Ocean. One may also cancel the thickness $h$ (ignoring the interpolated locations) and use option 2. Additional interpolation options and results are presented in [Calandrini et al. 2021](https://www.sciencedirect.com/science/article/pii/S146350032100161X)
481
483
482
-
#### 3.3.3. Sea surface height gradient
484
+
#### 3.4.3 Sea surface height gradient
483
485
The sea surface height (SSH) gradient uses the standard gradient formulation from cell center to edge,
The Del2, or Laplacian operator, viscous momentum dissipation maps edge-normal velocity back to the edge-normal component of the Laplacian. In TRiSK this is done with the vorticity-divergence formulation, which may be written as
This formulation is also mentioned in [Gassmann 2011](https://linkinghub.elsevier.com/retrieve/pii/S0021999111000325) (equation 17), [Gassman 2018](https://onlinelibrary.wiley.com/doi/10.1002/qj.3294) (equation 44) and [Lapolli et al. 2024](https://www.sciencedirect.com/science/article/pii/S1463500324000222) (section 4.5.2).
500
503
501
504
For our discretization, the full Del2 term is written as
The Del4, or biharmonic, momentum dissipation also maps edge-normal velocity back to the edge-normal component of the Laplacian. This is done with two applications of the Del2 operator above.
Rayleigh drag is simply linear drag, applied to all levels. It is typically only used during the spin-up process to damp large velocities during the initial adjustment. The Rayleigh coefficient $Ra$ is simply a scalar constant,
521
525
522
526
$$
523
527
- Ra \: u_e.
524
528
$$
525
529
526
-
#### 3.3.7. Bottom drag
530
+
#### 3.4.7 Bottom drag
527
531
Bottom drag is more relevant to layered models than to shallow water systems, but is included here for completeness. It is a quadratic drag applied to the edge velocity,
528
532
529
533
$$
530
534
- C_D \frac{u_e\left|u_e\right|}{[h_i]_e}.
531
535
$$
532
536
533
-
#### 3.3.8. Wind forcing
537
+
#### 3.4.8 Wind forcing
534
538
Wind forcing has the same form as the bottom drag, but the forcing is the difference between the current velocity and the wind $u_W$, interpolated and projected to the edge normal direction,
There are many schemes available for tracer advection. Simple schemes include centered advection and upstream. MPAS-Ocean uses Flux Corrected Transport, which is fourth order under normal conditions, and reduces to third order to preserve monotonicity.
545
550
@@ -558,7 +563,8 @@ Note that the thickness advection is identical to the tracer advection when $\ph
558
563
559
564
More details of the tracer advection scheme will be given in a future design document.
560
565
561
-
#### 3.4.2. Del2 tracer diffusion
566
+
(352-del2-tracer-diffusion)=
567
+
#### 3.5.2 Del2 tracer diffusion
562
568
Tracer diffusion is applied with a Laplacian operator on the cell-centered tracer phi, and the product of the operator is also at the cell center. The Laplacian may be written as the divergence of the gradient,
and the stencils in Section 3.2 are used. Here $\kappa_2$ is the del2 diffusion coefficient, and the operator is thickness-weighted by $h_i$. The position of a gradient is assumed to be at an edge, and a divergence at the cell center. This could be written explicitly as
576
+
and the stencils in Section 3.3 are used. Here $\kappa_2$ is the del2 diffusion coefficient, and the operator is thickness-weighted by $h_i$. The position of a gradient is assumed to be at an edge, and a divergence at the cell center. This could be written explicitly as
0 commit comments