/[MITgcm]/manual/s_algorithm/text/time_stepping.tex
ViewVC logotype

Diff of /manual/s_algorithm/text/time_stepping.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.15 by cnh, Thu Feb 28 19:32:19 2002 UTC revision 1.23 by edhill, Tue Jun 27 22:29:56 2006 UTC
# Line 10  describe the spatial discretization. The Line 10  describe the spatial discretization. The
10  terms are described first, afterwards the schemes that apply to  terms are described first, afterwards the schemes that apply to
11  passive and dynamically active tracers are described.  passive and dynamically active tracers are described.
12    
13    \input{part2/notation}
14    
15  \section{Time-stepping}  \section{Time-stepping}
16    \begin{rawhtml}
17    <!-- CMIREDIR:time-stepping: -->
18    \end{rawhtml}
19    
20  The equations of motion integrated by the model involve four  The equations of motion integrated by the model involve four
21  prognostic equations for flow, $u$ and $v$, temperature, $\theta$, and  prognostic equations for flow, $u$ and $v$, temperature, $\theta$, and
22  salt/moisture, $S$, and three diagnostic equations for vertical flow,  salt/moisture, $S$, and three diagnostic equations for vertical flow,
# Line 61  treated more exactly, including non-line Line 66  treated more exactly, including non-line
66  described in section \ref{sect:nonlinear-freesurface}.  described in section \ref{sect:nonlinear-freesurface}.
67    
68    
69  \section{Pressure method with rigid-lid} \label{sect:pressure-method-rigid-lid}  \section{Pressure method with rigid-lid}
70    \label{sect:pressure-method-rigid-lid}
71    \begin{rawhtml}
72    <!-- CMIREDIR:pressure_method_rigid_lid: -->
73    \end{rawhtml}
74    
75  \begin{figure}  \begin{figure}
76  \begin{center}  \begin{center}
# Line 81  temporary.} Line 90  temporary.}
90  \begin{figure}  \begin{figure}
91  \begin{center} \fbox{ \begin{minipage}{4.5in} \begin{tabbing}  \begin{center} \fbox{ \begin{minipage}{4.5in} \begin{tabbing}
92  aaa \= aaa \= aaa \= aaa \= aaa \= aaa \kill  aaa \= aaa \= aaa \= aaa \= aaa \= aaa \kill
93  \proclink{FORWARD\_STEP}{../code/._model_src_forward_step.F} \\  \filelink{FORWARD\_STEP}{model-src-forward_step.F} \\
94  \> DYNAMICS \\  \> DYNAMICS \\
95  \>\> TIMESTEP \` $u^*$,$v^*$ (\ref{eq:ustar-rigid-lid},\ref{eq:vstar-rigid-lid}) \\  \>\> TIMESTEP \` $u^*$,$v^*$ (\ref{eq:ustar-rigid-lid},\ref{eq:vstar-rigid-lid}) \\
96  \> SOLVE\_FOR\_PRESSURE \\  \> SOLVE\_FOR\_PRESSURE \\
97  \>\> CALC\_DIV\_GHAT \` $H\widehat{u^*}$,$H\widehat{v^*}$ (\ref{eq:elliptic}) \\  \>\> CALC\_DIV\_GHAT \` $H\widehat{u^*}$,$H\widehat{v^*}$ (\ref{eq:elliptic}) \\
98  \>\> CG2D \` $\eta^{n+1}$ (\ref{eq:elliptic}) \\  \>\> CG2D \` $\eta^{n+1}$ (\ref{eq:elliptic}) \\
99  \> THE\_CORRECTION\_STEP  \\  \> MOMENTUM\_CORRECTION\_STEP  \\
100  \>\> CALC\_GRAD\_PHI\_SURF \` $\nabla \eta^{n+1}$ \\  \>\> CALC\_GRAD\_PHI\_SURF \` $\nabla \eta^{n+1}$ \\
101  \>\> 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})
102  \end{tabbing} \end{minipage} } \end{center}  \end{tabbing} \end{minipage} } \end{center}
103  \caption{Calling tree for the pressure method algorihtm}  \caption{Calling tree for the pressure method algorithm
104      (\filelink{FORWARD\_STEP}{model-src-forward_step.F})}
105  \label{fig:call-tree-pressure-method}  \label{fig:call-tree-pressure-method}
106  \end{figure}  \end{figure}
107    
# Line 173  The correspondence to the code is as fol Line 183  The correspondence to the code is as fol
183  \item  \item
184  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},
185  stepping forward $u^n$ and $v^n$ to $u^{*}$ and $v^{*}$ is coded in  stepping forward $u^n$ and $v^n$ to $u^{*}$ and $v^{*}$ is coded in
186  \proclink{TIMESTEP}{../code/._model_src_timestep.F}  \filelink{TIMESTEP()}{model-src-timestep.F}
187  \item  \item
188  the vertical integration, $H \widehat{u^*}$ and $H  the vertical integration, $H \widehat{u^*}$ and $H
189  \widehat{v^*}$, divergence and inversion of the elliptic operator in  \widehat{v^*}$, divergence and inversion of the elliptic operator in
190  equation \ref{eq:elliptic} is coded in  equation \ref{eq:elliptic} is coded in
191  \proclink{SOLVE\_FOR\_PRESSURE}{../code/._model_src_solve_for_pressure.F}  \filelink{SOLVE\_FOR\_PRESSURE()}{model-src-solve_for_pressure.F}
192  \item  \item
193  finally, the new flow field at time level $n+1$ given by equations  finally, the new flow field at time level $n+1$ given by equations
194  \ref{eq:un+1-rigid-lid} and \ref{eq:vn+1-rigid-lid} is calculated in  \ref{eq:un+1-rigid-lid} and \ref{eq:vn+1-rigid-lid} is calculated in
195  \proclink{CORRECTION\_STEP}{../code/._model_src_correction_step.F}.  \filelink{CORRECTION\_STEP()}{model-src-correction_step.F}.
196  \end{itemize}  \end{itemize}
197  The calling tree for these routines is given in  The calling tree for these routines is given in
198  Fig.~\ref{fig:call-tree-pressure-method}.  Fig.~\ref{fig:call-tree-pressure-method}.
# Line 202  G_u^{(n+1/2)} Line 212  G_u^{(n+1/2)}
212    
213  \section{Pressure method with implicit linear free-surface}  \section{Pressure method with implicit linear free-surface}
214  \label{sect:pressure-method-linear-backward}  \label{sect:pressure-method-linear-backward}
215    \begin{rawhtml}
216    <!-- CMIREDIR:pressure_method_linear_backward: -->
217    \end{rawhtml}
218    
219  The rigid-lid approximation filters out external gravity waves  The rigid-lid approximation filters out external gravity waves
220  subsequently modifying the dispersion relation of barotropic Rossby  subsequently modifying the dispersion relation of barotropic Rossby
# Line 213  The rigid-lid approximation can be easil Line 226  The rigid-lid approximation can be easil
226  of the free-surface equation which can be written:  of the free-surface equation which can be written:
227  \begin{equation}  \begin{equation}
228  \partial_t \eta + \partial_x H \widehat{u} + \partial_y H \widehat{v} = P-E+R  \partial_t \eta + \partial_x H \widehat{u} + \partial_y H \widehat{v} = P-E+R
229  \label{eq:linear-free-surface=P-E+R}  \label{eq:linear-free-surface=P-E}
230  \end{equation}  \end{equation}
231  which differs from the depth integrated continuity equation with  which differs from the depth integrated continuity equation with
232  rigid-lid (\ref{eq:rigid-lid-continuity}) by the time-dependent term  rigid-lid (\ref{eq:rigid-lid-continuity}) by the time-dependent term
# Line 221  and fresh-water source term. Line 234  and fresh-water source term.
234    
235  Equation \ref{eq:discrete-time-cont-rigid-lid} in the rigid-lid  Equation \ref{eq:discrete-time-cont-rigid-lid} in the rigid-lid
236  pressure method is then replaced by the time discretization of  pressure method is then replaced by the time discretization of
237  \ref{eq:linear-free-surface=P-E+R} which is:  \ref{eq:linear-free-surface=P-E} which is:
238  \begin{equation}  \begin{equation}
239  \eta^{n+1}  \eta^{n+1}
240  + \Delta t \partial_x H \widehat{u^{n+1}}  + \Delta t \partial_x H \widehat{u^{n+1}}
241  + \Delta t \partial_y H \widehat{v^{n+1}}  + \Delta t \partial_y H \widehat{v^{n+1}}
242  =  =
243  \eta^{n}  \eta^{n}
244  + \Delta t ( P - E + R )  + \Delta t ( P - E )
245  \label{eq:discrete-time-backward-free-surface}  \label{eq:discrete-time-backward-free-surface}
246  \end{equation}  \end{equation}
247  where the use of flow at time level $n+1$ makes the method implicit  where the use of flow at time level $n+1$ makes the method implicit
# Line 243  As for the rigid-lid pressure method, eq Line 256  As for the rigid-lid pressure method, eq
256  \begin{eqnarray}  \begin{eqnarray}
257  u^{*} & = & u^{n} + \Delta t G_u^{(n+1/2)} \label{eq:ustar-backward-free-surface} \\  u^{*} & = & u^{n} + \Delta t G_u^{(n+1/2)} \label{eq:ustar-backward-free-surface} \\
258  v^{*} & = & v^{n} + \Delta t G_v^{(n+1/2)} \label{eq:vstar-backward-free-surface} \\  v^{*} & = & v^{n} + \Delta t G_v^{(n+1/2)} \label{eq:vstar-backward-free-surface} \\
259  \eta^* & = & \epsilon_{fs} \left( \eta^{n} +P-E+R \right)- \Delta t  \eta^* & = & \epsilon_{fs} \left( \eta^{n} + \Delta t (P-E) \right)- \Delta t
260    \partial_x H \widehat{u^{*}}    \partial_x H \widehat{u^{*}}
261  + \partial_y H \widehat{v^{*}}  + \partial_y H \widehat{v^{*}}
262  \\  \\
263    \partial_x g H \partial_x \eta^{n+1}    \partial_x g H \partial_x \eta^{n+1}
264  + \partial_y g H \partial_y \eta^{n+1}  & + & \partial_y g H \partial_y \eta^{n+1}
265  - \frac{\epsilon_{fs} \eta^{n+1}}{\Delta t^2}   - \frac{\epsilon_{fs} \eta^{n+1}}{\Delta t^2}
266  & = &   =
267  - \frac{\eta^*}{\Delta t^2}  - \frac{\eta^*}{\Delta t^2}
268  \label{eq:elliptic-backward-free-surface}  \label{eq:elliptic-backward-free-surface}
269  \\  \\
# Line 278  pressure-method. Line 291  pressure-method.
291    
292  \section{Explicit time-stepping: Adams-Bashforth}  \section{Explicit time-stepping: Adams-Bashforth}
293  \label{sect:adams-bashforth}  \label{sect:adams-bashforth}
294    \begin{rawhtml}
295    <!-- CMIREDIR:adams_bashforth: -->
296    \end{rawhtml}
297    
298  In describing the the pressure method above we deferred describing the  In describing the the pressure method above we deferred describing the
299  time discretization of the explicit terms. We have historically used  time discretization of the explicit terms. We have historically used
# Line 293  FORWARD\_STEP \\ Line 309  FORWARD\_STEP \\
309  \> THERMODYNAMICS \\  \> THERMODYNAMICS \\
310  \>\> CALC\_GT \\  \>\> CALC\_GT \\
311  \>\>\> GAD\_CALC\_RHS \` $G_\theta^n = G_\theta( u, \theta^n )$ \\  \>\>\> GAD\_CALC\_RHS \` $G_\theta^n = G_\theta( u, \theta^n )$ \\
312  \>\>\> EXTERNAL\_FORCING \` $G_\theta^n = G_\theta^n + {\cal Q}$ \\  \>either\>\> EXTERNAL\_FORCING \` $G_\theta^n = G_\theta^n + {\cal Q}$ \\
313  \>\>\> ADAMS\_BASHFORTH2 \` $G_\theta^{(n+1/2)}$ (\ref{eq:adams-bashforth2}) \\  \>\>\> ADAMS\_BASHFORTH2 \` $G_\theta^{(n+1/2)}$ (\ref{eq:adams-bashforth2}) \\
314    \>or\>\> EXTERNAL\_FORCING \` $G_\theta^{(n+1/2)} = G_\theta^{(n+1/2)} + {\cal Q}$ \\
315  \>\> TIMESTEP\_TRACER \` $\tau^*$ (\ref{eq:taustar}) \\  \>\> TIMESTEP\_TRACER \` $\tau^*$ (\ref{eq:taustar}) \\
316  \>\> IMPLDIFF \` $\tau^{(n+1)}$ (\ref{eq:tau-n+1-implicit})  \>\> IMPLDIFF \` $\tau^{(n+1)}$ (\ref{eq:tau-n+1-implicit})
317  \end{tabbing} \end{minipage} } \end{center}  \end{tabbing} \end{minipage} } \end{center}
# Line 331  simpler to include these terms and this Line 348  simpler to include these terms and this
348  and forcing evolves smoothly. Problems can, and do, arise when forcing  and forcing evolves smoothly. Problems can, and do, arise when forcing
349  or motions are high frequency and this corresponds to a reduced  or motions are high frequency and this corresponds to a reduced
350  stability compared to a simple forward time-stepping of such terms.  stability compared to a simple forward time-stepping of such terms.
351    The model offers the possibility to leave the forcing term outside the
352    Adams-Bashforth extrapolation, by turning off the logical flag
353    {\bf forcing\_In\_AB } (parameter file {\em data}, namelist {\em PARM01},
354    default value = True).
355    
356  A stability analysis for an oscillation equation should be given at this point.  A stability analysis for an oscillation equation should be given at this point.
357  \marginpar{AJA needs to find his notes on this...}  \marginpar{AJA needs to find his notes on this...}
# Line 340  A stability analysis for a relaxation eq Line 361  A stability analysis for a relaxation eq
361    
362    
363  \section{Implicit time-stepping: backward method}  \section{Implicit time-stepping: backward method}
364    \begin{rawhtml}
365    <!-- CMIREDIR:implicit_time-stepping_backward: -->
366    \end{rawhtml}
367    
368  Vertical diffusion and viscosity can be treated implicitly in time  Vertical diffusion and viscosity can be treated implicitly in time
369  using the backward method which is an intrinsic scheme. For tracers,  using the backward method which is an intrinsic scheme.
370    Recently, the option to treat the vertical advection
371    implicitly has been added, but not yet tested; therefore,
372    the description hereafter is limited to diffusion and viscosity.
373    For tracers,
374  the time discretized equation is:  the time discretized equation is:
375  \begin{equation}  \begin{equation}
376  \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} =
# Line 373  Fig.~\ref{fig:call-tree-adams-bashforth} Line 401  Fig.~\ref{fig:call-tree-adams-bashforth}
401  stepping forward a tracer variable such as temperature.  stepping forward a tracer variable such as temperature.
402    
403  In order to fit within the pressure method, the implicit viscosity  In order to fit within the pressure method, the implicit viscosity
404  must not alter the barotropic flow. In other words, it can on ly  must not alter the barotropic flow. In other words, it can only
405  redistribute momentum in the vertical. The upshot of this is that  redistribute momentum in the vertical. The upshot of this is that
406  although vertical viscosity may be backward implicit and  although vertical viscosity may be backward implicit and
407  unconditionally stable, no-slip boundary conditions may not be made  unconditionally stable, no-slip boundary conditions may not be made
# Line 381  implicit and are thus cast as a an expli Line 409  implicit and are thus cast as a an expli
409    
410  \section{Synchronous time-stepping: variables co-located in time}  \section{Synchronous time-stepping: variables co-located in time}
411  \label{sect:adams-bashforth-sync}  \label{sect:adams-bashforth-sync}
412    \begin{rawhtml}
413    <!-- CMIREDIR:adams_bashforth_sync: -->
414    \end{rawhtml}
415    
416  \begin{figure}  \begin{figure}
417  \begin{center}  \begin{center}
# Line 401  is solved to yield the state variables a Line 432  is solved to yield the state variables a
432  \end{figure}  \end{figure}
433    
434  \begin{figure}  \begin{figure}
435  \begin{center} \fbox{ \begin{minipage}{4.5in} \begin{tabbing}  \begin{center} \fbox{ \begin{minipage}{4.7in} \begin{tabbing}
436  aaa \= aaa \= aaa \= aaa \= aaa \= aaa \kill  aaa \= aaa \= aaa \= aaa \= aaa \= aaa \kill
437  FORWARD\_STEP \\  FORWARD\_STEP \\
438    \>\> EXTERNAL\_FIELDS\_LOAD\\
439    \>\> DO\_ATMOSPHERIC\_PHYS \\
440    \>\> DO\_OCEANIC\_PHYS \\
441  \> THERMODYNAMICS \\  \> THERMODYNAMICS \\
442  \>\> CALC\_GT \\  \>\> CALC\_GT \\
443  \>\>\> GAD\_CALC\_RHS \` $G_\theta^n = G_\theta( u, \theta^n )$ (\ref{eq:Gt-n-sync})\\  \>\>\> GAD\_CALC\_RHS \` $G_\theta^n = G_\theta( u, \theta^n )$ (\ref{eq:Gt-n-sync})\\
444  \>\>\> EXTERNAL\_FORCING \` $G_\theta^n = G_\theta^n + {\cal Q}$ \\  \>\>\> EXTERNAL\_FORCING \` $G_\theta^n = G_\theta^n + {\cal Q}$ \\
445  \>\>\> ADAMS\_BASHFORTH2 \` $G_\theta^{(n+1/2)}$ (\ref{eq:Gt-n+5-sync}) \\  \>\>\> ADAMS\_BASHFORTH2 \` $G_\theta^{(n+1/2)}$ (\ref{eq:Gt-n+5-sync}) \\
446  \>\> TIMESTEP\_TRACER \` $\tau^*$ (\ref{eq:tstar-sync}) \\  \>\> TIMESTEP\_TRACER \` $\theta^*$ (\ref{eq:tstar-sync}) \\
447  \>\> IMPLDIFF \` $\tau^{(n+1)}$ (\ref{eq:t-n+1-sync}) \\  \>\> IMPLDIFF \` $\theta^{(n+1)}$ (\ref{eq:t-n+1-sync}) \\
448  \> DYNAMICS \\  \> DYNAMICS \\
449  \>\> CALC\_PHI\_HYD \` $\phi_{hyd}^n$ (\ref{eq:phi-hyd-sync}) \\  \>\> CALC\_PHI\_HYD \` $\phi_{hyd}^n$ (\ref{eq:phi-hyd-sync}) \\
450  \>\> MOM\_FLUXFORM or MOM\_VECINV \` $G_{\vec{\bf v}}^n$ (\ref{eq:Gv-n-sync})\\  \>\> MOM\_FLUXFORM or MOM\_VECINV \` $G_{\vec{\bf v}}^n$ (\ref{eq:Gv-n-sync})\\
451  \>\> TIMESTEP \` $\vec{\bf v}^*$ (\ref{eq:Gv-n+5-sync}, \ref{eq:vstar-sync}) \\  \>\> TIMESTEP \` $\vec{\bf v}^*$ (\ref{eq:Gv-n+5-sync}, \ref{eq:vstar-sync}) \\
452  \>\> IMPLDIFF \` $\vec{\bf v}^{**}$ (\ref{eq:vstarstar-sync}) \\  \>\> IMPLDIFF \` $\vec{\bf v}^{**}$ (\ref{eq:vstarstar-sync}) \\
453    \> UPDATE\_R\_STAR or UPDATE\_SURF\_DR \` (NonLin-FS only)\\
454  \> SOLVE\_FOR\_PRESSURE \\  \> SOLVE\_FOR\_PRESSURE \\
455  \>\> CALC\_DIV\_GHAT \` $\eta^*$ (\ref{eq:nstar-sync}) \\  \>\> CALC\_DIV\_GHAT \` $\eta^*$ (\ref{eq:nstar-sync}) \\
456  \>\> CG2D \` $\eta^{n+1}$ (\ref{eq:elliptic-sync}) \\  \>\> CG2D \` $\eta^{n+1}$ (\ref{eq:elliptic-sync}) \\
457  \> THE\_CORRECTION\_STEP  \\  \> MOMENTUM\_CORRECTION\_STEP  \\
458  \>\> CALC\_GRAD\_PHI\_SURF \` $\nabla \eta^{n+1}$ \\  \>\> CALC\_GRAD\_PHI\_SURF \` $\nabla \eta^{n+1}$ \\
459  \>\> CORRECTION\_STEP \` $u^{n+1}$,$v^{n+1}$ (\ref{eq:v-n+1-sync})  \>\> CORRECTION\_STEP \` $u^{n+1}$,$v^{n+1}$ (\ref{eq:v-n+1-sync})\\
460    \> TRACERS\_CORRECTION\_STEP  \\
461    \>\> CYCLE\_TRACER \` $\theta^{n+1}$ \\
462    \>\> FILTER \` Shapiro Filter, Zonal Filter (FFT) \\
463    \>\> CONVECTIVE\_ADJUSTMENT \` \\
464  \end{tabbing} \end{minipage} } \end{center}  \end{tabbing} \end{minipage} } \end{center}
465  \caption{  \caption{
466  Calling tree for the overall synchronous algorithm using  Calling tree for the overall synchronous algorithm using
467  Adams-Bashforth time-stepping.}  Adams-Bashforth time-stepping.
468    The place where the model geometry
469    ({\bf hFac} factors) is updated is added here but is only relevant
470    for the non-linear free-surface algorithm.
471    For completeness, the external forcing,
472    ocean and atmospheric physics have been added, although they are mainly
473    optional}
474  \label{fig:call-tree-adams-bashforth-sync}  \label{fig:call-tree-adams-bashforth-sync}
475  \end{figure}  \end{figure}
476    
# Line 454  G_{\theta,S}^{(n+1/2)} & = & (3/2+\epsil Line 499  G_{\theta,S}^{(n+1/2)} & = & (3/2+\epsil
499  \label{eq:vstar-sync} \\  \label{eq:vstar-sync} \\
500  \vec{\bf v}^{**} & = & {\cal L}_{\vec{\bf v}}^{-1} ( \vec{\bf v}^* )  \vec{\bf v}^{**} & = & {\cal L}_{\vec{\bf v}}^{-1} ( \vec{\bf v}^* )
501  \label{eq:vstarstar-sync} \\  \label{eq:vstarstar-sync} \\
502  \eta^* & = & \epsilon_{fs} \left( \eta^{n} +P-E+R \right)- \Delta t  \eta^* & = & \epsilon_{fs} \left( \eta^{n} + \Delta t (P-E) \right)- \Delta t
503    \nabla \cdot H \widehat{ \vec{\bf v}^{**} }    \nabla \cdot H \widehat{ \vec{\bf v}^{**} }
504  \label{eq:nstar-sync} \\  \label{eq:nstar-sync} \\
505  \nabla \cdot g H \nabla \eta^{n+1} - \frac{\epsilon_{fs} \eta^{n+1}}{\Delta t^2}  \nabla \cdot g H \nabla \eta^{n+1} & - & \frac{\epsilon_{fs} \eta^{n+1}}{\Delta t^2}
506  & = & - \frac{\eta^*}{\Delta t^2}  ~ = ~ - \frac{\eta^*}{\Delta t^2}
507  \label{eq:elliptic-sync} \\  \label{eq:elliptic-sync} \\
508  \vec{\bf v}^{n+1} & = & \vec{\bf v}^{*} - \Delta t g \nabla \eta^{n+1}  \vec{\bf v}^{n+1} & = & \vec{\bf v}^{*} - \Delta t g \nabla \eta^{n+1}
509  \label{eq:v-n+1-sync}  \label{eq:v-n+1-sync}
# Line 477  accelerations, stepping forward and solv Line 522  accelerations, stepping forward and solv
522  surface pressure gradient terms, corresponding to equations  surface pressure gradient terms, corresponding to equations
523  \ref{eq:Gv-n-sync} to \ref{eq:v-n+1-sync}.  \ref{eq:Gv-n-sync} to \ref{eq:v-n+1-sync}.
524  These operations are carried out in subroutines {\em DYNAMCIS}, {\em  These operations are carried out in subroutines {\em DYNAMCIS}, {\em
525  SOLVE\_FOR\_PRESSURE} and {\em THE\_CORRECTION\_STEP}. This, then,  SOLVE\_FOR\_PRESSURE} and {\em MOMENTUM\_CORRECTION\_STEP}. This, then,
526  represents an entire algorithm for stepping forward the model one  represents an entire algorithm for stepping forward the model one
527  time-step. The corresponding calling tree is given in  time-step. The corresponding calling tree is given in
528  \ref{fig:call-tree-adams-bashforth-sync}.  \ref{fig:call-tree-adams-bashforth-sync}.
529    
530  \section{Staggered baroclinic time-stepping}  \section{Staggered baroclinic time-stepping}
531  \label{sect:adams-bashforth-staggered}  \label{sect:adams-bashforth-staggered}
532    \begin{rawhtml}
533    <!-- CMIREDIR:adams_bashforth_staggered: -->
534    \end{rawhtml}
535    
536  \begin{figure}  \begin{figure}
537  \begin{center}  \begin{center}
# Line 492  time-step. The corresponding calling tre Line 540  time-step. The corresponding calling tre
540  \caption{  \caption{
541  A schematic of the explicit Adams-Bashforth and implicit time-stepping  A schematic of the explicit Adams-Bashforth and implicit time-stepping
542  phases of the algorithm but with staggering in time of thermodynamic  phases of the algorithm but with staggering in time of thermodynamic
543  variables with the flow. Explicit thermodynamics tendencies are  variables with the flow.
544  evaluated at time level $n-1/2$ as a function of the thermodynamics  Explicit momentum tendencies are evaluated at time level $n-1/2$ as a
545  state at that time level $n$ and flow at time $n$ (dotted arrow). The  function of the flow field at that time level $n-1/2$.
546  explicit tendency from the previous time level, $n-3/2$, is used to  The explicit tendency from the previous time level, $n-3/2$, is used to
547  extrapolate tendencies to $n$ (dashed arrow). This extrapolated  extrapolate tendencies to $n$ (dashed arrow).
548  tendency allows thermo-dynamics variables to be stably integrated  The hydrostatic pressure/geo-potential $\phi_{hyd}$ is evaluated directly
549  forward-in-time to render an estimate ($*$-variables) at the $n+1/2$  at time level $n$ (vertical arrows) and used with the extrapolated tendencies
550  time level (solid arc-arrow). The implicit-in-time operator ${\cal  to step forward the flow variables from $n-1/2$ to $n+1/2$ (solid arc-arrow).
551  L_{\theta,S}}$ is solved to yield the thermodynamic variables at time  The implicit-in-time operator ${\cal L}_{\bf u,v}$ (vertical arrows) is
552  level $n+1/2$. These are then used to calculate the hydrostatic  then applied to the previous estimation of the the flow field ($*$-variables)
553  pressure/geo-potential, $\phi_{hyd}$ (vertical arrows). The  and yields to the two velocity components $u,v$ at time level $n+1/2$.
554  hydrostatic pressure gradient is evaluated directly an time level  These are then used to calculate the advection term (dashed arc-arrow)
555  $n+1/2$ in stepping forward the flow variables from $n$ to $n+1$  of the thermo-dynamics tendencies at time step $n$.
556  (solid arc-arrow). }  The extrapolated thermodynamics tendency, from time level $n-1$ and $n$
557    to $n+1/2$, allows thermodynamic variables to be stably integrated
558    forward-in-time (solid arc-arrow) up to time level $n+1$.
559    }
560  \label{fig:adams-bashforth-staggered}  \label{fig:adams-bashforth-staggered}
561  \end{figure}  \end{figure}
562    
# Line 515  circumstance, it is more efficient to st Line 566  circumstance, it is more efficient to st
566  thermodynamic variables with the flow  thermodynamic variables with the flow
567  variables. Fig.~\ref{fig:adams-bashforth-staggered} illustrates the  variables. Fig.~\ref{fig:adams-bashforth-staggered} illustrates the
568  staggering and algorithm. The key difference between this and  staggering and algorithm. The key difference between this and
569  Fig.~\ref{fig:adams-bashforth-sync} is that the new thermodynamics  Fig.~\ref{fig:adams-bashforth-sync} is that the thermodynamic variables
570  fields are used to compute the hydrostatic pressure at time level  are solved after the dynamics, using the recently updated flow field.
571  $n+1/2$. The essentially allows the gravity wave terms to leap-frog in  This essentially allows the gravity wave terms to leap-frog in
572  time giving second order accuracy and more stability.  time giving second order accuracy and more stability.
573    
574  The essential change in the staggered algorithm is the calculation of  The essential change in the staggered algorithm is that the
575  hydrostatic pressure which, in the context of the synchronous  thermodynamics solver is delayed from half a time step,
576  algorithm involves replacing equation \ref{eq:phi-hyd-sync} with  allowing the use of the most recent velocities to compute
577  \begin{displaymath}  the advection terms. Once the thermodynamics fields are
578  \phi_{hyd}^n = \int b(\theta^{n+1},S^{n+1}) dr  updated, the hydrostatic pressure is computed
579  \end{displaymath}  to step forwrad the dynamics.
580  but the pressure gradient must also be taken out of the  Note that the pressure gradient must also be taken out of the
581  Adams-Bashforth extrapolation. Also, retaining the integer time-levels,  Adams-Bashforth extrapolation. Also, retaining the integer time-levels,
582  $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
583  located in time.  Instead, we re-write the entire algorithm,  located in time.  Instead, we re-write the entire algorithm,
584  \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
585  position in time of variables appropriately:  position in time of variables appropriately:
586  \begin{eqnarray}  \begin{eqnarray}
587  G_{\theta,S}^{n-1/2} & = & G_{\theta,S} ( u^n, \theta^{n-1/2}, S^{n-1/2} )  \phi^{n}_{hyd} & = & \int b(\theta^{n},S^{n}) dr
 \label{eq:Gt-n-staggered} \\  
 G_{\theta,S}^{(n)} & = & (3/2+\epsilon_{AB}) G_{\theta,S}^{n-1/2}-(1/2+\epsilon_{AB}) G_{\theta,S}^{n-3/2}  
 \label{eq:Gt-n+5-staggered} \\  
 (\theta^*,S^*) & = & (\theta^{n},S^{n}) + \Delta t G_{\theta,S}^{(n)}  
 \label{eq:tstar-staggered} \\  
 (\theta^{n+1/2},S^{n+1/2}) & = & {\cal L}^{-1}_{\theta,S} (\theta^*,S^*)  
 \label{eq:t-n+1-staggered} \\  
 \phi^{n+1/2}_{hyd} & = & \int b(\theta^{n+1/2},S^{n+1/2}) dr  
588  \label{eq:phi-hyd-staggered} \\  \label{eq:phi-hyd-staggered} \\
589  \vec{\bf G}_{\vec{\bf v}}^{n} & = & \vec{\bf G}_{\vec{\bf v}} ( \vec{\bf v}^n )  \vec{\bf G}_{\vec{\bf v}}^{n-1/2} & = & \vec{\bf G}_{\vec{\bf v}} ( \vec{\bf v}^{n-1/2} )
590  \label{eq:Gv-n-staggered} \\  \label{eq:Gv-n-staggered} \\
591  \vec{\bf G}_{\vec{\bf v}}^{(n+1/2)} & = & (3/2 + \epsilon_{AB} ) \vec{\bf G}_{\vec{\bf v}}^{n} - (1/2 + \epsilon_{AB} ) \vec{\bf G}_{\vec{\bf v}}^{n-1}  \vec{\bf G}_{\vec{\bf v}}^{(n)} & = & (3/2 + \epsilon_{AB} ) \vec{\bf G}_{\vec{\bf v}}^{n-1/2} - (1/2 + \epsilon_{AB} ) \vec{\bf G}_{\vec{\bf v}}^{n-3/2}
592  \label{eq:Gv-n+5-staggered} \\  \label{eq:Gv-n+5-staggered} \\
593  \vec{\bf v}^{*} & = & \vec{\bf v}^{n} + \Delta t \left( \vec{\bf G}_{\vec{\bf v}}^{(n+1/2)} - \nabla \phi_{hyd}^{n+1/2} \right)  \vec{\bf v}^{*} & = & \vec{\bf v}^{n-1/2} + \Delta t \left( \vec{\bf G}_{\vec{\bf v}}^{(n)} - \nabla \phi_{hyd}^{n} \right)
594  \label{eq:vstar-staggered} \\  \label{eq:vstar-staggered} \\
595  \vec{\bf v}^{**} & = & {\cal L}_{\vec{\bf v}}^{-1} ( \vec{\bf v}^* )  \vec{\bf v}^{**} & = & {\cal L}_{\vec{\bf v}}^{-1} ( \vec{\bf v}^* )
596  \label{eq:vstarstar-staggered} \\  \label{eq:vstarstar-staggered} \\
597  \eta^* & = & \epsilon_{fs} \left( \eta^{n} +P-E+R \right)- \Delta t  \eta^* & = & \epsilon_{fs} \left( \eta^{n-1/2} + \Delta t (P-E)^n \right)- \Delta t
598    \nabla \cdot H \widehat{ \vec{\bf v}^{**} }    \nabla \cdot H \widehat{ \vec{\bf v}^{**} }
599  \label{eq:nstar-staggered} \\  \label{eq:nstar-staggered} \\
600  \nabla \cdot g H \nabla \eta^{n+1} - \frac{\epsilon_{fs} \eta^{n+1}}{\Delta t^2}  \nabla \cdot g H \nabla \eta^{n+1/2} & - & \frac{\epsilon_{fs} \eta^{n+1/2}}{\Delta t^2}
601  & = & - \frac{\eta^*}{\Delta t^2}  ~ = ~ - \frac{\eta^*}{\Delta t^2}
602  \label{eq:elliptic-staggered} \\  \label{eq:elliptic-staggered} \\
603  \vec{\bf v}^{n+1} & = & \vec{\bf v}^{*} - \Delta t g \nabla \eta^{n+1}  \vec{\bf v}^{n+1/2} & = & \vec{\bf v}^{*} - \Delta t g \nabla \eta^{n+1/2}
604  \label{eq:v-n+1-staggered}  \label{eq:v-n+1-staggered} \\
605    G_{\theta,S}^{n} & = & G_{\theta,S} ( u^{n+1/2}, \theta^{n}, S^{n} )
606    \label{eq:Gt-n-staggered} \\
607    G_{\theta,S}^{(n+1/2)} & = & (3/2+\epsilon_{AB}) G_{\theta,S}^{n}-(1/2+\epsilon_{AB}) G_{\theta,S}^{n-1}
608    \label{eq:Gt-n+5-staggered} \\
609    (\theta^*,S^*) & = & (\theta^{n},S^{n}) + \Delta t G_{\theta,S}^{(n+1/2)}
610    \label{eq:tstar-staggered} \\
611    (\theta^{n+1},S^{n+1}) & = & {\cal L}^{-1}_{\theta,S} (\theta^*,S^*)
612    \label{eq:t-n+1-staggered}
613  \end{eqnarray}  \end{eqnarray}
614  The calling sequence is unchanged from  The corresponding calling tree is given in
615  Fig.~\ref{fig:call-tree-adams-bashforth-sync}. The staggered algorithm  \ref{fig:call-tree-adams-bashforth-staggered}.
616  is activated with the run-time flag {\bf staggerTimeStep=.TRUE.} in  The staggered algorithm is activated with the run-time flag
617  {\em PARM01} of {\em data}.  {\bf staggerTimeStep}{\em=.TRUE.} in parameter file {\em data},
618    namelist {\em PARM01}.
619    
620    \begin{figure}
621    \begin{center} \fbox{ \begin{minipage}{4.7in} \begin{tabbing}
622    aaa \= aaa \= aaa \= aaa \= aaa \= aaa \kill
623    FORWARD\_STEP \\
624    \>\> EXTERNAL\_FIELDS\_LOAD\\
625    \>\> DO\_ATMOSPHERIC\_PHYS \\
626    \>\> DO\_OCEANIC\_PHYS \\
627    \> DYNAMICS \\
628    \>\> CALC\_PHI\_HYD \` $\phi_{hyd}^n$ (\ref{eq:phi-hyd-staggered}) \\
629    \>\> MOM\_FLUXFORM or MOM\_VECINV \` $G_{\vec{\bf v}}^{n-1/2}$
630        (\ref{eq:Gv-n-staggered})\\
631    \>\> TIMESTEP \` $\vec{\bf v}^*$ (\ref{eq:Gv-n+5-staggered},
632                                      \ref{eq:vstar-staggered}) \\
633    \>\> IMPLDIFF \` $\vec{\bf v}^{**}$ (\ref{eq:vstarstar-staggered}) \\
634    \> UPDATE\_R\_STAR or UPDATE\_SURF\_DR \` (NonLin-FS only)\\
635    \> SOLVE\_FOR\_PRESSURE \\
636    \>\> CALC\_DIV\_GHAT \` $\eta^*$ (\ref{eq:nstar-staggered}) \\
637    \>\> CG2D \` $\eta^{n+1/2}$ (\ref{eq:elliptic-staggered}) \\
638    \> MOMENTUM\_CORRECTION\_STEP  \\
639    \>\> CALC\_GRAD\_PHI\_SURF \` $\nabla \eta^{n+1/2}$ \\
640    \>\> CORRECTION\_STEP \` $u^{n+1/2}$,$v^{n+1/2}$ (\ref{eq:v-n+1-staggered})\\
641    \> THERMODYNAMICS \\
642    \>\> CALC\_GT \\
643    \>\>\> GAD\_CALC\_RHS \` $G_\theta^n = G_\theta( u, \theta^n )$
644         (\ref{eq:Gt-n-staggered})\\
645    \>\>\> EXTERNAL\_FORCING \` $G_\theta^n = G_\theta^n + {\cal Q}$ \\
646    \>\>\> ADAMS\_BASHFORTH2 \` $G_\theta^{(n+1/2)}$ (\ref{eq:Gt-n+5-staggered}) \\
647    \>\> TIMESTEP\_TRACER \` $\theta^*$ (\ref{eq:tstar-staggered}) \\
648    \>\> IMPLDIFF \` $\theta^{(n+1)}$ (\ref{eq:t-n+1-staggered}) \\
649    \> TRACERS\_CORRECTION\_STEP  \\
650    \>\> CYCLE\_TRACER \` $\theta^{n+1}$ \\
651    \>\> FILTER \` Shapiro Filter, Zonal Filter (FFT) \\
652    \>\> CONVECTIVE\_ADJUSTMENT \` \\
653    \end{tabbing} \end{minipage} } \end{center}
654    \caption{
655    Calling tree for the overall staggered algorithm using
656    Adams-Bashforth time-stepping.
657    The place where the model geometry
658    ({\bf hFac} factors) is updated is added here but is only relevant
659    for the non-linear free-surface algorithm.
660    }
661    \label{fig:call-tree-adams-bashforth-staggered}
662    \end{figure}
663    
664  The only difficulty with this approach is apparent in equation  The only difficulty with this approach is apparent in equation
665  \ref{eq:Gt-n-staggered} and illustrated by the dotted arrow  \ref{eq:Gt-n-staggered} and illustrated by the dotted arrow
666  connecting $u,v^n$ with $G_\theta^{n-1/2}$. The flow used to advect  connecting $u,v^{n+1/2}$ with $G_\theta^{n}$. The flow used to advect
667  tracers around is not naturally located in time. This could be avoided  tracers around is not naturally located in time. This could be avoided
668  by applying the Adams-Bashforth extrapolation to the tracer field  by applying the Adams-Bashforth extrapolation to the tracer field
669  itself and advecting that around but this approach is not yet  itself and advecting that around but this approach is not yet
# Line 578  time-level variables and terms correspon Line 674  time-level variables and terms correspon
674    
675  \section{Non-hydrostatic formulation}  \section{Non-hydrostatic formulation}
676  \label{sect:non-hydrostatic}  \label{sect:non-hydrostatic}
677    \begin{rawhtml}
678    <!-- CMIREDIR:non-hydrostatic_formulation: -->
679    \end{rawhtml}
680    
681  The non-hydrostatic formulation re-introduces the full vertical  The non-hydrostatic formulation re-introduces the full vertical
682  momentum equation and requires the solution of a 3-D elliptic  momentum equation and requires the solution of a 3-D elliptic
# Line 650  the following equations: Line 749  the following equations:
749  u^{*} & = & u^{n} + \Delta t G_u^{(n+1/2)} \label{eq:ustar-nh} \\  u^{*} & = & u^{n} + \Delta t G_u^{(n+1/2)} \label{eq:ustar-nh} \\
750  v^{*} & = & v^{n} + \Delta t G_v^{(n+1/2)} \label{eq:vstar-nh} \\  v^{*} & = & v^{n} + \Delta t G_v^{(n+1/2)} \label{eq:vstar-nh} \\
751  w^{*} & = & w^{n} + \Delta t G_w^{(n+1/2)} \label{eq:wstar-nh} \\  w^{*} & = & w^{n} + \Delta t G_w^{(n+1/2)} \label{eq:wstar-nh} \\
752  \eta^* & = & \epsilon_{fs} \left( \eta^{n} +P-E+R \right)- \Delta t  \eta^* ~ = ~ \epsilon_{fs} \left( \eta^{n} + \Delta t (P-E) \right)
753    & - & \Delta t
754    \partial_x H \widehat{u^{*}}    \partial_x H \widehat{u^{*}}
755  + \partial_y H \widehat{v^{*}}  + \partial_y H \widehat{v^{*}}
756  \\  \\
757    \partial_x g H \partial_x \eta^{n+1}    \partial_x g H \partial_x \eta^{n+1}
758  + \partial_y g H \partial_y \eta^{n+1}  + \partial_y g H \partial_y \eta^{n+1}
759  - \frac{\epsilon_{fs} \eta^{n+1}}{\Delta t^2}  & - & \frac{\epsilon_{fs} \eta^{n+1}}{\Delta t^2}
760  & = &  ~ = ~
761  - \frac{\eta^*}{\Delta t^2}  - \frac{\eta^*}{\Delta t^2}
762  \label{eq:elliptic-nh}  \label{eq:elliptic-nh}
763  \\  \\
# Line 676  $w^{n+1}$. Line 776  $w^{n+1}$.
776    
777    
778  \section{Variants on the Free Surface}  \section{Variants on the Free Surface}
779    \label{sect:free-surface}
780    
781  We now describe the various formulations of the free-surface that  We now describe the various formulations of the free-surface that
782  include non-linear forms, implicit in time using Crank-Nicholson,  include non-linear forms, implicit in time using Crank-Nicholson,
# Line 714  $\eta^{n+1}$: {\bf etaN} (\em DYNVARS.h) Line 815  $\eta^{n+1}$: {\bf etaN} (\em DYNVARS.h)
815    
816    
817  Once ${\eta}^{n+1}$ has been found, substituting into  Once ${\eta}^{n+1}$ has been found, substituting into
818  \ref{eq:discrete-time-u,eq:discrete-time-v} yields $\vec{\bf v}^{n+1}$ if the model is  \ref{eq:discrete-time-u}, \ref{eq:discrete-time-v} yields $\vec{\bf v}^{n+1}$
819  hydrostatic ($\epsilon_{nh}=0$):  if the model is hydrostatic ($\epsilon_{nh}=0$):
820  $$  $$
821  \vec{\bf v}^{n+1} = \vec{\bf v}^{*}  \vec{\bf v}^{n+1} = \vec{\bf v}^{*}
822  - \Delta t {\bf \nabla}_h b_s {\eta}^{n+1}  - \Delta t {\bf \nabla}_h b_s {\eta}^{n+1}
# Line 788  at the same point in the code. Line 889  at the same point in the code.
889    
890    
891  \subsection{Crank-Nickelson barotropic time stepping}  \subsection{Crank-Nickelson barotropic time stepping}
892    \label{sect:freesurf-CrankNick}
893    
894  The full implicit time stepping described previously is  The full implicit time stepping described previously is
895  unconditionally stable but damps the fast gravity waves, resulting in  unconditionally stable but damps the fast gravity waves, resulting in
# Line 802  stable, Crank-Nickelson scheme; $(\beta, Line 904  stable, Crank-Nickelson scheme; $(\beta,
904  corresponds to the forward - backward scheme that conserves energy but is  corresponds to the forward - backward scheme that conserves energy but is
905  only stable for small time steps.\\  only stable for small time steps.\\
906  In the code, $\beta,\gamma$ are defined as parameters, respectively  In the code, $\beta,\gamma$ are defined as parameters, respectively
907  {\it implicSurfPress}, {\it implicDiv2DFlow}. They are read from  {\bf implicSurfPress}, {\bf implicDiv2DFlow}. They are read from
908  the main data file "{\it data}" and are set by default to 1,1.  the main parameter file "{\em data}" and are set by default to 1,1.
909    
910  Equations \ref{eq:ustar-backward-free-surface} --  Equations \ref{eq:ustar-backward-free-surface} --
911  \ref{eq:vn+1-backward-free-surface} are modified as follows:  \ref{eq:vn+1-backward-free-surface} are modified as follows:
912  $$  \begin{eqnarray*}
913  \frac{ \vec{\bf v}^{n+1} }{ \Delta t }  \frac{ \vec{\bf v}^{n+1} }{ \Delta t }
914  + {\bf \nabla}_h b_s [ \beta {\eta}^{n+1} + (1-\beta) {\eta}^{n} ]  + {\bf \nabla}_h b_s [ \beta {\eta}^{n+1} + (1-\beta) {\eta}^{n} ]
915  + \epsilon_{nh} {\bf \nabla}_h {\phi'_{nh}}^{n+1}  + \epsilon_{nh} {\bf \nabla}_h {\phi'_{nh}}^{n+1}
916   = \frac{ \vec{\bf v}^* }{ \Delta t }   = \frac{ \vec{\bf v}^* }{ \Delta t }
917  $$  \end{eqnarray*}
918  $$  \begin{eqnarray}
919  \epsilon_{fs} \frac{ {\eta}^{n+1} - {\eta}^{n} }{ \Delta t}  \epsilon_{fs} \frac{ {\eta}^{n+1} - {\eta}^{n} }{ \Delta t}
920  + {\bf \nabla}_h \cdot \int_{R_{fixed}}^{R_o}  + {\bf \nabla}_h \cdot \int_{R_{fixed}}^{R_o}
921  [ \gamma \vec{\bf v}^{n+1} + (1-\gamma) \vec{\bf v}^{n}] dr  [ \gamma \vec{\bf v}^{n+1} + (1-\gamma) \vec{\bf v}^{n}] dr
922  = \epsilon_{fw} (P-E)  = \epsilon_{fw} (P-E)
923  $$  \label{eq:eta-n+1-CrankNick}
924    \end{eqnarray}
925  where:  where:
926  \begin{eqnarray*}  \begin{eqnarray*}
927  \vec{\bf v}^* & = &  \vec{\bf v}^* & = &
# Line 840  $$ Line 943  $$
943  {\bf \nabla}_h {\eta}^{n+1}  {\bf \nabla}_h {\eta}^{n+1}
944  = {\eta}^*  = {\eta}^*
945  $$  $$
946  and then to compute (correction step):  and then to compute ({\em CORRECTION\_STEP}):
947  $$  $$
948  \vec{\bf v}^{n+1} = \vec{\bf v}^{*}  \vec{\bf v}^{n+1} = \vec{\bf v}^{*}
949  - \beta \Delta t {\bf \nabla}_h b_s {\eta}^{n+1}  - \beta \Delta t {\bf \nabla}_h b_s {\eta}^{n+1}
950  $$  $$
951    
952  The non-hydrostatic part is solved as described previously.  %The non-hydrostatic part is solved as described previously.
953    
954  Note that:  \noindent
955    Notes:
956  \begin{enumerate}  \begin{enumerate}
957    \item The RHS term of equation \ref{eq:eta-n+1-CrankNick}
958    corresponds the contribution of fresh water flux (P-E)
959    to the free-surface variations ($\epsilon_{fw}=1$,
960    {\bf useRealFreshWater}{\em=TRUE} in parameter file {\em data}).
961    In order to remain consistent with the tracer equation, specially in
962    the non-linear free-surface formulation, this term is also
963    affected by the Crank-Nickelson time stepping. The RHS reads:
964    $\epsilon_{fw} ( \gamma (P-E)^{n+1/2} + (1-\gamma) (P-E)^{n-1/2} )$
965  \item The non-hydrostatic part of the code has not yet been  \item The non-hydrostatic part of the code has not yet been
966  updated, so that this option cannot be used with $(\beta,\gamma) \neq (1,1)$.  updated, and therefore cannot be used with $(\beta,\gamma) \neq (1,1)$.
967  \item The stability criteria with Crank-Nickelson time stepping  \item The stability criteria with Crank-Nickelson time stepping
968  for the pure linear gravity wave problem in cartesian coordinates is:  for the pure linear gravity wave problem in cartesian coordinates is:
969  \begin{itemize}  \begin{itemize}

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.23

  ViewVC Help
Powered by ViewVC 1.1.22