[707] | 1 | % ================================================================ |
---|
| 2 | % Chapter Ñ Ocean Dynamics (DYN) |
---|
| 3 | % ================================================================ |
---|
| 4 | \chapter{Ocean Dynamics (DYN)} |
---|
| 5 | \label{DYN} |
---|
| 6 | \minitoc |
---|
| 7 | |
---|
| 8 | % add a figure for dynvor ens, ene latices |
---|
| 9 | |
---|
[1224] | 10 | %\vspace{2.cm} |
---|
[707] | 11 | $\ $\newline %force an empty line |
---|
| 12 | |
---|
[2282] | 13 | Using the representation described in Chapter \ref{DOM}, several semi-discrete |
---|
[817] | 14 | space forms of the dynamical equations are available depending on the vertical |
---|
| 15 | coordinate used and on the conservation properties of the vorticity term. In all |
---|
| 16 | the equations presented here, the masking has been omitted for simplicity. |
---|
[2282] | 17 | One must be aware that all the quantities are masked fields and that each time an |
---|
[817] | 18 | average or difference operator is used, the resulting field is multiplied by a mask. |
---|
[707] | 19 | |
---|
| 20 | The prognostic ocean dynamics equation can be summarized as follows: |
---|
| 21 | \begin{equation*} |
---|
| 22 | \text{NXT} = \dbinom {\text{VOR} + \text{KEG} + \text {ZAD} } |
---|
| 23 | {\text{COR} + \text{ADV} } |
---|
| 24 | + \text{HPG} + \text{SPG} + \text{LDF} + \text{ZDF} |
---|
| 25 | \end{equation*} |
---|
[817] | 26 | NXT stands for next, referring to the time-stepping. The first group of terms on |
---|
[2285] | 27 | the rhs of this equation corresponds to the Coriolis and advection |
---|
| 28 | terms that are decomposed into either a vorticity part (VOR), a kinetic energy part (KEG) |
---|
| 29 | and a vertical advection part (ZAD) in the vector invariant formulation, or a Coriolis |
---|
[2282] | 30 | and advection part (COR+ADV) in the flux formulation. The terms following these |
---|
[817] | 31 | are the pressure gradient contributions (HPG, Hydrostatic Pressure Gradient, |
---|
| 32 | and SPG, Surface Pressure Gradient); and contributions from lateral diffusion |
---|
| 33 | (LDF) and vertical diffusion (ZDF), which are added to the rhs in the \mdl{dynldf} |
---|
| 34 | and \mdl{dynzdf} modules. The vertical diffusion term includes the surface and |
---|
| 35 | bottom stresses. The external forcings and parameterisations require complex |
---|
| 36 | inputs (surface wind stress calculation using bulk formulae, estimation of mixing |
---|
| 37 | coefficients) that are carried out in modules SBC, LDF and ZDF and are described |
---|
| 38 | in Chapters \ref{SBC}, \ref{LDF} and \ref{ZDF}, respectively. |
---|
[707] | 39 | |
---|
[817] | 40 | In the present chapter we also describe the diagnostic equations used to compute |
---|
[2282] | 41 | the horizontal divergence, curl of the velocities (\emph{divcur} module) and |
---|
| 42 | the vertical velocity (\emph{wzvmod} module). |
---|
[707] | 43 | |
---|
[817] | 44 | The different options available to the user are managed by namelist variables. |
---|
[2282] | 45 | For term \textit{ttt} in the momentum equations, the logical namelist variables are \textit{ln\_dynttt\_xxx}, |
---|
[817] | 46 | where \textit{xxx} is a 3 or 4 letter acronym corresponding to each optional scheme. |
---|
| 47 | If a CPP key is used for this term its name is \textbf{key\_ttt}. The corresponding |
---|
| 48 | code can be found in the \textit{dynttt\_xxx} module in the DYN directory, and it is |
---|
| 49 | usually computed in the \textit{dyn\_ttt\_xxx} subroutine. |
---|
[707] | 50 | |
---|
[2282] | 51 | The user has the option of extracting and outputting each tendency term from the |
---|
| 52 | 3D momentum equations (\key{trddyn} defined), as described in |
---|
| 53 | Chap.\ref{MISC}. Furthermore, the tendency terms associated with the 2D |
---|
| 54 | barotropic vorticity balance (when \key{trdvor} is defined) can be derived from the |
---|
[817] | 55 | 3D terms. |
---|
| 56 | %%% |
---|
[996] | 57 | \gmcomment{STEVEN: not quite sure I've got the sense of the last sentence. does |
---|
| 58 | MISC correspond to "extracting tendency terms" or "vorticity balance"?} |
---|
[707] | 59 | |
---|
[1224] | 60 | $\ $\newline % force a new ligne |
---|
[2282] | 61 | |
---|
[707] | 62 | % ================================================================ |
---|
[2282] | 63 | % Sea Surface Height evolution & Diagnostics variables |
---|
| 64 | % ================================================================ |
---|
| 65 | \section{Sea surface height and diagnostic variables ($\eta$, $\zeta$, $\chi$, $w$)} |
---|
| 66 | \label{DYN_divcur_wzv} |
---|
| 67 | |
---|
| 68 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 69 | % Horizontal divergence and relative vorticity |
---|
| 70 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 71 | \subsection [Horizontal divergence and relative vorticity (\textit{divcur})] |
---|
| 72 | {Horizontal divergence and relative vorticity (\mdl{divcur})} |
---|
| 73 | \label{DYN_divcur} |
---|
| 74 | |
---|
| 75 | The vorticity is defined at an $f$-point ($i.e.$ corner point) as follows: |
---|
| 76 | \begin{equation} \label{Eq_divcur_cur} |
---|
| 77 | \zeta =\frac{1}{e_{1f}\,e_{2f} }\left( {\;\delta _{i+1/2} \left[ {e_{2v}\;v} \right] |
---|
| 78 | -\delta _{j+1/2} \left[ {e_{1u}\;u} \right]\;} \right) |
---|
| 79 | \end{equation} |
---|
| 80 | |
---|
| 81 | The horizontal divergence is defined at a $T$-point. It is given by: |
---|
| 82 | \begin{equation} \label{Eq_divcur_div} |
---|
| 83 | \chi =\frac{1}{e_{1t}\,e_{2t}\,e_{3t} } |
---|
| 84 | \left( {\delta _i \left[ {e_{2u}\,e_{3u}\,u} \right] |
---|
| 85 | +\delta _j \left[ {e_{1v}\,e_{3v}\,v} \right]} \right) |
---|
| 86 | \end{equation} |
---|
| 87 | |
---|
[2285] | 88 | Note that although the vorticity has the same discrete expression in $z$- |
---|
[2282] | 89 | and $s$-coordinates, its physical meaning is not identical. $\zeta$ is a pseudo |
---|
| 90 | vorticity along $s$-surfaces (only pseudo because $(u,v)$ are still defined along |
---|
| 91 | geopotential surfaces, but are not necessarily defined at the same depth). |
---|
| 92 | |
---|
| 93 | The vorticity and divergence at the \textit{before} step are used in the computation |
---|
| 94 | of the horizontal diffusion of momentum. Note that because they have been |
---|
| 95 | calculated prior to the Asselin filtering of the \textit{before} velocities, the |
---|
| 96 | \textit{before} vorticity and divergence arrays must be included in the restart file |
---|
| 97 | to ensure perfect restartability. The vorticity and divergence at the \textit{now} |
---|
| 98 | time step are used for the computation of the nonlinear advection and of the |
---|
| 99 | vertical velocity respectively. |
---|
| 100 | |
---|
| 101 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 102 | % Sea Surface Height evolution |
---|
| 103 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 104 | \subsection [Sea surface height evolution and vertical velocity (\textit{sshwzv})] |
---|
| 105 | {Horizontal divergence and relative vorticity (\mdl{sshwzv})} |
---|
| 106 | \label{DYN_sshwzv} |
---|
| 107 | |
---|
| 108 | The sea surface height is given by : |
---|
| 109 | \begin{equation} \label{Eq_dynspg_ssh} |
---|
| 110 | \begin{aligned} |
---|
| 111 | \frac{\partial \eta }{\partial t} |
---|
[2285] | 112 | &\equiv \frac{1}{e_{1t} e_{2t} }\sum\limits_k { \left\{ \delta _i \left[ {e_{2u}\,e_{3u}\;u} \right] |
---|
| 113 | +\delta _j \left[ {e_{1v}\,e_{3v}\;v} \right] \right\} } |
---|
[2282] | 114 | - \frac{\textit{emp}}{\rho _w } \\ |
---|
| 115 | &\equiv \sum\limits_k {\chi \ e_{3t}} - \frac{\textit{emp}}{\rho _w } |
---|
| 116 | \end{aligned} |
---|
| 117 | \end{equation} |
---|
| 118 | where \textit{emp} is the surface freshwater budget (evaporation minus precipitation), |
---|
[2285] | 119 | expressed in Kg/m$^2$/s (which is equal to mm/s), and $\rho _w$=1,035~Kg/m$^3$ |
---|
| 120 | is the reference density of sea water (Boussinesq approximation). If river runoff is |
---|
| 121 | expressed as a surface freshwater flux (see \S\ref{SBC}) then \textit{emp} can be |
---|
| 122 | written as the evaporation minus precipitation, minus the river runoff. |
---|
| 123 | The sea-surface height is evaluated using exactly the same time stepping scheme |
---|
| 124 | as the tracer equation \eqref{Eq_tra_nxt}: |
---|
[2282] | 125 | a leapfrog scheme in combination with an Asselin time filter, $i.e.$ the velocity appearing |
---|
| 126 | in \eqref{Eq_dynspg_ssh} is centred in time (\textit{now} velocity). |
---|
| 127 | This is of paramount importance. Replacing $T$ by the number $1$ in the tracer equation and summing |
---|
| 128 | over the water column must lead to the sea surface height equation otherwise tracer content |
---|
| 129 | will not be conserved \ref{Griffies_al_MWR01, LeclairMadec2009}. |
---|
| 130 | |
---|
| 131 | The vertical velocity is computed by an upward integration of the horizontal |
---|
| 132 | divergence starting at the bottom, taking into account the change of the thickness of the levels : |
---|
| 133 | \begin{equation} \label{Eq_wzv} |
---|
| 134 | \left\{ \begin{aligned} |
---|
[2285] | 135 | &\left. w \right|_{k_b-1/2} \quad= 0 \qquad \text{where } k_b \text{ is the level just above the sea floor } \\ |
---|
| 136 | &\left. w \right|_{k+1/2} = \left. w \right|_{k-1/2} + \left. e_{3t} \right|_{k}\; \left. \chi \right|_k |
---|
| 137 | - \frac{1} {2 \rdt} \left( \left. e_{3t}^{t+1}\right|_{k} - \left. e_{3t}^{t-1}\right|_{k}\right) |
---|
[2282] | 138 | \end{aligned} \right. |
---|
| 139 | \end{equation} |
---|
| 140 | |
---|
| 141 | In the case of a non-linear free surface (\key{vvl}), the top vertical velocity is $-\textit{emp}/\rho_w$, |
---|
| 142 | as changes in the divergence of the barotropic transport are absorbed into the change |
---|
| 143 | of the level thicknesses, re-orientated downward. |
---|
[2285] | 144 | \gmcomment{not sure of this... to be modified with the change in emp setting} |
---|
[2282] | 145 | In the case of a linear free surface, the time derivative in \eqref{Eq_wzv} disappears. |
---|
| 146 | The upper boundary condition applies at a fixed level $z=0$. The top vertical velocity |
---|
| 147 | is thus equal to the divergence of the barotropic transport ($i.e.$ the first term in the |
---|
| 148 | right-hand-side of \eqref{Eq_dynspg_ssh}). |
---|
| 149 | |
---|
| 150 | Note also that whereas the vertical velocity has the same discrete |
---|
| 151 | expression in $z$- and $s$-coordinates, its physical meaning is not the same: |
---|
| 152 | in the second case, $w$ is the velocity normal to the $s$-surfaces. |
---|
| 153 | Note also that the $k$-axis is re-orientated downwards in the \textsc{fortran} code compared |
---|
| 154 | to the indexing used in the semi-discrete equations such as \eqref{Eq_wzv} |
---|
| 155 | (see \S\ref{DOM_Num_Index_vertical}). |
---|
| 156 | |
---|
| 157 | |
---|
| 158 | % ================================================================ |
---|
[707] | 159 | % Coriolis and Advection terms: vector invariant form |
---|
| 160 | % ================================================================ |
---|
| 161 | \section{Coriolis and Advection: vector invariant form} |
---|
| 162 | \label{DYN_adv_cor_vect} |
---|
| 163 | %-----------------------------------------nam_dynadv---------------------------------------------------- |
---|
[2282] | 164 | \namdisplay{namdyn_adv} |
---|
[707] | 165 | %------------------------------------------------------------------------------------------------------------- |
---|
| 166 | |
---|
[817] | 167 | The vector invariant form of the momentum equations is the one most |
---|
[2282] | 168 | often used in applications of the \NEMO ocean model. The flux form option |
---|
| 169 | (see next section) has been present since version $2$. |
---|
[1224] | 170 | Coriolis and momentum advection terms are evaluated using a leapfrog |
---|
| 171 | scheme, $i.e.$ the velocity appearing in these expressions is centred in |
---|
| 172 | time (\textit{now} velocity). |
---|
[817] | 173 | At the lateral boundaries either free slip, no slip or partial slip boundary |
---|
| 174 | conditions are applied following Chap.\ref{LBC}. |
---|
[707] | 175 | |
---|
| 176 | % ------------------------------------------------------------------------------------------------------------- |
---|
| 177 | % Vorticity term |
---|
| 178 | % ------------------------------------------------------------------------------------------------------------- |
---|
[817] | 179 | \subsection [Vorticity term (\textit{dynvor}) ] |
---|
| 180 | {Vorticity term (\mdl{dynvor})} |
---|
[707] | 181 | \label{DYN_vor} |
---|
| 182 | %------------------------------------------nam_dynvor---------------------------------------------------- |
---|
[2282] | 183 | \namdisplay{namdyn_vor} |
---|
[707] | 184 | %------------------------------------------------------------------------------------------------------------- |
---|
| 185 | |
---|
[2282] | 186 | Four discretisations of the vorticity term (\textit{ln\_dynvor\_xxx}=true) are available: |
---|
| 187 | conserving potential enstrophy of horizontally non-divergent flow (ENS scheme) ; |
---|
| 188 | conserving horizontal kinetic energy (ENE scheme) ; conserving potential enstrophy for |
---|
| 189 | the relative vorticity term and horizontal kinetic energy for the planetary vorticity |
---|
| 190 | term (MIX scheme) ; or conserving both the potential enstrophy of horizontally non-divergent |
---|
| 191 | flow and horizontal kinetic energy (ENE scheme) (see Appendix~\ref{Apdx_C_vor_zad}). |
---|
[2285] | 192 | The vorticity terms are all computed in dedicated routines that can be found in |
---|
[2282] | 193 | the \mdl{dynvor} module. |
---|
[707] | 194 | |
---|
| 195 | %------------------------------------------------------------- |
---|
| 196 | % enstrophy conserving scheme |
---|
| 197 | %------------------------------------------------------------- |
---|
[2282] | 198 | \subsubsection{Enstrophy conserving scheme (\np{ln\_dynvor\_ens}=true)} |
---|
[707] | 199 | \label{DYN_vor_ens} |
---|
| 200 | |
---|
[817] | 201 | In the enstrophy conserving case (ENS scheme), the discrete formulation of the |
---|
| 202 | vorticity term provides a global conservation of the enstrophy |
---|
| 203 | ($ [ (\zeta +f ) / e_{3f} ]^2 $ in $s$-coordinates) for a horizontally non-divergent |
---|
[2282] | 204 | flow ($i.e.$ $\chi$=$0$), but does not conserve the total kinetic energy. It is given by: |
---|
[707] | 205 | \begin{equation} \label{Eq_dynvor_ens} |
---|
| 206 | \left\{ |
---|
| 207 | \begin{aligned} |
---|
[1224] | 208 | {+\frac{1}{e_{1u} } } & {\overline {\left( { \frac{\zeta +f}{e_{3f} }} \right)} }^{\,i} |
---|
[2282] | 209 | & {\overline{\overline {\left( {e_{1v}\,e_{3v}\;v} \right)}} }^{\,i, j+1/2} \\ |
---|
[1224] | 210 | {- \frac{1}{e_{2v} } } & {\overline {\left( {\frac{\zeta +f}{e_{3f} }} \right)} }^{\,j} |
---|
[2282] | 211 | & {\overline{\overline {\left( {e_{2u}\,e_{3u}\;u} \right)}} }^{\,i+1/2, j} |
---|
[707] | 212 | \end{aligned} |
---|
| 213 | \right. |
---|
| 214 | \end{equation} |
---|
| 215 | |
---|
| 216 | %------------------------------------------------------------- |
---|
| 217 | % energy conserving scheme |
---|
| 218 | %------------------------------------------------------------- |
---|
[2282] | 219 | \subsubsection{Energy conserving scheme (\np{ln\_dynvor\_ene}=true)} |
---|
[707] | 220 | \label{DYN_vor_ene} |
---|
| 221 | |
---|
[817] | 222 | The kinetic energy conserving scheme (ENE scheme) conserves the global |
---|
| 223 | kinetic energy but not the global enstrophy. It is given by: |
---|
[707] | 224 | \begin{equation} \label{Eq_dynvor_ene} |
---|
[1224] | 225 | \left\{ \begin{aligned} |
---|
| 226 | {+\frac{1}{e_{1u}}\; {\overline {\left( {\frac{\zeta +f}{e_{3f} }} \right) |
---|
[2282] | 227 | \; \overline {\left( {e_{1v}\,e_{3v}\;v} \right)} ^{\,i+1/2}} }^{\,j} } \\ |
---|
[1224] | 228 | {- \frac{1}{e_{2v}}\; {\overline {\left( {\frac{\zeta +f}{e_{3f} }} \right) |
---|
[2282] | 229 | \; \overline {\left( {e_{2u}\,e_{3u}\;u} \right)} ^{\,j+1/2}} }^{\,i} } |
---|
[1224] | 230 | \end{aligned} \right. |
---|
[707] | 231 | \end{equation} |
---|
| 232 | |
---|
| 233 | %------------------------------------------------------------- |
---|
| 234 | % mix energy/enstrophy conserving scheme |
---|
| 235 | %------------------------------------------------------------- |
---|
[2282] | 236 | \subsubsection{Mixed energy/enstrophy conserving scheme (\np{ln\_dynvor\_mix}=true) } |
---|
[707] | 237 | \label{DYN_vor_mix} |
---|
| 238 | |
---|
[2282] | 239 | For the mixed energy/enstrophy conserving scheme (MIX scheme), a mixture of the |
---|
[817] | 240 | two previous schemes is used. It consists of the ENS scheme (\ref{Eq_dynvor_ens}) |
---|
[2282] | 241 | for the relative vorticity term, and of the ENE scheme (\ref{Eq_dynvor_ene}) applied |
---|
[817] | 242 | to the planetary vorticity term. |
---|
[707] | 243 | \begin{equation} \label{Eq_dynvor_mix} |
---|
[2282] | 244 | \left\{ { \begin{aligned} |
---|
[994] | 245 | {+\frac{1}{e_{1u} }\; {\overline {\left( {\frac{\zeta }{e_{3f} }} \right)} }^{\,i} |
---|
[2282] | 246 | \; {\overline{\overline {\left( {e_{1v}\,e_{3v}\;v} \right)}} }^{\,i,j+1/2} -\frac{1}{e_{1u} } |
---|
[707] | 247 | \; {\overline {\left( {\frac{f}{e_{3f} }} \right) |
---|
[2282] | 248 | \;\overline {\left( {e_{1v}\,e_{3v}\;v} \right)} ^{\,i+1/2}} }^{\,j} } \\ |
---|
[994] | 249 | {-\frac{1}{e_{2v} }\; {\overline {\left( {\frac{\zeta }{e_{3f} }} \right)} }^j |
---|
[2282] | 250 | \; {\overline{\overline {\left( {e_{2u}\,e_{3u}\;u} \right)}} }^{\,i+1/2,j} +\frac{1}{e_{2v} } |
---|
[707] | 251 | \; {\overline {\left( {\frac{f}{e_{3f} }} \right) |
---|
[2282] | 252 | \;\overline {\left( {e_{2u}\,e_{3u}\;u} \right)} ^{\,j+1/2}} }^{\,i} } \hfill |
---|
| 253 | \end{aligned} } \right. |
---|
[707] | 254 | \end{equation} |
---|
| 255 | |
---|
| 256 | %------------------------------------------------------------- |
---|
| 257 | % energy and enstrophy conserving scheme |
---|
| 258 | %------------------------------------------------------------- |
---|
[2282] | 259 | \subsubsection{Energy and enstrophy conserving scheme (\np{ln\_dynvor\_een}=true) } |
---|
[707] | 260 | \label{DYN_vor_een} |
---|
| 261 | |
---|
[2282] | 262 | In both the ENS and ENE schemes, it is apparent that the combination of $i$ and $j$ |
---|
| 263 | averages of the velocity allows for the presence of grid point oscillation structures |
---|
| 264 | that will be invisible to the operator. These structures are \textit{computational modes} |
---|
| 265 | that will be at least partly damped by the momentum diffusion operator ($i.e.$ the |
---|
| 266 | subgrid-scale advection), but not by the resolved advection term. The ENS and ENE schemes |
---|
[2285] | 267 | therefore do not contribute to dump any grid point noise in the horizontal velocity field. |
---|
| 268 | Such noise would result in more noise in the vertical velocity field, an undesirable feature. |
---|
| 269 | This is a well-known characteristic of $C$-grid discretization where $u$ and $v$ are located |
---|
| 270 | at different grid points, a price worth paying to avoid a double averaging in the pressure |
---|
| 271 | gradient term as in the $B$-grid. |
---|
[2282] | 272 | \gmcomment{ To circumvent this, Adcroft (ADD REF HERE) |
---|
| 273 | Nevertheless, this technique strongly distort the phase and group velocity of Rossby waves....} |
---|
| 274 | |
---|
[2285] | 275 | A very nice solution to the problem of double averaging was proposed by \citet{Arakawa_Hsu_MWR90}. |
---|
| 276 | The idea is to get rid of the double averaging by considering triad combinations of vorticity. |
---|
[2282] | 277 | It is noteworthy that this solution is conceptually quite similar to the one proposed by |
---|
[2285] | 278 | \citep{Griffies_al_JPO98} for the discretization of the iso-neutral diffusion operator (see App.\ref{Apdx_C}). |
---|
[2282] | 279 | |
---|
| 280 | The \citet{Arakawa_Hsu_MWR90} vorticity advection scheme for a single layer is modified |
---|
| 281 | for spherical coordinates as described by \citet{Arakawa_Lamb_MWR81} to obtain the EEN scheme. |
---|
| 282 | First consider the discrete expression of the potential vorticity, $q$, defined at an $f$-point: |
---|
[707] | 283 | \begin{equation} \label{Eq_pot_vor} |
---|
[2282] | 284 | q = \frac{\zeta +f} {e_{3f} } |
---|
[707] | 285 | \end{equation} |
---|
[817] | 286 | where the relative vorticity is defined by (\ref{Eq_divcur_cur}), the Coriolis parameter |
---|
| 287 | is given by $f=2 \,\Omega \;\sin \varphi _f $ and the layer thickness at $f$-points is: |
---|
[707] | 288 | \begin{equation} \label{Eq_een_e3f} |
---|
| 289 | e_{3f} = \overline{\overline {e_{3t} }} ^{\,i+1/2,j+1/2} |
---|
| 290 | \end{equation} |
---|
| 291 | |
---|
| 292 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
[2376] | 293 | \begin{figure}[!ht] \begin{center} |
---|
[998] | 294 | \includegraphics[width=0.70\textwidth]{./TexFiles/Figures/Fig_DYN_een_triad.pdf} |
---|
[2376] | 295 | \caption{ \label{Fig_DYN_een_triad} |
---|
| 296 | Triads used in the energy and enstrophy conserving scheme (een) for |
---|
[817] | 297 | $u$-component (upper panel) and $v$-component (lower panel).} |
---|
[2376] | 298 | \end{center} \end{figure} |
---|
[707] | 299 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
| 300 | |
---|
[2282] | 301 | Note that a key point in \eqref{Eq_een_e3f} is that the averaging in the \textbf{i}- and |
---|
[817] | 302 | \textbf{j}- directions uses the masked vertical scale factor but is always divided by |
---|
[2282] | 303 | $4$, not by the sum of the masks at the four $T$-points. This preserves the continuity of |
---|
| 304 | $e_{3f}$ when one or more of the neighbouring $e_{3t}$ tends to zero and |
---|
| 305 | extends by continuity the value of $e_{3f}$ into the land areas. This feature is essential for |
---|
| 306 | the $z$-coordinate with partial steps. |
---|
[707] | 307 | |
---|
[2282] | 308 | Next, the vorticity triads, $ {^i_j}\mathbb{Q}^{i_p}_{j_p}$ can be defined at a $T$-point as |
---|
| 309 | the following triad combinations of the neighbouring potential vorticities defined at f-points |
---|
| 310 | (Fig.~\ref{Fig_DYN_een_triad}): |
---|
| 311 | \begin{equation} \label{Q_triads} |
---|
| 312 | _i^j \mathbb{Q}^{i_p}_{j_p} |
---|
| 313 | = \frac{1}{12} \ \left( q^{i-i_p}_{j+j_p} + q^{i+j_p}_{j+i_p} + q^{i+i_p}_{j-j_p} \right) |
---|
| 314 | \end{equation} |
---|
| 315 | where the indices $i_p$ and $k_p$ take the values: $i_p = -1/2$ or $1/2$ and $j_p = -1/2$ or $1/2$. |
---|
| 316 | |
---|
| 317 | Finally, the vorticity terms are represented as: |
---|
[707] | 318 | \begin{equation} \label{Eq_dynvor_een} |
---|
| 319 | \left\{ { |
---|
| 320 | \begin{aligned} |
---|
[2282] | 321 | +q\,e_3 \, v &\equiv +\frac{1}{e_{1u} } \sum_{\substack{i_p,\,k_p}} |
---|
| 322 | {^{i+1/2-i_p}_j} \mathbb{Q}^{i_p}_{j_p} \left( e_{1v}\,e_{3v} \;v \right)^{i+1/2-i_p}_{j+j_p} \\ |
---|
| 323 | - q\,e_3 \, u &\equiv -\frac{1}{e_{2v} } \sum_{\substack{i_p,\,k_p}} |
---|
| 324 | {^i_{j+1/2-j_p}} \mathbb{Q}^{i_p}_{j_p} \left( e_{2u}\,e_{3u} \;u \right)^{i+i_p}_{j+1/2-j_p} \\ |
---|
[707] | 325 | \end{aligned} |
---|
| 326 | } \right. |
---|
| 327 | \end{equation} |
---|
| 328 | |
---|
[2282] | 329 | This EEN scheme in fact combines the conservation properties of the ENS and ENE schemes. |
---|
| 330 | It conserves both total energy and potential enstrophy in the limit of horizontally |
---|
| 331 | nondivergent flow ($i.e.$ $\chi$=$0$) (see Appendix~\ref{Apdx_C_vor_zad}). |
---|
[2285] | 332 | Applied to a realistic ocean configuration, it has been shown that it leads to a significant |
---|
| 333 | reduction of the noise in the vertical velocity field \citep{Le_Sommer_al_OM09}. |
---|
[2282] | 334 | Furthermore, used in combination with a partial steps representation of bottom topography, |
---|
| 335 | it improves the interaction between current and topography, leading to a larger |
---|
| 336 | topostrophy of the flow \citep{Barnier_al_OD06, Penduff_al_OS07}. |
---|
| 337 | |
---|
[707] | 338 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 339 | % Kinetic Energy Gradient term |
---|
| 340 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 341 | \subsection [Kinetic Energy Gradient term (\textit{dynkeg})] |
---|
| 342 | {Kinetic Energy Gradient term (\mdl{dynkeg})} |
---|
[707] | 343 | \label{DYN_keg} |
---|
| 344 | |
---|
[2282] | 345 | As demonstrated in Appendix~\ref{Apdx_C}, there is a single discrete formulation |
---|
[817] | 346 | of the kinetic energy gradient term that, together with the formulation chosen for |
---|
| 347 | the vertical advection (see below), conserves the total kinetic energy: |
---|
[707] | 348 | \begin{equation} \label{Eq_dynkeg} |
---|
| 349 | \left\{ \begin{aligned} |
---|
[2282] | 350 | -\frac{1}{2 \; e_{1u} } & \ \delta _{i+1/2} \left[ {\overline {u^2}^{\,i} + \overline{v^2}^{\,j}} \right] \\ |
---|
| 351 | -\frac{1}{2 \; e_{2v} } & \ \delta _{j+1/2} \left[ {\overline {u^2}^{\,i} + \overline{v^2}^{\,j}} \right] |
---|
[707] | 352 | \end{aligned} \right. |
---|
| 353 | \end{equation} |
---|
| 354 | |
---|
| 355 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 356 | % Vertical advection term |
---|
| 357 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 358 | \subsection [Vertical advection term (\textit{dynzad}) ] |
---|
| 359 | {Vertical advection term (\mdl{dynzad}) } |
---|
[707] | 360 | \label{DYN_zad} |
---|
| 361 | |
---|
[817] | 362 | The discrete formulation of the vertical advection, together with the formulation |
---|
| 363 | chosen for the gradient of kinetic energy (KE) term, conserves the total kinetic |
---|
| 364 | energy. Indeed, the change of KE due to the vertical advection is exactly |
---|
| 365 | balanced by the change of KE due to the gradient of KE (see Appendix~\ref{Apdx_C}). |
---|
[707] | 366 | \begin{equation} \label{Eq_dynzad} |
---|
| 367 | \left\{ \begin{aligned} |
---|
[2282] | 368 | -\frac{1} {e_{1u}\,e_{2u}\,e_{3u}} &\ \overline{\ \overline{ e_{1t}\,e_{2t}\;w } ^{\,i+1/2} \;\delta _{k+1/2} \left[ u \right]\ }^{\,k} \\ |
---|
| 369 | -\frac{1} {e_{1v}\,e_{2v}\,e_{3v}} &\ \overline{\ \overline{ e_{1t}\,e_{2t}\;w } ^{\,j+1/2} \;\delta _{k+1/2} \left[ u \right]\ }^{\,k} |
---|
| 370 | \end{aligned} \right. |
---|
[707] | 371 | \end{equation} |
---|
| 372 | |
---|
| 373 | % ================================================================ |
---|
| 374 | % Coriolis and Advection : flux form |
---|
| 375 | % ================================================================ |
---|
| 376 | \section{Coriolis and Advection: flux form} |
---|
| 377 | \label{DYN_adv_cor_flux} |
---|
| 378 | %------------------------------------------nam_dynadv---------------------------------------------------- |
---|
[2282] | 379 | \namdisplay{namdyn_adv} |
---|
[707] | 380 | %------------------------------------------------------------------------------------------------------------- |
---|
| 381 | |
---|
[817] | 382 | In the flux form (as in the vector invariant form), the Coriolis and momentum |
---|
| 383 | advection terms are evaluated using a leapfrog scheme, $i.e.$ the velocity |
---|
| 384 | appearing in their expressions is centred in time (\textit{now} velocity). At the |
---|
| 385 | lateral boundaries either free slip, no slip or partial slip boundary conditions |
---|
| 386 | are applied following Chap.\ref{LBC}. |
---|
[707] | 387 | |
---|
| 388 | |
---|
| 389 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 390 | % Coriolis plus curvature metric terms |
---|
| 391 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 392 | \subsection [Coriolis plus curvature metric terms (\textit{dynvor}) ] |
---|
| 393 | {Coriolis plus curvature metric terms (\mdl{dynvor}) } |
---|
[707] | 394 | \label{DYN_cor_flux} |
---|
| 395 | |
---|
[817] | 396 | In flux form, the vorticity term reduces to a Coriolis term in which the Coriolis |
---|
| 397 | parameter has been modified to account for the "metric" term. This altered |
---|
| 398 | Coriolis parameter is thus discretised at $f$-points. It is given by: |
---|
[707] | 399 | \begin{multline} \label{Eq_dyncor_metric} |
---|
| 400 | f+\frac{1}{e_1 e_2 }\left( {v\frac{\partial e_2 }{\partial i} - u\frac{\partial e_1 }{\partial j}} \right) \\ |
---|
[2282] | 401 | \equiv f + \frac{1}{e_{1f} e_{2f} } \left( { \ \overline v ^{i+1/2}\delta _{i+1/2} \left[ {e_{2u} } \right] |
---|
| 402 | - \overline u ^{j+1/2}\delta _{j+1/2} \left[ {e_{1u} } \right] } \ \right) |
---|
[707] | 403 | \end{multline} |
---|
| 404 | |
---|
[817] | 405 | Any of the (\ref{Eq_dynvor_ens}), (\ref{Eq_dynvor_ene}) and (\ref{Eq_dynvor_een}) |
---|
| 406 | schemes can be used to compute the product of the Coriolis parameter and the |
---|
| 407 | vorticity. However, the energy-conserving scheme (\ref{Eq_dynvor_een}) has |
---|
| 408 | exclusively been used to date. This term is evaluated using a leapfrog scheme, |
---|
| 409 | $i.e.$ the velocity is centred in time (\textit{now} velocity). |
---|
[707] | 410 | |
---|
| 411 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 412 | % Flux form Advection term |
---|
| 413 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 414 | \subsection [Flux form Advection term (\textit{dynadv}) ] |
---|
| 415 | {Flux form Advection term (\mdl{dynadv}) } |
---|
[707] | 416 | \label{DYN_adv_flux} |
---|
| 417 | |
---|
| 418 | The discrete expression of the advection term is given by : |
---|
| 419 | \begin{equation} \label{Eq_dynadv} |
---|
| 420 | \left\{ |
---|
| 421 | \begin{aligned} |
---|
| 422 | \frac{1}{e_{1u}\,e_{2u}\,e_{3u}} |
---|
[2282] | 423 | \left( \delta _{i+1/2} \left[ \overline{e_{2u}\,e_{3u}\;u }^{i } \ u_t \right] |
---|
| 424 | + \delta _{j } \left[ \overline{e_{1u}\,e_{3u}\;v }^{i+1/2} \ u_f \right] \right. \ \; \\ |
---|
| 425 | \left. + \delta _{k } \left[ \overline{e_{1w}\,e_{2w}\;w}^{i+1/2} \ u_{uw} \right] \right) \\ |
---|
[707] | 426 | \\ |
---|
| 427 | \frac{1}{e_{1v}\,e_{2v}\,e_{3v}} |
---|
[2282] | 428 | \left( \delta _{i } \left[ \overline{e_{2u}\,e_{3u }\;u }^{j+1/2} \ v_f \right] |
---|
| 429 | + \delta _{j+1/2} \left[ \overline{e_{1u}\,e_{3u }\;v }^{i } \ v_t \right] \right. \ \, \, \\ |
---|
| 430 | \left. + \delta _{k } \left[ \overline{e_{1w}\,e_{2w}\;w}^{j+1/2} \ v_{vw} \right] \right) \\ |
---|
[707] | 431 | \end{aligned} |
---|
| 432 | \right. |
---|
| 433 | \end{equation} |
---|
| 434 | |
---|
[817] | 435 | Two advection schemes are available: a $2^{nd}$ order centered finite |
---|
| 436 | difference scheme, CEN2, or a $3^{rd}$ order upstream biased scheme, UBS. |
---|
[2282] | 437 | The latter is described in \citet{Shchepetkin_McWilliams_OM05}. The schemes are |
---|
| 438 | selected using the namelist logicals \np{ln\_dynadv\_cen2} and \np{ln\_dynadv\_ubs}. |
---|
| 439 | In flux form, the schemes differ by the choice of a space and time interpolation to |
---|
[817] | 440 | define the value of $u$ and $v$ at the centre of each face of $u$- and $v$-cells, |
---|
| 441 | $i.e.$ at the $T$-, $f$-, and $uw$-points for $u$ and at the $f$-, $T$- and |
---|
| 442 | $vw$-points for $v$. |
---|
[707] | 443 | |
---|
| 444 | %------------------------------------------------------------- |
---|
| 445 | % 2nd order centred scheme |
---|
| 446 | %------------------------------------------------------------- |
---|
[2282] | 447 | \subsubsection{$2^{nd}$ order centred scheme (cen2) (\np{ln\_dynadv\_cen2}=true)} |
---|
[707] | 448 | \label{DYN_adv_cen2} |
---|
| 449 | |
---|
| 450 | In the centered $2^{nd}$ order formulation, the velocity is evaluated as the |
---|
| 451 | mean of the two neighbouring points : |
---|
| 452 | \begin{equation} \label{Eq_dynadv_cen2} |
---|
| 453 | \left\{ \begin{aligned} |
---|
[2282] | 454 | u_T^{cen2} &=\overline u^{i } \quad & u_F^{cen2} &=\overline u^{j+1/2} \quad & u_{uw}^{cen2} &=\overline u^{k+1/2} \\ |
---|
| 455 | v_F^{cen2} &=\overline v ^{i+1/2} \quad & v_F^{cen2} &=\overline v^j \quad & v_{vw}^{cen2} &=\overline v ^{k+1/2} \\ |
---|
| 456 | \end{aligned} \right. |
---|
[707] | 457 | \end{equation} |
---|
| 458 | |
---|
[817] | 459 | The scheme is non diffusive (i.e. conserves the kinetic energy) but dispersive |
---|
[1224] | 460 | ($i.e.$ it may create false extrema). It is therefore notoriously noisy and must be |
---|
| 461 | used in conjunction with an explicit diffusion operator to produce a sensible solution. |
---|
| 462 | The associated time-stepping is performed using a leapfrog scheme in conjunction |
---|
| 463 | with an Asselin time-filter, so $u$ and $v$ are the \emph{now} velocities. |
---|
[707] | 464 | |
---|
| 465 | %------------------------------------------------------------- |
---|
| 466 | % UBS scheme |
---|
| 467 | %------------------------------------------------------------- |
---|
[2282] | 468 | \subsubsection{Upstream Biased Scheme (UBS) (\np{ln\_dynadv\_ubs}=true)} |
---|
[707] | 469 | \label{DYN_adv_ubs} |
---|
| 470 | |
---|
| 471 | The UBS advection scheme is an upstream biased third order scheme based on |
---|
| 472 | an upstream-biased parabolic interpolation. For example, the evaluation of |
---|
| 473 | $u_T^{ubs} $ is done as follows: |
---|
| 474 | \begin{equation} \label{Eq_dynadv_ubs} |
---|
| 475 | u_T^{ubs} =\overline u ^i-\;\frac{1}{6} \begin{cases} |
---|
| 476 | u"_{i-1/2}& \text{if $\ \overline{e_{2u}\,e_{3u} \ u}^i \geqslant 0$ } \\ |
---|
| 477 | u"_{i+1/2}& \text{if $\ \overline{e_{2u}\,e_{3u} \ u}^i < 0$ } |
---|
| 478 | \end{cases} |
---|
| 479 | \end{equation} |
---|
[817] | 480 | where $u"_{i+1/2} =\delta _{i+1/2} \left[ {\delta _i \left[ u \right]} \right]$. This results |
---|
[2282] | 481 | in a dissipatively dominant ($i.e.$ hyper-diffusive) truncation error \citep{Shchepetkin_McWilliams_OM05}. |
---|
[817] | 482 | The overall performance of the advection scheme is similar to that reported in |
---|
| 483 | \citet{Farrow1995}. It is a relatively good compromise between accuracy and |
---|
| 484 | smoothness. It is not a \emph{positive} scheme, meaning that false extrema are |
---|
| 485 | permitted. But the amplitudes of the false extrema are significantly reduced over |
---|
[2282] | 486 | those in the centred second order method. As the scheme already includes |
---|
| 487 | a diffusion component, it can be used without explicit lateral diffusion on momentum |
---|
| 488 | ($i.e.$ \np{ln\_dynldf\_lap}=\np{ln\_dynldf\_bilap}=false), and it is recommended to do so. |
---|
[707] | 489 | |
---|
[817] | 490 | The UBS scheme is not used in all directions. In the vertical, the centred $2^{nd}$ |
---|
| 491 | order evaluation of the advection is preferred, $i.e.$ $u_{uw}^{ubs}$ and |
---|
| 492 | $u_{vw}^{ubs}$ in \eqref{Eq_dynadv_cen2} are used. UBS is diffusive and is |
---|
| 493 | associated with vertical mixing of momentum. \gmcomment{ gm pursue the |
---|
| 494 | sentence:Since vertical mixing of momentum is a source term of the TKE equation... } |
---|
[707] | 495 | |
---|
[817] | 496 | For stability reasons, the first term in (\ref{Eq_dynadv_ubs}), which corresponds |
---|
| 497 | to a second order centred scheme, is evaluated using the \textit{now} velocity |
---|
[2282] | 498 | (centred in time), while the second term, which is the diffusion part of the scheme, |
---|
[817] | 499 | is evaluated using the \textit{before} velocity (forward in time). This is discussed |
---|
[2282] | 500 | by \citet{Webb_al_JAOT98} in the context of the Quick advection scheme. |
---|
[707] | 501 | |
---|
[2282] | 502 | Note that the UBS and QUICK (Quadratic Upstream Interpolation for Convective Kinematics) |
---|
| 503 | schemes only differ by one coefficient. Replacing $1/6$ by $1/8$ in |
---|
| 504 | (\ref{Eq_dynadv_ubs}) leads to the QUICK advection scheme \citep{Webb_al_JAOT98}. |
---|
[817] | 505 | This option is not available through a namelist parameter, since the $1/6$ coefficient |
---|
[2282] | 506 | is hard coded. Nevertheless it is quite easy to make the substitution in the |
---|
[817] | 507 | \mdl{dynadv\_ubs} module and obtain a QUICK scheme. |
---|
[707] | 508 | |
---|
[817] | 509 | Note also that in the current version of \mdl{dynadv\_ubs}, there is also the |
---|
| 510 | possibility of using a $4^{th}$ order evaluation of the advective velocity as in |
---|
| 511 | ROMS. This is an error and should be suppressed soon. |
---|
| 512 | %%% |
---|
| 513 | \gmcomment{action : this have to be done} |
---|
| 514 | %%% |
---|
[707] | 515 | |
---|
| 516 | % ================================================================ |
---|
| 517 | % Hydrostatic pressure gradient term |
---|
| 518 | % ================================================================ |
---|
[817] | 519 | \section [Hydrostatic pressure gradient (\textit{dynhpg})] |
---|
| 520 | {Hydrostatic pressure gradient (\mdl{dynhpg})} |
---|
[707] | 521 | \label{DYN_hpg} |
---|
| 522 | %------------------------------------------nam_dynhpg--------------------------------------------------- |
---|
[2282] | 523 | \namdisplay{namdyn_hpg} |
---|
[707] | 524 | %------------------------------------------------------------------------------------------------------------- |
---|
| 525 | |
---|
[817] | 526 | The key distinction between the different algorithms used for the hydrostatic |
---|
| 527 | pressure gradient is the vertical coordinate used, since HPG is a \emph{horizontal} |
---|
| 528 | pressure gradient, $i.e.$ computed along geopotential surfaces. As a result, any |
---|
| 529 | tilt of the surface of the computational levels will require a specific treatment to |
---|
| 530 | compute the hydrostatic pressure gradient. |
---|
[707] | 531 | |
---|
[817] | 532 | The hydrostatic pressure gradient term is evaluated either using a leapfrog scheme, |
---|
[2282] | 533 | $i.e.$ the density appearing in its expression is centred in time (\emph{now} $\rho$), or |
---|
[817] | 534 | a semi-implcit scheme. At the lateral boundaries either free slip, no slip or partial slip |
---|
| 535 | boundary conditions are applied. |
---|
[707] | 536 | |
---|
| 537 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 538 | % z-coordinate with full step |
---|
| 539 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 540 | \subsection [$z$-coordinate with full step (\np{ln\_dynhpg\_zco}) ] |
---|
[2282] | 541 | {$z$-coordinate with full step (\np{ln\_dynhpg\_zco}=true)} |
---|
[707] | 542 | \label{DYN_hpg_zco} |
---|
| 543 | |
---|
[817] | 544 | The hydrostatic pressure can be obtained by integrating the hydrostatic equation |
---|
| 545 | vertically from the surface. However, the pressure is large at great depth while its |
---|
| 546 | horizontal gradient is several orders of magnitude smaller. This may lead to large |
---|
| 547 | truncation errors in the pressure gradient terms. Thus, the two horizontal components |
---|
| 548 | of the hydrostatic pressure gradient are computed directly as follows: |
---|
[707] | 549 | |
---|
| 550 | for $k=km$ (surface layer, $jk=1$ in the code) |
---|
| 551 | \begin{equation} \label{Eq_dynhpg_zco_surf} |
---|
| 552 | \left\{ \begin{aligned} |
---|
| 553 | \left. \delta _{i+1/2} \left[ p^h \right] \right|_{k=km} |
---|
| 554 | &= \frac{1}{2} g \ \left. \delta _{i+1/2} \left[ e_{3w} \ \rho \right] \right|_{k=km} \\ |
---|
| 555 | \left. \delta _{j+1/2} \left[ p^h \right] \right|_{k=km} |
---|
| 556 | &= \frac{1}{2} g \ \left. \delta _{j+1/2} \left[ e_{3w} \ \rho \right] \right|_{k=km} \\ |
---|
| 557 | \end{aligned} \right. |
---|
| 558 | \end{equation} |
---|
| 559 | |
---|
| 560 | for $1<k<km$ (interior layer) |
---|
| 561 | \begin{equation} \label{Eq_dynhpg_zco} |
---|
| 562 | \left\{ \begin{aligned} |
---|
| 563 | \left. \delta _{i+1/2} \left[ p^h \right] \right|_{k} |
---|
| 564 | &= \left. \delta _{i+1/2} \left[ p^h \right] \right|_{k-1} |
---|
| 565 | + \frac{1}{2}\;g\; \left. \delta _{i+1/2} \left[ e_{3w} \ \overline {\rho}^{k+1/2} \right] \right|_{k} \\ |
---|
| 566 | \left. \delta _{j+1/2} \left[ p^h \right] \right|_{k} |
---|
| 567 | &= \left. \delta _{j+1/2} \left[ p^h \right] \right|_{k-1} |
---|
| 568 | + \frac{1}{2}\;g\; \left. \delta _{j+1/2} \left[ e_{3w} \ \overline {\rho}^{k+1/2} \right] \right|_{k} \\ |
---|
| 569 | \end{aligned} \right. |
---|
| 570 | \end{equation} |
---|
| 571 | |
---|
[817] | 572 | Note that the $1/2$ factor in (\ref{Eq_dynhpg_zco_surf}) is adequate because of |
---|
| 573 | the definition of $e_{3w}$ as the vertical derivative of the scale factor at the surface |
---|
[2282] | 574 | level ($z=0$). Note also that in case of variable volume level (\key{vvl} defined), the |
---|
| 575 | surface pressure gradient is included in \eqref{Eq_dynhpg_zco_surf} and \eqref{Eq_dynhpg_zco} |
---|
| 576 | through the space and time variations of the vertical scale factor $e_{3w}$. |
---|
[707] | 577 | |
---|
| 578 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 579 | % z-coordinate with partial step |
---|
| 580 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 581 | \subsection [$z$-coordinate with partial step (\np{ln\_dynhpg\_zps})] |
---|
[2282] | 582 | {$z$-coordinate with partial step (\np{ln\_dynhpg\_zps}=true)} |
---|
[707] | 583 | \label{DYN_hpg_zps} |
---|
| 584 | |
---|
[817] | 585 | With partial bottom cells, tracers in horizontally adjacent cells generally live at |
---|
| 586 | different depths. Before taking horizontal gradients between these tracer points, |
---|
| 587 | a linear interpolation is used to approximate the deeper tracer as if it actually lived |
---|
| 588 | at the depth of the shallower tracer point. |
---|
[707] | 589 | |
---|
[817] | 590 | Apart from this modification, the horizontal hydrostatic pressure gradient evaluated |
---|
| 591 | in the $z$-coordinate with partial step is exactly as in the pure $z$-coordinate case. |
---|
| 592 | As explained in detail in section \S\ref{TRA_zpshde}, the nonlinearity of pressure |
---|
| 593 | effects in the equation of state is such that it is better to interpolate temperature and |
---|
| 594 | salinity vertically before computing the density. Horizontal gradients of temperature |
---|
| 595 | and salinity are needed for the TRA modules, which is the reason why the horizontal |
---|
| 596 | gradients of density at the deepest model level are computed in module \mdl{zpsdhe} |
---|
| 597 | located in the TRA directory and described in \S\ref{TRA_zpshde}. |
---|
[707] | 598 | |
---|
| 599 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 600 | % s- and s-z-coordinates |
---|
| 601 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 602 | \subsection{$s$- and $z$-$s$-coordinates} |
---|
[707] | 603 | \label{DYN_hpg_sco} |
---|
| 604 | |
---|
[2282] | 605 | Pressure gradient formulations in an $s$-coordinate have been the subject of a vast |
---|
| 606 | number of papers ($e.g.$, \citet{Song1998, Shchepetkin_McWilliams_OM05}). |
---|
| 607 | A number of different pressure gradient options are coded, but they are not yet fully |
---|
| 608 | documented or tested. |
---|
[707] | 609 | |
---|
[2282] | 610 | $\bullet$ Traditional coding (see for example \citet{Madec_al_JPO96}: (\np{ln\_dynhpg\_sco}=true, |
---|
| 611 | \np{ln\_dynhpg\_hel}=true) |
---|
[707] | 612 | \begin{equation} \label{Eq_dynhpg_sco} |
---|
| 613 | \left\{ \begin{aligned} |
---|
[817] | 614 | - \frac{1} {\rho_o \, e_{1u}} \; \delta _{i+1/2} \left[ p^h \right] |
---|
[2282] | 615 | + \frac{g\; \overline {\rho}^{i+1/2}} {\rho_o \, e_{1u}} \; \delta _{i+1/2} \left[ z_t \right] \\ |
---|
[817] | 616 | - \frac{1} {\rho_o \, e_{2v}} \; \delta _{j+1/2} \left[ p^h \right] |
---|
[2282] | 617 | + \frac{g\; \overline {\rho}^{j+1/2}} {\rho_o \, e_{2v}} \; \delta _{j+1/2} \left[ z_t \right] \\ |
---|
[707] | 618 | \end{aligned} \right. |
---|
| 619 | \end{equation} |
---|
| 620 | |
---|
[817] | 621 | Where the first term is the pressure gradient along coordinates, computed as in |
---|
| 622 | \eqref{Eq_dynhpg_zco_surf} - \eqref{Eq_dynhpg_zco}, and $z_T$ is the depth of |
---|
| 623 | the $T$-point evaluated from the sum of the vertical scale factors at the $w$-point |
---|
[2282] | 624 | ($e_{3w}$). The version \np{ln\_dynhpg\_hel}=true has been added by Aike |
---|
[817] | 625 | Beckmann and involves a redefinition of the relative position of $T$-points relative |
---|
| 626 | to $w$-points. |
---|
[707] | 627 | |
---|
[2282] | 628 | $\bullet$ Weighted density Jacobian (WDJ) \citep{Song1998} (\np{ln\_dynhpg\_wdj}=true) |
---|
[707] | 629 | |
---|
[2282] | 630 | $\bullet$ Density Jacobian with cubic polynomial scheme (DJC) \citep{Shchepetkin_McWilliams_OM05} |
---|
| 631 | (\np{ln\_dynhpg\_djc}=true) |
---|
[707] | 632 | |
---|
[2282] | 633 | $\bullet$ Rotated axes scheme (rot) \citep{Thiem_Berntsen_OM06} (\np{ln\_dynhpg\_rot}=true) |
---|
[707] | 634 | |
---|
[817] | 635 | Note that expression \eqref{Eq_dynhpg_sco} is used when the variable volume |
---|
| 636 | formulation is activated (\key{vvl}) because in that case, even with a flat bottom, |
---|
| 637 | the coordinate surfaces are not horizontal but follow the free surface |
---|
| 638 | \citep{Levier2007}. The other pressure gradient options are not yet available. |
---|
[707] | 639 | |
---|
| 640 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 641 | % Time-scheme |
---|
| 642 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 643 | \subsection [Time-scheme (\np{ln\_dynhpg\_imp}) ] |
---|
[2282] | 644 | {Time-scheme (\np{ln\_dynhpg\_imp}= true/false)} |
---|
[707] | 645 | \label{DYN_hpg_imp} |
---|
| 646 | |
---|
[817] | 647 | The default time differencing scheme used for the horizontal pressure gradient is |
---|
| 648 | a leapfrog scheme and therefore the density used in all discrete expressions given |
---|
| 649 | above is the \textit{now} density, computed from the \textit{now} temperature and |
---|
| 650 | salinity. In some specific cases (usually high resolution simulations over an ocean |
---|
[2282] | 651 | domain which includes weakly stratified regions) the physical phenomenon that |
---|
[817] | 652 | controls the time-step is internal gravity waves (IGWs). A semi-implicit scheme for |
---|
[2282] | 653 | doubling the stability limit associated with IGWs can be used \citep{Brown_Campana_MWR78, |
---|
[817] | 654 | Maltrud1998}. It involves the evaluation of the hydrostatic pressure gradient as an |
---|
[2282] | 655 | average over the three time levels $t-\rdt$, $t$, and $t+\rdt$ ($i.e.$ |
---|
| 656 | \textit{before}, \textit{now} and \textit{after} time-steps), rather than at the central |
---|
[817] | 657 | time level $t$ only, as in the standard leapfrog scheme. |
---|
[707] | 658 | |
---|
[2282] | 659 | $\bullet$ leapfrog scheme (\np{ln\_dynhpg\_imp}=true): |
---|
[707] | 660 | |
---|
| 661 | \begin{equation} \label{Eq_dynhpg_lf} |
---|
[2282] | 662 | \frac{u^{t+\rdt}-u^{t-\rdt}}{2\rdt} = \;\cdots \; |
---|
| 663 | -\frac{1}{\rho _o \,e_{1u} }\delta _{i+1/2} \left[ {p_h^t } \right] |
---|
[707] | 664 | \end{equation} |
---|
| 665 | |
---|
[2282] | 666 | $\bullet$ semi-implicit scheme (\np{ln\_dynhpg\_imp}=true): |
---|
[707] | 667 | \begin{equation} \label{Eq_dynhpg_imp} |
---|
[2282] | 668 | \frac{u^{t+\rdt}-u^{t-\rdt}}{2\rdt} = \;\cdots \; |
---|
| 669 | -\frac{1}{4\,\rho _o \,e_{1u} } \delta_{i+1/2} \left[ p_h^{t+\rdt} +2\,p_h^t +p_h^{t-\rdt} \right] |
---|
[707] | 670 | \end{equation} |
---|
| 671 | |
---|
[817] | 672 | The semi-implicit time scheme \eqref{Eq_dynhpg_imp} is made possible without |
---|
| 673 | significant additional computation since the density can be updated to time level |
---|
[2282] | 674 | $t+\rdt$ before computing the horizontal hydrostatic pressure gradient. It can |
---|
[817] | 675 | be easily shown that the stability limit associated with the hydrostatic pressure |
---|
| 676 | gradient doubles using \eqref{Eq_dynhpg_imp} compared to that using the |
---|
| 677 | standard leapfrog scheme \eqref{Eq_dynhpg_lf}. Note that \eqref{Eq_dynhpg_imp} |
---|
| 678 | is equivalent to applying a time filter to the pressure gradient to eliminate high |
---|
| 679 | frequency IGWs. Obviously, when using \eqref{Eq_dynhpg_imp}, the doubling of |
---|
| 680 | the time-step is achievable only if no other factors control the time-step, such as |
---|
| 681 | the stability limits associated with advection or diffusion. |
---|
[707] | 682 | |
---|
[2282] | 683 | In practice, the semi-implicit scheme is used when \np{ln\_dynhpg\_imp}=true. |
---|
[817] | 684 | In this case, we choose to apply the time filter to temperature and salinity used in |
---|
| 685 | the equation of state, instead of applying it to the hydrostatic pressure or to the |
---|
| 686 | density, so that no additional storage array has to be defined. The density used to |
---|
| 687 | compute the hydrostatic pressure gradient (whatever the formulation) is evaluated |
---|
| 688 | as follows: |
---|
[707] | 689 | \begin{equation} \label{Eq_rho_flt} |
---|
[2282] | 690 | \rho^t = \rho( \widetilde{T},\widetilde {S},z_t) |
---|
[707] | 691 | \quad \text{with} \quad |
---|
[2282] | 692 | \widetilde{X} = 1 / 4 \left( X^{t+\rdt} +2 \,X^t + X^{t-\rdt} \right) |
---|
[707] | 693 | \end{equation} |
---|
| 694 | |
---|
[817] | 695 | Note that in the semi-implicit case, it is necessary to save the filtered density, an |
---|
| 696 | extra three-dimensional field, in the restart file to restart the model with exact |
---|
[2282] | 697 | reproducibility. This option is controlled by \np{nn\_dynhpg\_rst}, a namelist parameter. |
---|
[707] | 698 | |
---|
| 699 | % ================================================================ |
---|
| 700 | % Surface Pressure Gradient |
---|
| 701 | % ================================================================ |
---|
[817] | 702 | \section [Surface pressure gradient (\textit{dynspg}) ] |
---|
| 703 | {Surface pressure gradient (\mdl{dynspg})} |
---|
[2282] | 704 | \label{DYN_spg} |
---|
[707] | 705 | %-----------------------------------------nam_dynspg---------------------------------------------------- |
---|
[2282] | 706 | \namdisplay{namdyn_spg} |
---|
[707] | 707 | %------------------------------------------------------------------------------------------------------------ |
---|
| 708 | |
---|
[2282] | 709 | $\ $\newline %force an empty line |
---|
[817] | 710 | |
---|
[2282] | 711 | %%% |
---|
| 712 | The surface pressure gradient term is related to the representation of the free surface (\S\ref{PE_hor_pg}). The main distinction is between the fixed volume case (linear free surface) and the variable volume case (nonlinear free surface, \key{vvl} is defined). In the linear free surface case (\S\ref{PE_free_surface}) the vertical scale factors $e_{3}$ are fixed in time, while they are time-dependent in the nonlinear case (\S\ref{PE_free_surface}). With both linear and nonlinear free surface, external gravity waves are allowed in the equations, which imposes a very small time step when an explicit time stepping is used. Two methods are proposed to allow a longer time step for the three-dimensional equations: the filtered free surface, which is a modification of the continuous equations (see \eqref{Eq_PE_flt}), and the split-explicit free surface described below. The extra term introduced in the filtered method is calculated implicitly, so that the update of the next velocities is done in module \mdl{dynspg\_flt} and not in \mdl{dynnxt}. |
---|
| 713 | |
---|
| 714 | %%% |
---|
| 715 | |
---|
| 716 | |
---|
| 717 | The form of the surface pressure gradient term depends on how the user wants to handle |
---|
| 718 | the fast external gravity waves that are a solution of the analytical equation (\S\ref{PE_hor_pg}). |
---|
| 719 | Three formulations are available, all controlled by a CPP key (ln\_dynspg\_xxx): |
---|
| 720 | an explicit formulation which requires a small time step ; |
---|
| 721 | a filtered free surface formulation which allows a larger time step by adding a filtering |
---|
| 722 | term into the momentum equation ; |
---|
| 723 | and a split-explicit free surface formulation, described below, which also allows a larger time step. |
---|
| 724 | |
---|
| 725 | The extra term introduced in the filtered method is calculated |
---|
| 726 | implicitly, so that a solver is used to compute it. As a consequence the update of the $next$ |
---|
| 727 | velocities is done in module \mdl{dynspg\_flt} and not in \mdl{dynnxt}. |
---|
| 728 | |
---|
| 729 | |
---|
| 730 | |
---|
[707] | 731 | %-------------------------------------------------------------------------------------------------------------- |
---|
[2282] | 732 | % Explicit free surface formulation |
---|
[707] | 733 | %-------------------------------------------------------------------------------------------------------------- |
---|
[2282] | 734 | \subsection{Explicit free surface (\key{dynspg\_exp})} |
---|
[707] | 735 | \label{DYN_spg_exp} |
---|
| 736 | |
---|
[2282] | 737 | In the explicit free surface formulation (\key{dynspg\_exp} defined), the model time step |
---|
| 738 | is chosen to be small enough to resolve the external gravity waves (typically a few tens of seconds). |
---|
| 739 | The surface pressure gradient, evaluated using a leap-frog scheme ($i.e.$ centered in time), |
---|
| 740 | is thus simply given by : |
---|
[707] | 741 | \begin{equation} \label{Eq_dynspg_exp} |
---|
| 742 | \left\{ \begin{aligned} |
---|
[2282] | 743 | - \frac{1}{e_{1u}\,\rho_o} \; \delta _{i+1/2} \left[ \,\rho \,\eta\, \right] \\ |
---|
| 744 | - \frac{1}{e_{2v}\,\rho_o} \; \delta _{j+1/2} \left[ \,\rho \,\eta\, \right] |
---|
[707] | 745 | \end{aligned} \right. |
---|
| 746 | \end{equation} |
---|
| 747 | |
---|
[2282] | 748 | Note that in the non-linear free surface case ($i.e.$ \key{vvl} defined), the surface pressure |
---|
| 749 | gradient is already included in the momentum tendency through the level thickness variation |
---|
| 750 | allowed in the computation of the hydrostatic pressure gradient. Thus, nothing is done in the \mdl{dynspg\_exp} module. |
---|
[707] | 751 | |
---|
[2282] | 752 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 753 | % Split-explict free surface formulation |
---|
| 754 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 755 | \subsection{Split-Explicit free surface (\key{dynspg\_ts})} |
---|
[707] | 756 | \label{DYN_spg_ts} |
---|
| 757 | |
---|
[2282] | 758 | The split-explicit free surface formulation used in \NEMO (\key{dynspg\_ts} defined), |
---|
| 759 | also called the time-splitting formulation, follows the one |
---|
| 760 | proposed by \citet{Griffies_Bk04}. The general idea is to solve the free surface |
---|
| 761 | equation and the associated barotropic velocity equations with a smaller time |
---|
| 762 | step than $\rdt$, the time step used for the three dimensional prognostic |
---|
[2349] | 763 | variables (Fig.~\ref{Fig_DYN_dynspg_ts}). |
---|
| 764 | The size of the small time step, $\rdt_e$ (the external mode or barotropic time step) |
---|
[2282] | 765 | is provided through the \np{nn\_baro} namelist parameter as: |
---|
[2349] | 766 | $\rdt_e = \rdt / nn\_baro$. |
---|
[2282] | 767 | |
---|
[817] | 768 | |
---|
[707] | 769 | %> > > > > > > > > > > > > > > > > > > > > > > > > > > > |
---|
[2376] | 770 | \begin{figure}[!t] \begin{center} |
---|
[998] | 771 | \includegraphics[width=0.90\textwidth]{./TexFiles/Figures/Fig_DYN_dynspg_ts.pdf} |
---|
[2376] | 772 | \caption{ \label{Fig_DYN_dynspg_ts} |
---|
| 773 | Schematic of the split-explicit time stepping scheme for the external |
---|
[994] | 774 | and internal modes. Time increases to the right. |
---|
| 775 | Internal mode time steps (which are also the model time steps) are denoted |
---|
[2282] | 776 | by $t-\rdt$, $t, t+\rdt$, and $t+2\rdt$. |
---|
[994] | 777 | The curved line represents a leap-frog time step, and the smaller time |
---|
[2282] | 778 | steps $N \rdt_e=\frac{3}{2}\rdt$ are denoted by the zig-zag line. |
---|
[1224] | 779 | The vertically integrated forcing \textbf{M}(t) computed at the model time step $t$ |
---|
[994] | 780 | represents the interaction between the external and internal motions. |
---|
[1224] | 781 | While keeping \textbf{M} and freshwater forcing field fixed, a leap-frog |
---|
| 782 | integration carries the external mode variables (surface height and vertically |
---|
[2282] | 783 | integrated velocity) from $t$ to $t+\frac{3}{2} \rdt$ using N external time |
---|
| 784 | steps of length $\rdt_e$. Time averaging the external fields over the |
---|
[1224] | 785 | $\frac{2}{3}N+1$ time steps (endpoints included) centers the vertically integrated |
---|
[2282] | 786 | velocity and the sea surface height at the model timestep $t+\rdt$. |
---|
[1224] | 787 | These averaged values are used to update \textbf{M}(t) with both the surface |
---|
[2282] | 788 | pressure gradient and the Coriolis force, therefore providing the $t+\rdt$ |
---|
[1224] | 789 | velocity. The model time stepping scheme can then be achieved by a baroclinic |
---|
[2282] | 790 | leap-frog time step that carries the surface height from $t-\rdt$ to $t+\rdt$. } |
---|
[2376] | 791 | \end{center} \end{figure} |
---|
[707] | 792 | %> > > > > > > > > > > > > > > > > > > > > > > > > > > > |
---|
| 793 | |
---|
[817] | 794 | The split-explicit formulation has a damping effect on external gravity waves, |
---|
[2282] | 795 | which is weaker damping than that for the filtered free surface but still significant, as |
---|
[817] | 796 | shown by \citet{Levier2007} in the case of an analytical barotropic Kelvin wave. |
---|
[707] | 797 | |
---|
[2282] | 798 | %>>>>>=============== |
---|
| 799 | \gmcomment{ %%% copy from griffies Book |
---|
[707] | 800 | |
---|
[2282] | 801 | \textbf{title: Time stepping the barotropic system } |
---|
[707] | 802 | |
---|
[2282] | 803 | Assume knowledge of the full velocity and tracer fields at baroclinic time $\tau$. Hence, |
---|
| 804 | we can update the surface height and vertically integrated velocity with a leap-frog |
---|
| 805 | scheme using the small barotropic time step $\rdt$. We have |
---|
[707] | 806 | |
---|
[2282] | 807 | \begin{equation} \label{DYN_spg_ts_eta} |
---|
| 808 | \eta^{(b)}(\tau,t_{n+1}) - \eta^{(b)}(\tau,t_{n+1}) (\tau,t_{n-1}) |
---|
| 809 | = 2 \rdt \left[-\nabla \cdot \textbf{U}^{(b)}(\tau,t_n) + \text{EMP}_w(\tau) \right] |
---|
| 810 | \end{equation} |
---|
| 811 | \begin{multline} \label{DYN_spg_ts_u} |
---|
| 812 | \textbf{U}^{(b)}(\tau,t_{n+1}) - \textbf{U}^{(b)}(\tau,t_{n-1}) \\ |
---|
| 813 | = 2\rdt \left[ - f \textbf{k} \times \textbf{U}^{(b)}(\tau,t_{n}) |
---|
| 814 | - H(\tau) \nabla p_s^{(b)}(\tau,t_{n}) +\textbf{M}(\tau) \right] |
---|
| 815 | \end{multline} |
---|
| 816 | \ |
---|
[707] | 817 | |
---|
[2282] | 818 | In these equations, araised (b) denotes values of surface height and vertically integrated velocity updated with the barotropic time steps. The $\tau$ time label on $\eta^{(b)}$ |
---|
| 819 | and $U^{(b)}$ denotes the baroclinic time at which the vertically integrated forcing $\textbf{M}(\tau)$ (note that this forcing includes the surface freshwater forcing), the tracer fields, the freshwater flux $\text{EMP}_w(\tau)$, and total depth of the ocean $H(\tau)$ are held for the duration of the barotropic time stepping over a single cycle. This is also the time |
---|
| 820 | that sets the barotropic time steps via |
---|
| 821 | \begin{equation} \label{DYN_spg_ts_t} |
---|
| 822 | t_n=\tau+n\rdt |
---|
| 823 | \end{equation} |
---|
| 824 | with $n$ an integer. The density scaled surface pressure is evaluated via |
---|
| 825 | \begin{equation} \label{DYN_spg_ts_ps} |
---|
| 826 | p_s^{(b)}(\tau,t_{n}) = \begin{cases} |
---|
| 827 | g \;\eta_s^{(b)}(\tau,t_{n}) \;\rho(\tau)_{k=1}) / \rho_o & \text{non-linear case} \\ |
---|
| 828 | g \;\eta_s^{(b)}(\tau,t_{n}) & \text{linear case} |
---|
| 829 | \end{cases} |
---|
| 830 | \end{equation} |
---|
| 831 | To get started, we assume the following initial conditions |
---|
| 832 | \begin{equation} \label{DYN_spg_ts_eta} |
---|
| 833 | \begin{split} |
---|
| 834 | \eta^{(b)}(\tau,t_{n=0}) &= \overline{\eta^{(b)}(\tau)} |
---|
| 835 | \\ |
---|
| 836 | \eta^{(b)}(\tau,t_{n=1}) &= \eta^{(b)}(\tau,t_{n=0}) + \rdt \ \text{RHS}_{n=0} |
---|
| 837 | \end{split} |
---|
| 838 | \end{equation} |
---|
| 839 | with |
---|
| 840 | \begin{equation} \label{DYN_spg_ts_etaF} |
---|
| 841 | \overline{\eta^{(b)}(\tau)} = \frac{1}{N+1} \sum\limits_{n=0}^N \eta^{(b)}(\tau-\rdt,t_{n}) |
---|
| 842 | \end{equation} |
---|
| 843 | the time averaged surface height taken from the previous barotropic cycle. Likewise, |
---|
| 844 | \begin{equation} \label{DYN_spg_ts_u} |
---|
| 845 | \textbf{U}^{(b)}(\tau,t_{n=0}) = \overline{\textbf{U}^{(b)}(\tau)} \\ |
---|
| 846 | \\ |
---|
| 847 | \textbf{U}(\tau,t_{n=1}) = \textbf{U}^{(b)}(\tau,t_{n=0}) + \rdt \ \text{RHS}_{n=0} |
---|
| 848 | \end{equation} |
---|
| 849 | with |
---|
| 850 | \begin{equation} \label{DYN_spg_ts_u} |
---|
| 851 | \overline{\textbf{U}^{(b)}(\tau)} |
---|
| 852 | = \frac{1}{N+1} \sum\limits_{n=0}^N\textbf{U}^{(b)}(\tau-\rdt,t_{n}) |
---|
| 853 | \end{equation} |
---|
| 854 | the time averaged vertically integrated transport. Notably, there is no Robert-Asselin time filter used in the barotropic portion of the integration. |
---|
[707] | 855 | |
---|
[2349] | 856 | Upon reaching $t_{n=N} = \tau + 2\rdt \tau$ , the vertically integrated velocity is time averaged to produce the updated vertically integrated velocity at baroclinic time $\tau + \rdt \tau$ |
---|
[2282] | 857 | \begin{equation} \label{DYN_spg_ts_u} |
---|
| 858 | \textbf{U}(\tau+\rdt) = \overline{\textbf{U}^{(b)}(\tau+\rdt)} |
---|
| 859 | = \frac{1}{N+1} \sum\limits_{n=0}^N\textbf{U}^{(b)}(\tau,t_{n}) |
---|
| 860 | \end{equation} |
---|
| 861 | The surface height on the new baroclinic time step is then determined via a baroclinic leap-frog using the following form |
---|
| 862 | |
---|
| 863 | \begin{equation} \label{DYN_spg_ts_ssh} |
---|
| 864 | \eta(\tau+\Delta) - \eta^{F}(\tau-\Delta) = 2\rdt \ \left[ - \nabla \cdot \textbf{U}(\tau) + \text{EMP}_w \right] |
---|
| 865 | \end{equation} |
---|
| 866 | |
---|
| 867 | The use of this "big-leap-frog" scheme for the surface height ensures compatibility between the mass/volume budgets and the tracer budgets. More discussion of this point is provided in Chapter 10 (see in particular Section 10.2). |
---|
| 868 | |
---|
| 869 | In general, some form of time filter is needed to maintain integrity of the surface |
---|
| 870 | height field due to the leap-frog splitting mode in equation \ref{DYN_spg_ts_ssh}. We |
---|
| 871 | have tried various forms of such filtering, with the following method discussed in |
---|
| 872 | \cite{Griffies_al_MWR01} chosen due to its stability and reasonably good maintenance of |
---|
| 873 | tracer conservation properties (see Section ??) |
---|
| 874 | |
---|
| 875 | \begin{equation} \label{DYN_spg_ts_sshf} |
---|
| 876 | \eta^{F}(\tau-\Delta) = \overline{\eta^{(b)}(\tau)} |
---|
| 877 | \end{equation} |
---|
| 878 | Another approach tried was |
---|
| 879 | |
---|
| 880 | \begin{equation} \label{DYN_spg_ts_sshf2} |
---|
| 881 | \eta^{F}(\tau-\Delta) = \eta(\tau) |
---|
| 882 | + (\alpha/2) \left[\overline{\eta^{(b)}}(\tau+\rdt) |
---|
| 883 | + \overline{\eta^{(b)}}(\tau-\rdt) -2 \;\eta(\tau) \right] |
---|
| 884 | \end{equation} |
---|
| 885 | |
---|
| 886 | which is useful since it isolates all the time filtering aspects into the term multiplied |
---|
| 887 | by $\alpha$. This isolation allows for an easy check that tracer conservation is exact when |
---|
| 888 | eliminating tracer and surface height time filtering (see Section ?? for more complete discussion). However, in the general case with a non-zero $\alpha$, the filter \ref{DYN_spg_ts_sshf} was found to be more conservative, and so is recommended. |
---|
| 889 | |
---|
| 890 | } %%end gm comment (copy of griffies book) |
---|
| 891 | |
---|
| 892 | %>>>>>=============== |
---|
| 893 | |
---|
| 894 | |
---|
[707] | 895 | %-------------------------------------------------------------------------------------------------------------- |
---|
[2282] | 896 | % Filtered free surface formulation |
---|
[707] | 897 | %-------------------------------------------------------------------------------------------------------------- |
---|
[2282] | 898 | \subsection{Filtered free surface (\key{dynspg\_flt})} |
---|
| 899 | \label{DYN_spg_fltp} |
---|
[707] | 900 | |
---|
[2282] | 901 | The filtered formulation follows the \citet{Roullet_Madec_JGR00} implementation. |
---|
[2541] | 902 | The extra term introduced in the equations (see \S\ref{PE_free_surface}) is solved implicitly. |
---|
[2282] | 903 | The elliptic solvers available in the code are documented in \S\ref{MISC}. |
---|
[707] | 904 | |
---|
[2282] | 905 | %% gm %%======>>>> given here the discrete eqs provided to the solver |
---|
[2541] | 906 | \gmcomment{ %%% copy from chap-model basics |
---|
| 907 | \begin{equation} \label{Eq_spg_flt} |
---|
| 908 | \frac{\partial {\rm {\bf U}}_h }{\partial t}= {\rm {\bf M}} |
---|
| 909 | - g \nabla \left( \tilde{\rho} \ \eta \right) |
---|
| 910 | - g \ T_c \nabla \left( \widetilde{\rho} \ \partial_t \eta \right) |
---|
| 911 | \end{equation} |
---|
| 912 | where $T_c$, is a parameter with dimensions of time which characterizes the force, |
---|
| 913 | $\widetilde{\rho} = \rho / \rho_o$ is the dimensionless density, and $\rm {\bf M}$ |
---|
| 914 | represents the collected contributions of the Coriolis, hydrostatic pressure gradient, |
---|
| 915 | non-linear and viscous terms in \eqref{Eq_PE_dyn}. |
---|
| 916 | } %end gmcomment |
---|
[707] | 917 | |
---|
[2282] | 918 | Note that in the linear free surface formulation (\key{vvl} not defined), the ocean depth |
---|
| 919 | is time-independent and so is the matrix to be inverted. It is computed once and for all and applies to all ocean time steps. |
---|
[707] | 920 | |
---|
| 921 | % ================================================================ |
---|
| 922 | % Lateral diffusion term |
---|
| 923 | % ================================================================ |
---|
[817] | 924 | \section [Lateral diffusion term (\textit{dynldf})] |
---|
| 925 | {Lateral diffusion term (\mdl{dynldf})} |
---|
[707] | 926 | \label{DYN_ldf} |
---|
| 927 | %------------------------------------------nam_dynldf---------------------------------------------------- |
---|
[2282] | 928 | \namdisplay{namdyn_ldf} |
---|
[707] | 929 | %------------------------------------------------------------------------------------------------------------- |
---|
| 930 | |
---|
[2282] | 931 | The options available for lateral diffusion are to use either laplacian |
---|
[817] | 932 | (rotated or not) or biharmonic operators. The coefficients may be constant |
---|
| 933 | or spatially variable; the description of the coefficients is found in the chapter |
---|
[2282] | 934 | on lateral physics (Chap.\ref{LDF}). The lateral diffusion of momentum is |
---|
| 935 | evaluated using a forward scheme, $i.e.$ the velocity appearing in its expression |
---|
[817] | 936 | is the \textit{before} velocity in time, except for the pure vertical component |
---|
| 937 | that appears when a tensor of rotation is used. This latter term is solved |
---|
| 938 | implicitly together with the vertical diffusion term (see \S\ref{DOM_nxt}) |
---|
| 939 | |
---|
[707] | 940 | At the lateral boundaries either free slip, no slip or partial slip boundary |
---|
[817] | 941 | conditions are applied according to the user's choice (see Chap.\ref{LBC}). |
---|
[707] | 942 | |
---|
| 943 | % ================================================================ |
---|
[817] | 944 | \subsection [Iso-level laplacian operator (\np{ln\_dynldf\_lap}) ] |
---|
[2282] | 945 | {Iso-level laplacian operator (\np{ln\_dynldf\_lap}=true)} |
---|
[707] | 946 | \label{DYN_ldf_lap} |
---|
| 947 | |
---|
| 948 | For lateral iso-level diffusion, the discrete operator is: |
---|
| 949 | \begin{equation} \label{Eq_dynldf_lap} |
---|
| 950 | \left\{ \begin{aligned} |
---|
| 951 | D_u^{l{\rm {\bf U}}} =\frac{1}{e_{1u} }\delta _{i+1/2} \left[ {A_T^{lm} |
---|
| 952 | \;\chi } \right]-\frac{1}{e_{2u} {\kern 1pt}e_{3u} }\delta _j \left[ |
---|
| 953 | {A_f^{lm} \;e_{3f} \zeta } \right] \\ |
---|
| 954 | \\ |
---|
| 955 | D_v^{l{\rm {\bf U}}} =\frac{1}{e_{2v} }\delta _{j+1/2} \left[ {A_T^{lm} |
---|
| 956 | \;\chi } \right]+\frac{1}{e_{1v} {\kern 1pt}e_{3v} }\delta _i \left[ |
---|
| 957 | {A_f^{lm} \;e_{3f} \zeta } \right] \\ |
---|
| 958 | \end{aligned} \right. |
---|
| 959 | \end{equation} |
---|
| 960 | |
---|
| 961 | As explained in \S\ref{PE_ldf}, this formulation (as the gradient of a divergence |
---|
| 962 | and curl of the vorticity) preserves symmetry and ensures a complete |
---|
[2282] | 963 | separation between the vorticity and divergence parts of the momentum diffusion. |
---|
[707] | 964 | |
---|
| 965 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 966 | % Rotated laplacian operator |
---|
| 967 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 968 | \subsection [Rotated laplacian operator (\np{ln\_dynldf\_iso}) ] |
---|
[2282] | 969 | {Rotated laplacian operator (\np{ln\_dynldf\_iso}=true)} |
---|
[707] | 970 | \label{DYN_ldf_iso} |
---|
| 971 | |
---|
[2282] | 972 | A rotation of the lateral momentum diffusion operator is needed in several cases: |
---|
| 973 | for iso-neutral diffusion in the $z$-coordinate (\np{ln\_dynldf\_iso}=true) and for |
---|
| 974 | either iso-neutral (\np{ln\_dynldf\_iso}=true) or geopotential |
---|
| 975 | (\np{ln\_dynldf\_hor}=true) diffusion in the $s$-coordinate. In the partial step |
---|
| 976 | case, coordinates are horizontal except at the deepest level and no |
---|
| 977 | rotation is performed when \np{ln\_dynldf\_hor}=true. The diffusion operator |
---|
[707] | 978 | is defined simply as the divergence of down gradient momentum fluxes on each |
---|
[817] | 979 | momentum component. It must be emphasized that this formulation ignores |
---|
[707] | 980 | constraints on the stress tensor such as symmetry. The resulting discrete |
---|
| 981 | representation is: |
---|
| 982 | \begin{equation} \label{Eq_dyn_ldf_iso} |
---|
| 983 | \begin{split} |
---|
| 984 | D_u^{l\textbf{U}} &= \frac{1}{e_{1u} \, e_{2u} \, e_{3u} } \\ |
---|
| 985 | & \left\{\quad {\delta _{i+1/2} \left[ {A_T^{lm} \left( |
---|
[2282] | 986 | {\frac{e_{2t} \; e_{3t} }{e_{1t} } \,\delta _{i}[u] |
---|
| 987 | -e_{2t} \; r_{1t} \,\overline{\overline {\delta _{k+1/2}[u]}}^{\,i,\,k}} |
---|
[707] | 988 | \right)} \right]} \right. |
---|
| 989 | \\ |
---|
| 990 | & \qquad +\ \delta_j \left[ {A_f^{lm} \left( {\frac{e_{1f}\,e_{3f} }{e_{2f} |
---|
| 991 | }\,\delta _{j+1/2} [u] - e_{1f}\, r_{2f} |
---|
| 992 | \,\overline{\overline {\delta _{k+1/2} [u]}} ^{\,j+1/2,\,k}} |
---|
| 993 | \right)} \right] |
---|
| 994 | \\ |
---|
| 995 | &\qquad +\ \delta_k \left[ {A_{uw}^{lm} \left( {-e_{2u} \, r_{1uw} \,\overline{\overline |
---|
| 996 | {\delta_{i+1/2} [u]}}^{\,i+1/2,\,k+1/2} } |
---|
| 997 | \right.} \right. |
---|
| 998 | \\ |
---|
| 999 | & \ \qquad \qquad \qquad \quad\ |
---|
| 1000 | - e_{1u} \, r_{2uw} \,\overline{\overline {\delta_{j+1/2} [u]}} ^{\,j,\,k+1/2} |
---|
| 1001 | \\ |
---|
| 1002 | & \left. {\left. { \ \qquad \qquad \qquad \ \ \ \left. {\ |
---|
| 1003 | +\frac{e_{1u}\, e_{2u} }{e_{3uw} }\,\left( {r_{1uw}^2+r_{2uw}^2} |
---|
| 1004 | \right)\,\delta_{k+1/2} [u]} \right)} \right]\;\;\;} \right\} |
---|
| 1005 | \\ |
---|
| 1006 | \\ |
---|
| 1007 | D_v^{l\textbf{V}} &= \frac{1}{e_{1v} \, e_{2v} \, e_{3v} } \\ |
---|
| 1008 | & \left\{\quad {\delta _{i+1/2} \left[ {A_f^{lm} \left( |
---|
| 1009 | {\frac{e_{2f} \; e_{3f} }{e_{1f} } \,\delta _{i+1/2}[v] |
---|
| 1010 | -e_{2f} \; r_{1f} \,\overline{\overline {\delta _{k+1/2}[v]}}^{\,i+1/2,\,k}} |
---|
| 1011 | \right)} \right]} \right. |
---|
| 1012 | \\ |
---|
[2282] | 1013 | & \qquad +\ \delta_j \left[ {A_T^{lm} \left( {\frac{e_{1t}\,e_{3t} }{e_{2t} |
---|
| 1014 | }\,\delta _{j} [v] - e_{1t}\, r_{2t} |
---|
[707] | 1015 | \,\overline{\overline {\delta _{k+1/2} [v]}} ^{\,j,\,k}} |
---|
| 1016 | \right)} \right] |
---|
| 1017 | \\ |
---|
| 1018 | & \qquad +\ \delta_k \left[ {A_{vw}^{lm} \left( {-e_{2v} \, r_{1vw} \,\overline{\overline |
---|
| 1019 | {\delta_{i+1/2} [v]}}^{\,i+1/2,\,k+1/2} }\right.} \right. |
---|
| 1020 | \\ |
---|
| 1021 | & \ \qquad \qquad \qquad \quad\ |
---|
| 1022 | - e_{1v} \, r_{2vw} \,\overline{\overline {\delta_{j+1/2} [v]}} ^{\,j+1/2,\,k+1/2} |
---|
| 1023 | \\ |
---|
| 1024 | & \left. {\left. { \ \qquad \qquad \qquad \ \ \ \left. {\ |
---|
| 1025 | +\frac{e_{1v}\, e_{2v} }{e_{3vw} }\,\left( {r_{1vw}^2+r_{2vw}^2} |
---|
| 1026 | \right)\,\delta_{k+1/2} [v]} \right)} \right]\;\;\;} \right\} |
---|
| 1027 | \end{split} |
---|
| 1028 | \end{equation} |
---|
[817] | 1029 | where $r_1$ and $r_2$ are the slopes between the surface along which the |
---|
[2282] | 1030 | diffusion operator acts and the surface of computation ($z$- or $s$-surfaces). |
---|
[817] | 1031 | The way these slopes are evaluated is given in the lateral physics chapter |
---|
| 1032 | (Chap.\ref{LDF}). |
---|
[707] | 1033 | |
---|
| 1034 | %-------------------------------------------------------------------------------------------------------------- |
---|
| 1035 | % Iso-level bilaplacian operator |
---|
| 1036 | %-------------------------------------------------------------------------------------------------------------- |
---|
[817] | 1037 | \subsection [Iso-level bilaplacian operator (\np{ln\_dynldf\_bilap})] |
---|
[2282] | 1038 | {Iso-level bilaplacian operator (\np{ln\_dynldf\_bilap}=true)} |
---|
[707] | 1039 | \label{DYN_ldf_bilap} |
---|
| 1040 | |
---|
| 1041 | The lateral fourth order operator formulation on momentum is obtained by |
---|
[817] | 1042 | applying \eqref{Eq_dynldf_lap} twice. It requires an additional assumption on |
---|
| 1043 | boundary conditions: the first derivative term normal to the coast depends on |
---|
| 1044 | the free or no-slip lateral boundary conditions chosen, while the third |
---|
| 1045 | derivative terms normal to the coast are set to zero (see Chap.\ref{LBC}). |
---|
| 1046 | %%% |
---|
| 1047 | \gmcomment{add a remark on the the change in the position of the coefficient} |
---|
| 1048 | %%% |
---|
[707] | 1049 | |
---|
| 1050 | % ================================================================ |
---|
| 1051 | % Vertical diffusion term |
---|
| 1052 | % ================================================================ |
---|
[817] | 1053 | \section [Vertical diffusion term (\mdl{dynzdf})] |
---|
| 1054 | {Vertical diffusion term (\mdl{dynzdf})} |
---|
[707] | 1055 | \label{DYN_zdf} |
---|
| 1056 | %----------------------------------------------namzdf------------------------------------------------------ |
---|
| 1057 | \namdisplay{namzdf} |
---|
| 1058 | %------------------------------------------------------------------------------------------------------------- |
---|
| 1059 | |
---|
[817] | 1060 | The large vertical diffusion coefficient found in the surface mixed layer together |
---|
| 1061 | with high vertical resolution implies that in the case of explicit time stepping there |
---|
| 1062 | would be too restrictive a constraint on the time step. Two time stepping schemes |
---|
| 1063 | can be used for the vertical diffusion term : $(a)$ a forward time differencing |
---|
[2282] | 1064 | scheme (\np{ln\_zdfexp}=true) using a time splitting technique |
---|
| 1065 | (\np{nn\_zdfexp} $>$ 1) or $(b)$ a backward (or implicit) time differencing scheme |
---|
| 1066 | (\np{ln\_zdfexp}=false) (see \S\ref{DOM_nxt}). Note that namelist variables |
---|
| 1067 | \np{ln\_zdfexp} and \np{nn\_zdfexp} apply to both tracers and dynamics. |
---|
[707] | 1068 | |
---|
| 1069 | The formulation of the vertical subgrid scale physics is the same whatever |
---|
[817] | 1070 | the vertical coordinate is. The vertical diffusion operators given by |
---|
[707] | 1071 | \eqref{Eq_PE_zdf} take the following semi-discrete space form: |
---|
| 1072 | \begin{equation} \label{Eq_dynzdf} |
---|
| 1073 | \left\{ \begin{aligned} |
---|
| 1074 | D_u^{vm} &\equiv \frac{1}{e_{3u}} \ \delta _k \left[ \frac{A_{uw}^{vm} }{e_{3uw} } |
---|
| 1075 | \ \delta _{k+1/2} [\,u\,] \right] \\ |
---|
| 1076 | \\ |
---|
| 1077 | D_v^{vm} &\equiv \frac{1}{e_{3v}} \ \delta _k \left[ \frac{A_{vw}^{vm} }{e_{3vw} } |
---|
| 1078 | \ \delta _{k+1/2} [\,v\,] \right] |
---|
| 1079 | \end{aligned} \right. |
---|
| 1080 | \end{equation} |
---|
[817] | 1081 | where $A_{uw}^{vm} $ and $A_{vw}^{vm} $ are the vertical eddy viscosity and |
---|
| 1082 | diffusivity coefficients. The way these coefficients are evaluated |
---|
[707] | 1083 | depends on the vertical physics used (see \S\ref{ZDF}). |
---|
| 1084 | |
---|
[2282] | 1085 | The surface boundary condition on momentum is the stress exerted by |
---|
[707] | 1086 | the wind. At the surface, the momentum fluxes are prescribed as the boundary |
---|
| 1087 | condition on the vertical turbulent momentum fluxes, |
---|
| 1088 | \begin{equation} \label{Eq_dynzdf_sbc} |
---|
| 1089 | \left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{z=1} |
---|
| 1090 | = \frac{1}{\rho _o} \binom{\tau _u}{\tau _v } |
---|
| 1091 | \end{equation} |
---|
[817] | 1092 | where $\left( \tau _u ,\tau _v \right)$ are the two components of the wind stress |
---|
| 1093 | vector in the (\textbf{i},\textbf{j}) coordinate system. The high mixing coefficients |
---|
| 1094 | in the surface mixed layer ensure that the surface wind stress is distributed in |
---|
[707] | 1095 | the vertical over the mixed layer depth. If the vertical mixing coefficient |
---|
| 1096 | is small (when no mixed layer scheme is used) the surface stress enters only |
---|
| 1097 | the top model level, as a body force. The surface wind stress is calculated |
---|
[817] | 1098 | in the surface module routines (SBC, see Chap.\ref{SBC}) |
---|
[707] | 1099 | |
---|
[817] | 1100 | The turbulent flux of momentum at the bottom of the ocean is specified through |
---|
[1224] | 1101 | a bottom friction parameterisation (see \S\ref{ZDF_bfr}) |
---|
[707] | 1102 | |
---|
| 1103 | % ================================================================ |
---|
| 1104 | % External Forcing |
---|
| 1105 | % ================================================================ |
---|
| 1106 | \section{External Forcings} |
---|
| 1107 | \label{DYN_forcing} |
---|
| 1108 | |
---|
| 1109 | Besides the surface and bottom stresses (see the above section) which are |
---|
| 1110 | introduced as boundary conditions on the vertical mixing, two other forcings |
---|
| 1111 | enter the dynamical equations. |
---|
| 1112 | |
---|
[2282] | 1113 | One is the effect of atmospheric pressure on the ocean dynamics. |
---|
| 1114 | Another forcing term is the tidal potential. |
---|
| 1115 | Both of which will be introduced into the reference version soon. |
---|
[707] | 1116 | |
---|
[2285] | 1117 | \gmcomment{atmospheric pressure is there!!!! include its description } |
---|
| 1118 | |
---|
[707] | 1119 | % ================================================================ |
---|
| 1120 | % Time evolution term |
---|
| 1121 | % ================================================================ |
---|
[817] | 1122 | \section [Time evolution term (\textit{dynnxt})] |
---|
| 1123 | {Time evolution term (\mdl{dynnxt})} |
---|
[707] | 1124 | \label{DYN_nxt} |
---|
| 1125 | |
---|
| 1126 | %----------------------------------------------namdom---------------------------------------------------- |
---|
| 1127 | \namdisplay{namdom} |
---|
| 1128 | %------------------------------------------------------------------------------------------------------------- |
---|
| 1129 | |
---|
[817] | 1130 | The general framework for dynamics time stepping is a leap-frog scheme, |
---|
| 1131 | $i.e.$ a three level centred time scheme associated with an Asselin time filter |
---|
[2282] | 1132 | (cf. Chap.\ref{STP}). The scheme is applied to the velocity, except when using |
---|
| 1133 | the flux form of momentum advection (cf. \S\ref{DYN_adv_cor_flux}) in the variable |
---|
| 1134 | volume case (\key{vvl} defined), where it has to be applied to the thickness |
---|
| 1135 | weighted velocity (see \S\ref{Apdx_A_momentum}) |
---|
[707] | 1136 | |
---|
[2282] | 1137 | $\bullet$ vector invariant form or linear free surface (\np{ln\_dynhpg\_vec}=true ; \key{vvl} not defined): |
---|
| 1138 | \begin{equation} \label{Eq_dynnxt_vec} |
---|
| 1139 | \left\{ \begin{aligned} |
---|
| 1140 | &u^{t+\rdt} = u_f^{t-\rdt} + 2\rdt \ \text{RHS}_u^t \\ |
---|
| 1141 | &u_f^t \;\quad = u^t+\gamma \,\left[ {u_f^{t-\rdt} -2u^t+u^{t+\rdt}} \right] |
---|
| 1142 | \end{aligned} \right. |
---|
[707] | 1143 | \end{equation} |
---|
| 1144 | |
---|
[2282] | 1145 | $\bullet$ flux form and nonlinear free surface (\np{ln\_dynhpg\_vec}=false ; \key{vvl} defined): |
---|
| 1146 | \begin{equation} \label{Eq_dynnxt_flux} |
---|
[707] | 1147 | \left\{ \begin{aligned} |
---|
[2282] | 1148 | &\left(e_{3u}\,u\right)^{t+\rdt} = \left(e_{3u}\,u\right)_f^{t-\rdt} + 2\rdt \; e_{3u} \;\text{RHS}_u^t \\ |
---|
| 1149 | &\left(e_{3u}\,u\right)_f^t \;\quad = \left(e_{3u}\,u\right)^t |
---|
| 1150 | +\gamma \,\left[ {\left(e_{3u}\,u\right)_f^{t-\rdt} -2\left(e_{3u}\,u\right)^t+\left(e_{3u}\,u\right)^{t+\rdt}} \right] |
---|
[707] | 1151 | \end{aligned} \right. |
---|
| 1152 | \end{equation} |
---|
[2282] | 1153 | where RHS is the right hand side of the momentum equation, the subscript $f$ |
---|
| 1154 | denotes filtered values and $\gamma$ is the Asselin coefficient. $\gamma$ is |
---|
| 1155 | initialized as \np{nn\_atfp} (namelist parameter). Its default value is \np{nn\_atfp} = $10^{-3}$. |
---|
| 1156 | In both cases, the modified Asselin filter is not applied since perfect conservation |
---|
| 1157 | is not an issue for the momentum equations. |
---|
[707] | 1158 | |
---|
[2282] | 1159 | Note that with the filtered free surface, the update of the \textit{after} velocities |
---|
| 1160 | is done in the \mdl{dynsp\_flt} module, and only array swapping |
---|
| 1161 | and Asselin filtering is done in \mdl{dynnxt}. |
---|
[707] | 1162 | |
---|
[1224] | 1163 | % ================================================================ |
---|