Skip to content

Commit ba2f369

Browse files
authored
Merge pull request #296 from hyungyukang/omega/gov-eq-modification
Update OmegaV1GoverningEqns.md
2 parents 209776a + de82383 commit ba2f369

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

components/omega/doc/design/OmegaV1GoverningEqns.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Add later, if it seems necessary. There is a toc on the left bar.
1616

1717
This design document describes the governing equations for Omega, the Ocean Model for E3SM Global Applications. Overall, Omega is an unstructured-mesh ocean model based on TRiSK numerical methods ([Thuburn et al. 2009](https://www.sciencedirect.com/science/article/pii/S0021999109004434)) that is specifically designed for modern exascale computing architectures. The algorithms in Omega will be mostly identical to those in MPAS-Ocean, but it will be written in c++ rather than Fortran in order to take advantage of the Kokkos performance portability library to run on GPUs ([Trott et al. 2022](https://ieeexplore.ieee.org/document/9485033)). Significant differences between MPAS-Ocean and Omega are:
1818

19-
1. Omega is non-Boussinesq. This means that the full 3D density is used everywhere, and results in a mass-conserving model. MPAS-Ocean and POP were Boussinesq, so that a reference density $\rho_0$ is used in the pressure gradient term, and were therefore volume-conserving models. In Omega the layered mass-conservation equation is in terms of pressure-thickness ($h=\rho g \Delta z$). In MPAS-Ocean the simple thickness ($h=\Delta z$) is the prognostic volume variable (normalized by horizontal cell area).
19+
1. Omega is non-Boussinesq. This means that the full 3D density is used everywhere, and results in a mass-conserving model. MPAS-Ocean and POP were Boussinesq, so that a reference density $\rho_0$ is used in the pressure gradient term, and were therefore volume-conserving models. In Omega the layered mass-conservation equation is in terms of pseudo-thickness ($\tilde{h}=-\Delta p / \rho_0 g$). In MPAS-Ocean the simple thickness ($h=\Delta z$) is the prognostic volume variable (normalized by horizontal cell area).
2020
1. Omega will use the updated equation of state TEOS10, while MPAS-Ocean used the Jackett-McDougall equation of state.
2121

2222
The planned versions of Omega are:
@@ -173,7 +173,7 @@ $$
173173
was chosen for its practical advantages:
174174
- It ensures that $\tilde{z}$ varies identically to pressure.
175175
- Units of $\tilde{z}$, $\tilde{h}$, and $\tilde{w}$ are intuitive.
176-
- It aligns layer thickness with pressure thickness: $\tilde{h} = \Delta \tilde{z} \propto \Delta p$
176+
- It aligns layer thickness with pseudo-thickness: $\tilde{h} = \Delta \tilde{z} \propto \Delta p$
177177
- $\tilde{z}^{\text{floor}} \propto p^{\text{bot}}$, which aids barotropic pressure gradient calculation.
178178
179179
This makes $\tilde{z}$ a natural coordinate for a mass-conserving hydrostatic model.
@@ -322,8 +322,7 @@ $$
322322
&= \frac{1}{\rho_0 g} \left( p_{k}^{\text{bot}} - p_k^{\text{top}} \right)
323323
$$ (def-pseudo-thickness)
324324
325-
which is the mass per unit area in the layer, normalized by $\rho_0$. This pseudo-thickness and layer-averaging will be used to express conservation laws in a mass-weighted coordinate system. Pseudo-thickness, rather than geometric
326-
thickness will be the prognostic variable in Omega.
325+
which is the mass per unit area in the layer, normalized by $\rho_0$. This pseudo-thickness and layer-averaging will be used to express conservation laws in a mass-weighted coordinate system. Pseudo-thickness, rather than geometric thickness will be the prognostic variable in Omega.
327326
328327
The density-weighted average of any variable $\varphi({\bf x},t)$ in layer $k$ is
329328
@@ -732,7 +731,7 @@ $$
732731
& + \left[ {\bf k} \cdot \nabla \times u_{e,k} +f_v\right]_e\left(u_{e,k}^{\perp}\right) + \left[\nabla K\right]_e \\
733732
& + \frac{\rho_0}{\left[\tilde{h}_{i,k}\right]_e} \left\{ \left[\left(u - u_k\right) \left\{\tilde{W}_{tr} \right\} \right]_{e,k}^\text{top} - \left[ \left(u - u_k\right) \left\{\tilde{W}_{tr} \right\} \right]_{e,k+1}^\text{top} \right\} \\
734733
& = - \left(\nabla \Phi \right)_{e,k} - \frac{1}{\left[\tilde{h}_k\right]_e} \nabla \left( \tilde{h}_k \alpha_k p_k \right) - \frac{1}{\left[\tilde{h}_k\right]_e} \left\{ \left[ \alpha p \nabla \tilde{z}^{\text{top}}\right]_{e,k}^\text{top} - \left[ \alpha p \nabla \tilde{z}^{\text{bot}}\right]_{e,k+1}^\text{top} \right\} \\
735-
& - \frac{1}{\left[\tilde{h}_{i,k}\right]_e} \nabla \cdot \left( \tilde{h}_k \left< {\bf u}^\prime \otimes {\bf u}^\prime \right>_k \right) - \frac{\rho_0}{\left[\tilde{h}_{i,k}\right]_e^\text{top}} \left\{ \left[ \left<\mathbf{u}^\prime \tilde{w}_{tr}^\prime \right> - \left< \mathbf{u}^\prime \tilde{ u}^\prime \right> \right]_{e,k}^\text{top} - \left[ \left<\mathbf{u}^\prime \tilde{w}_{tr}^\prime \right> - \left< \mathbf{u}^\prime \tilde{ u}^\prime \right> \right]_{e,k+1} \right\}.
734+
& - \frac{1}{\left[\tilde{h}_{i,k}\right]_e} \nabla \cdot \left( \tilde{h}_k \left< {\bf u}^\prime \otimes {\bf u}^\prime \right>_k \right) - \frac{\rho_0}{\left[\tilde{h}_{i,k}\right]_e^\text{top}} \left\{ \left[ \left<\mathbf{u}^\prime \tilde{w}_{tr}^\prime \right> - \left< \mathbf{u}^\prime \tilde{ u}^\prime \right> \right]_{e,k}^\text{top} - \left[ \left<\mathbf{u}^\prime \tilde{w}_{tr}^\prime \right> - \left< \mathbf{u}^\prime \tilde{ u}^\prime \right> \right]_{e,k+1}^\text{top} \right\}.
736735
$$ (discrete-momentum)
737736
738737
**Diagnostic Relations:**
@@ -746,7 +745,7 @@ $$
746745
$$ (discrete-eos)
747746
748747
$$
749-
z_{i,k}^{top} = z_{i}^{floor} + \sum_{k'=k}^{K_{max}} \alpha_{i,k'}h_{i,k'}
748+
z_{i,k}^{top} = z_{i}^{floor} + \rho_0 \sum_{k'=k}^{K_{max}} \alpha_{i,k'} \tilde{h}_{i,k'}
750749
$$ (discrete-z)
751750
752751
We refer to these as the discrete equations, but time derivatives remain continuous. The time discretization is described in the [time stepping design document](TimeStepping.md). The velocity, mass-thickness, and tracers are solved prognostically using [](discrete-momentum), [](discrete-mass), [](discrete-tracer). At the new time, these variables are used to compute pressure [](discrete-pressure), specific volume [](discrete-eos), and z-locations [](discrete-z). Additional variables are computed diagnostically at the new time: $\mathbf{u}^{\perp}$, $K$, $\zeta_a$, $z^{mid}$, $\Phi$, etc. The initial geopotential is simply $\Phi=gz$, but additional gravitational terms may be added later.
@@ -1025,7 +1024,7 @@ Table 1. Definition of variables. Geometric variables may be found in the {ref}`
10251024
|$f_v$ | Coriolis parameter| 1/s | vertex | FVertex | $f = 2\Omega sin(\phi)$, $\Omega$ rotation rate, $\phi$ latitude|
10261025
|$f_{eos}$ | equation of state | - | any | function call | |
10271026
|$g$ | gravitational acceleration | m/s$^2$ | constant | Gravity |
1028-
|$\tilde{h}_{i,k}$ | layer mass-thickness | kg/m$^2$ | cell | LayerThickness | |
1027+
|$\tilde{h}_{i,k}$ | pseudo-thickness | m | cell | PseudoThickness | |
10291028
|$k$ | vertical index | |
10301029
|${\bf k}$ | vertical unit vector | |
10311030
|$K_{min}$ | shallowest active layer | |

0 commit comments

Comments
 (0)