A DIabatic NeverwOrld2 in NEMO. This repository contains the source for the NEMO configurartion DINO.
DINO is solved on a sphere and discretized by a horizontally isotropic mercator grid. Therefore, the grid-spacing in latitudinal direction decreases towards the poles.
We compute longitude at T-points as $$ \begin{equation*} \lambda(i) = \lambda_{0} + \Delta \lambda * i \end{equation*} $$
where
where
The prognostic variables are staggered on an Arakawa C-grid.
Since this commit DINO has the option for a full step z* vertical coordinate. It follows exactly the same stretching function as the hybrid sigma-z coordinate, but assuming a flat bottom:
With
$$
\begin{align*}
a_0 &= \left( dz_{min} - \frac{H - h_{co}}{K - 1 - k_{const}}\right)/
\left(\tanh{\left(\frac{1 - k_{th}}{a_{cr}}\right)} - a_{cr} \cdot \frac{\ln{\left( \cosh{\left(\frac{K - k_{const} - k_{th}}{a_{cr}}\right)}\right)} - \ln{\left(\cosh{\left(\frac{1 - k_{th}}{a_{cr}}\right)}\right)}}{K - 1 - k_{const}}\right) \
a_1 &= dz_{min} - a_0 \cdot \tanh{\left(\frac{1 - k_{th}}{a_{cr}}\right)} \
a_2 &= -a_1 - a_0 \cdot a_{cr} \cdot \ln{\left(\cosh{\left(\frac{1 - k_{th}}{a_{cr}}\right)}\right)}
\end{align*}
$$
We compute the depth at T-points $$ z_t = a_2 + a_1 \cdot k_t + a_0 \cdot a_{cr} \cdot \ln{\left(\cosh{\left(\frac{k_w - k_{th}}{a_{cr}}\right)}\right)} + h_{co}, $$ where
and depth at W-points $$ z_w = a_2 + a_1 \cdot k_w + a_0 \cdot a_{cr} \cdot \ln{\left(\cosh{\left(\frac{k_t - k_{th}}{a_{cr}}\right)}\right)} + h_{co}, $$
where
This is done once for the top z-level using the parameters $$ \begin{align*} &H = 4000 &&: \text{Depth of the bottom [meters]} \ &dz_{min} = 10 &&: \text{Value of e3 at the connection point [meters]} \ &h_{co} = 0 &&: \text{Depth of the connection between z- and s-coordinat es [meters]} \ &k_{th} = 35 &&: \text{Position of the inflexion point} \ &k_{const} = 0 &&: \text{Index of last level with z-coordinates} \ &a_{cr} = 10.5 &&: \text{Slope of the tanh function}, \end{align*} $$
and then repeated for the bottom "sigma"-level with adapted diagnosed parameters
The vertical index
The domain is closed everywhere except a periodic re-entrant channel between DinoConfiguration.get_bathymetry()
and DinoConfiguration.add_gaussian_ring()
. In the following we show the resulting bathymetry for the standard configuration:
We follow the simplified EOS from Roquet et al. (2015)
where $$ \begin{align*} T_{a} &= T - 10°C \ S_{a} &= S - 35 , \text{g} , \text{kg}^{-1} \end{align*} $$
using the parameters:
We need to define surface boundary conditions for all prognostic variables, namely
Temperature
$$ T^{}(\phi) = T^{}{n/s} + \left( T^{*}{eq} - T^{*}_{n/s} \right) , \sin(\pi , \frac{\phi + \phi_n}{\phi_n - \phi_s}) $$
and
$$ S^{}(\phi) = S^{}{n/s} + \left( S^{*}{eq} - S^{*}_{n/s} \right) , \left(1 + \cos(\frac{2 , \pi , \phi }{\phi_n - \phi_s})\right) / 2 - 1.25 , e^{- \phi^{2} / 7.5^{2}} $$
where the subscript
$$ \begin{align*} &T^{}_{s} = -0.5°C, &&T^{}{n} = -5.0°C, &&T^{*}{eq} = 27.0°C \ &S^{}_{s} = 35.1 PSU, &&S^{}{n} = 35.0 PSU, &&S^{*}{eq} = 37.25 PSU \ \end{align*}. $$
The salinity restoring stays constant throughout the simulation, while a seasonal cosine of magnitude
Shortwave solar radiation is adapted from Caneill et al. 2022 and given by
where d is the day of the year controlling a seasonal cycle in the solar forcing.