13 |
forward prognostic variables while satisfying constraints imposed by |
forward prognostic variables while satisfying constraints imposed by |
14 |
diagnostic equations. |
diagnostic equations. |
15 |
|
|
16 |
Since the model comes in several flavours and formulation, it would be |
Since the model comes in several flavors and formulation, it would be |
17 |
confusing to present the model algorithm exactly as written into code |
confusing to present the model algorithm exactly as written into code |
18 |
along with all the switches and optional terms. Instead, we present |
along with all the switches and optional terms. Instead, we present |
19 |
the algorithm for each of the basic formulations which are: |
the algorithm for each of the basic formulations which are: |
37 |
\ref{sect:pressure-method-rigid-lid}. This algorithm is essentially |
\ref{sect:pressure-method-rigid-lid}. This algorithm is essentially |
38 |
unchanged, apart for some coefficients, when the rigid lid assumption |
unchanged, apart for some coefficients, when the rigid lid assumption |
39 |
is replaced with a linearized implicit free-surface, described in |
is replaced with a linearized implicit free-surface, described in |
40 |
section \ref{sect:pressure-method-linear-backward}. These two flavours |
section \ref{sect:pressure-method-linear-backward}. These two flavors |
41 |
of the pressure-method encompass all formulations of the model as it |
of the pressure-method encompass all formulations of the model as it |
42 |
exists today. The integration of explicit in time terms is out-lined |
exists today. The integration of explicit in time terms is out-lined |
43 |
in section \ref{sect:adams-bashforth} and put into the context of the |
in section \ref{sect:adams-bashforth} and put into the context of the |
61 |
algorithm. A prediction for the flow variables at time level $n+1$ is |
algorithm. A prediction for the flow variables at time level $n+1$ is |
62 |
made based only on the explicit terms, $G^{(n+^1/_2)}$, and denoted |
made based only on the explicit terms, $G^{(n+^1/_2)}$, and denoted |
63 |
$u^*$, $v^*$. Next, a pressure field is found such that $u^{n+1}$, |
$u^*$, $v^*$. Next, a pressure field is found such that $u^{n+1}$, |
64 |
$v^{n+1}$ will be non-divergent. Conceptually, the $*$ quantitites |
$v^{n+1}$ will be non-divergent. Conceptually, the $*$ quantities |
65 |
exist at time level $n+1$ but they are intermediate and only |
exist at time level $n+1$ but they are intermediate and only |
66 |
temporary.} |
temporary.} |
67 |
\label{fig:pressure-method-rigid-lid} |
\label{fig:pressure-method-rigid-lid} |
80 |
\>\> CALC\_GRAD\_PHI\_SURF \` $\nabla \eta^{n+1}$ \\ |
\>\> CALC\_GRAD\_PHI\_SURF \` $\nabla \eta^{n+1}$ \\ |
81 |
\>\> CORRECTION\_STEP \` $u^{n+1}$,$v^{n+1}$ (\ref{eq:un+1-rigid-lid},\ref{eq:vn+1-rigid-lid}) |
\>\> CORRECTION\_STEP \` $u^{n+1}$,$v^{n+1}$ (\ref{eq:un+1-rigid-lid},\ref{eq:vn+1-rigid-lid}) |
82 |
\end{tabbing} \end{minipage} } \end{center} |
\end{tabbing} \end{minipage} } \end{center} |
83 |
\caption{Calling tree for the pressure method alogtihm} |
\caption{Calling tree for the pressure method algorihtm} |
84 |
\label{fig:call-tree-pressure-method} |
\label{fig:call-tree-pressure-method} |
85 |
\end{figure} |
\end{figure} |
86 |
|
|
102 |
\label{eq:rigid-lid-continuity} |
\label{eq:rigid-lid-continuity} |
103 |
\end{equation} |
\end{equation} |
104 |
Here, $H\widehat{u} = \int_H u dz$ is the depth integral of $u$, |
Here, $H\widehat{u} = \int_H u dz$ is the depth integral of $u$, |
105 |
similarly for $H\widehat{v}$. The rigid-lid approzimation sets $w=0$ |
similarly for $H\widehat{v}$. The rigid-lid approximation sets $w=0$ |
106 |
at the lid so that it does not move but allows a pressure to be |
at the lid so that it does not move but allows a pressure to be |
107 |
exerted on the fluid by the lid. The horizontal momentum equations and |
exerted on the fluid by the lid. The horizontal momentum equations and |
108 |
vertically integrated continuity equation are be discretized in time |
vertically integrated continuity equation are be discretized in time |
130 |
$G$. |
$G$. |
131 |
|
|
132 |
Substituting the two momentum equations into the depth integrated |
Substituting the two momentum equations into the depth integrated |
133 |
continuity equation eliminates $u^{n+1}$ and $v^{n+1}$ yeilding an |
continuity equation eliminates $u^{n+1}$ and $v^{n+1}$ yielding an |
134 |
elliptic equation for $\eta^{n+1}$. Equations |
elliptic equation for $\eta^{n+1}$. Equations |
135 |
\ref{eq:discrete-time-u}, \ref{eq:discrete-time-v} and |
\ref{eq:discrete-time-u}, \ref{eq:discrete-time-v} and |
136 |
\ref{eq:discrete-time-cont-rigid-lid} can then be re-arranged as follows: |
\ref{eq:discrete-time-cont-rigid-lid} can then be re-arranged as follows: |
157 |
with the future flow field (time level $n+1$) but it could equally |
with the future flow field (time level $n+1$) but it could equally |
158 |
have been drawn as staggered in time with the flow. |
have been drawn as staggered in time with the flow. |
159 |
|
|
160 |
The correspondance to the code is as follows: |
The correspondence to the code is as follows: |
161 |
\begin{itemize} |
\begin{itemize} |
162 |
\item |
\item |
163 |
the prognostic phase, equations \ref{eq:ustar-rigid-lid} and \ref{eq:vstar-rigid-lid}, |
the prognostic phase, equations \ref{eq:ustar-rigid-lid} and \ref{eq:vstar-rigid-lid}, |
165 |
{\em TIMESTEP.F} |
{\em TIMESTEP.F} |
166 |
\item |
\item |
167 |
the vertical integration, $H \widehat{u^*}$ and $H |
the vertical integration, $H \widehat{u^*}$ and $H |
168 |
\widehat{v^*}$, divergence and invertion of the elliptic operator in |
\widehat{v^*}$, divergence and inversion of the elliptic operator in |
169 |
equation \ref{eq:elliptic} is coded in {\em |
equation \ref{eq:elliptic} is coded in {\em |
170 |
SOLVE\_FOR\_PRESSURE.F} |
SOLVE\_FOR\_PRESSURE.F} |
171 |
\item |
\item |
250 |
the pressure method algorithm with a backward implicit, linearized |
the pressure method algorithm with a backward implicit, linearized |
251 |
free surface. The method is still formerly a pressure method because |
free surface. The method is still formerly a pressure method because |
252 |
in the limit of large $\Delta t$ the rigid-lid method is |
in the limit of large $\Delta t$ the rigid-lid method is |
253 |
reovered. However, the implicit treatment of the free-surface allows |
recovered. However, the implicit treatment of the free-surface allows |
254 |
the flow to be divergent and for the surface pressure/elevation to |
the flow to be divergent and for the surface pressure/elevation to |
255 |
respond on a finite time-scale (as opposed to instantly). To recovere |
respond on a finite time-scale (as opposed to instantly). To recover |
256 |
the rigid-lid formulation, we introduced a switch-like parameter, |
the rigid-lid formulation, we introduced a switch-like parameter, |
257 |
$\epsilon_{fs}$, which selects between the free-surface and rigid-lid; |
$\epsilon_{fs}$, which selects between the free-surface and rigid-lid; |
258 |
$\epsilon_{fs}=1$ allows the free-surface to evolve; $\epsilon_{fs}=0$ |
$\epsilon_{fs}=1$ allows the free-surface to evolve; $\epsilon_{fs}=0$ |
331 |
|
|
332 |
Vertical diffusion and viscosity can be treated implicitly in time |
Vertical diffusion and viscosity can be treated implicitly in time |
333 |
using the backward method which is an intrinsic scheme. For tracers, |
using the backward method which is an intrinsic scheme. For tracers, |
334 |
the time discrretized equation is: |
the time discretized equation is: |
335 |
\begin{equation} |
\begin{equation} |
336 |
\tau^{n+1} - \Delta t \partial_r \kappa_v \partial_r \tau^{n+1} = |
\tau^{n+1} - \Delta t \partial_r \kappa_v \partial_r \tau^{n+1} = |
337 |
\tau^{n} + \Delta t G_\tau^{(n+1/2)} |
\tau^{n} + \Delta t G_\tau^{(n+1/2)} |
377 |
\caption{ |
\caption{ |
378 |
A schematic of the explicit Adams-Bashforth and implicit time-stepping |
A schematic of the explicit Adams-Bashforth and implicit time-stepping |
379 |
phases of the algorithm. All prognostic variables are co-located in |
phases of the algorithm. All prognostic variables are co-located in |
380 |
time. Explicit tendancies are evaluated at time level $n$ as a |
time. Explicit tendencies are evaluated at time level $n$ as a |
381 |
function of the state at that time level (dotted arrow). The explicit |
function of the state at that time level (dotted arrow). The explicit |
382 |
tendancy from the previous time level, $n-1$, is used to extrapolate |
tendency from the previous time level, $n-1$, is used to extrapolate |
383 |
tendancies to $n+1/2$ (dashed arrow). This extrapolated tendancy |
tendencies to $n+1/2$ (dashed arrow). This extrapolated tendency |
384 |
allows variables to be stably integrated forward-in-time to render an |
allows variables to be stably integrated forward-in-time to render an |
385 |
estimate ($*$-variables) at the $n+1$ time level (solid |
estimate ($*$-variables) at the $n+1$ time level (solid |
386 |
arc-arrow). The operator ${\cal L}$ formed from implicit-in-time terms |
arc-arrow). The operator ${\cal L}$ formed from implicit-in-time terms |
417 |
\label{fig:call-tree-adams-bashforth-sync} |
\label{fig:call-tree-adams-bashforth-sync} |
418 |
\end{figure} |
\end{figure} |
419 |
|
|
420 |
The Adams-Bashforth extrapolation of explicit tendancies fits neatly |
The Adams-Bashforth extrapolation of explicit tendencies fits neatly |
421 |
into the pressure method algorithm when all state variables are |
into the pressure method algorithm when all state variables are |
422 |
co-locacted in time. Fig.~\ref{fig:adams-bashforth-sync} illustrates |
co-located in time. Fig.~\ref{fig:adams-bashforth-sync} illustrates |
423 |
the location of variables in time and the evolution of the algorithm |
the location of variables in time and the evolution of the algorithm |
424 |
with time. The algorithm can be represented by the sequential solution |
with time. The algorithm can be represented by the sequential solution |
425 |
of the follow equations: |
of the follow equations: |
453 |
\end{eqnarray} |
\end{eqnarray} |
454 |
Fig.~\ref{fig:adams-bashforth-sync} illustrates the location of |
Fig.~\ref{fig:adams-bashforth-sync} illustrates the location of |
455 |
variables in time and evolution of the algorithm with time. The |
variables in time and evolution of the algorithm with time. The |
456 |
Adams-Bashforth extrapolation of the tracer tendancies is illustrated |
Adams-Bashforth extrapolation of the tracer tendencies is illustrated |
457 |
byt the dashed arrow, the prediction at $n+1$ is indicated by the |
by the dashed arrow, the prediction at $n+1$ is indicated by the |
458 |
solid arc. Inversion of the implicit terms, ${\cal |
solid arc. Inversion of the implicit terms, ${\cal |
459 |
L}^{-1}_{\theta,S}$, then yields the new tracer fields at $n+1$. All |
L}^{-1}_{\theta,S}$, then yields the new tracer fields at $n+1$. All |
460 |
these operations are carried out in subroutine {\em THERMODYNAMICS} an |
these operations are carried out in subroutine {\em THERMODYNAMICS} an |
480 |
\caption{ |
\caption{ |
481 |
A schematic of the explicit Adams-Bashforth and implicit time-stepping |
A schematic of the explicit Adams-Bashforth and implicit time-stepping |
482 |
phases of the algorithm but with staggering in time of thermodynamic |
phases of the algorithm but with staggering in time of thermodynamic |
483 |
variables with the flow. Explicit thermodynamics tendancies are |
variables with the flow. Explicit thermodynamics tendencies are |
484 |
evaluated at time level $n-1/2$ as a function of the thermodynamics |
evaluated at time level $n-1/2$ as a function of the thermodynamics |
485 |
state at that time level $n$ and flow at time $n$ (dotted arrow). The |
state at that time level $n$ and flow at time $n$ (dotted arrow). The |
486 |
explicit tendancy from the previous time level, $n-3/2$, is used to |
explicit tendency from the previous time level, $n-3/2$, is used to |
487 |
extrapolate tendancies to $n$ (dashed arrow). This extrapolated |
extrapolate tendencies to $n$ (dashed arrow). This extrapolated |
488 |
tendancy allows thermo-dynamics variables to be stably integrated |
tendency allows thermo-dynamics variables to be stably integrated |
489 |
forward-in-time to render an estimate ($*$-variables) at the $n+1/2$ |
forward-in-time to render an estimate ($*$-variables) at the $n+1/2$ |
490 |
time level (solid arc-arrow). The implicit-in-time operator ${\cal |
time level (solid arc-arrow). The implicit-in-time operator ${\cal |
491 |
L_{\theta,S}}$ is solved to yield the thermodynamic variables at time |
L_{\theta,S}}$ is solved to yield the thermodynamic variables at time |
502 |
circumstance, it is more efficient to stagger in time the |
circumstance, it is more efficient to stagger in time the |
503 |
thermodynamic variables with the flow |
thermodynamic variables with the flow |
504 |
variables. Fig.~\ref{fig:adams-bashforth-staggered} illustrates the |
variables. Fig.~\ref{fig:adams-bashforth-staggered} illustrates the |
505 |
staggering and algorith. The key difference between this and |
staggering and algorithm. The key difference between this and |
506 |
Fig.~\ref{fig:adams-bashforth-sync} is that the new thermodynamics |
Fig.~\ref{fig:adams-bashforth-sync} is that the new thermodynamics |
507 |
fields are used to compute the hydrostatic pressure at time level |
fields are used to compute the hydrostatic pressure at time level |
508 |
$n+1/2$. The essentially allows the gravity wave terms to leap-frog in |
$n+1/2$. The essentially allows the gravity wave terms to leap-frog in |
515 |
\phi_{hyd}^n = \int b(\theta^{n+1},S^{n+1}) dr |
\phi_{hyd}^n = \int b(\theta^{n+1},S^{n+1}) dr |
516 |
\end{displaymath} |
\end{displaymath} |
517 |
but the pressure gradient must also be taken out of the |
but the pressure gradient must also be taken out of the |
518 |
Adams-Bashforth extrapoltion. Also, retaining the integer time-levels, |
Adams-Bashforth extrapolation. Also, retaining the integer time-levels, |
519 |
$n$ and $n+1$, does not give a user the sense of where variables are |
$n$ and $n+1$, does not give a user the sense of where variables are |
520 |
located in time. Instead, we re-write the entire algorithm, |
located in time. Instead, we re-write the entire algorithm, |
521 |
\ref{eq:Gt-n-sync} to \ref{eq:v-n+1-sync}, annotating the |
\ref{eq:Gt-n-sync} to \ref{eq:v-n+1-sync}, annotating the |
574 |
|
|
575 |
\section{Variants on the Free Surface} |
\section{Variants on the Free Surface} |
576 |
|
|
577 |
We now descibe the various formulations of the free-surface that |
We now describe the various formulations of the free-surface that |
578 |
include non-linear forms, implicit in time using Crank-Nicholson, |
include non-linear forms, implicit in time using Crank-Nicholson, |
579 |
explicit and [one day] split-explicit. First, we'll reiterate the |
explicit and [one day] split-explicit. First, we'll reiterate the |
580 |
underlying algorithm but this time using the notation consistent with |
underlying algorithm but this time using the notation consistent with |
581 |
the more general vertical coordinate $r$. The elliptic equation for |
the more general vertical coordinate $r$. The elliptic equation for |
582 |
free-surface coordinate (units of $r$), correpsonding to |
free-surface coordinate (units of $r$), corresponding to |
583 |
\ref{eq:discrete-time-backward-free-surface}, and |
\ref{eq:discrete-time-backward-free-surface}, and |
584 |
assuming no non-hydrostatic effects ($\epsilon_{nh} = 0$) is: |
assuming no non-hydrostatic effects ($\epsilon_{nh} = 0$) is: |
585 |
\begin{eqnarray} |
\begin{eqnarray} |