/[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.19 by edhill, Sat Oct 16 03:40:12 2004 UTC revision 1.22 by jmc, Tue Jun 27 19:10:32 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}  \begin{rawhtml}
# Line 225  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 233  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 255  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 442  FORWARD\_STEP \\ Line 443  FORWARD\_STEP \\
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})\\
# Line 465  FORWARD\_STEP \\ Line 466  FORWARD\_STEP \\
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  The place where the model geometry
469  ({\em hFac} factors) is updated is added here but is only relevant  ({\bf hFac} factors) is updated is added here but is only relevant
470  for the non-linear free-surface algorithm.  for the non-linear free-surface algorithm.
471  For completeness, the external forcing,  For completeness, the external forcing,
472  ocean and atmospheric physics have been added, although they are mainly  ocean and atmospheric physics have been added, although they are mainly
# Line 547  extrapolate tendencies to $n$ (dashed ar Line 548  extrapolate tendencies to $n$ (dashed ar
548  The hydrostatic pressure/geo-potential $\phi_{hyd}$ is evaluated directly  The hydrostatic pressure/geo-potential $\phi_{hyd}$ is evaluated directly
549  at time level $n$ (vertical arrows) and used with the extrapolated tendencies  at time level $n$ (vertical arrows) and used with the extrapolated tendencies
550  to step forward the flow variables from $n-1/2$ to $n+1/2$ (solid arc-arrow).  to step forward the flow variables from $n-1/2$ to $n+1/2$ (solid arc-arrow).
551  The implicit-in-time operator ${\cal L_{u,v}}$ (vertical arrows) is  The implicit-in-time operator ${\cal L}_{\bf u,v}$ (vertical arrows) is
552  then applied to the previous estimation of the the flow field ($*$-variables)  then applied to the previous estimation of the the flow field ($*$-variables)
553  and yields to the two velocity components $u,v$ at time level $n+1/2$.  and yields to the two velocity components $u,v$ at time level $n+1/2$.
554  These are then used to calculate the advection term (dashed arc-arrow)  These are then used to calculate the advection term (dashed arc-arrow)
# Line 575  thermodynamics solver is delayed from ha Line 576  thermodynamics solver is delayed from ha
576  allowing the use of the most recent velocities to compute  allowing the use of the most recent velocities to compute
577  the advection terms. Once the thermodynamics fields are  the advection terms. Once the thermodynamics fields are
578  updated, the hydrostatic pressure is computed  updated, the hydrostatic pressure is computed
579  to step frowrad the dynamics  to step forwrad the dynamics.
580  Note that 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
# Line 583  located in time.  Instead, we re-write t Line 584  located in time.  Instead, we re-write t
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    \phi^{n}_{hyd} & = & \int b(\theta^{n},S^{n}) dr
588    \label{eq:phi-hyd-staggered} \\
589  \vec{\bf G}_{\vec{\bf v}}^{n-1/2} & = & \vec{\bf G}_{\vec{\bf v}} ( \vec{\bf v}^{n-1/2} )  \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)} & = & (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}  \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} \\
 \phi^{n}_{hyd} & = & \int b(\theta^{n},S^{n}) dr  
 \label{eq:phi-hyd-staggered} \\  
593  \vec{\bf v}^{*} & = & \vec{\bf v}^{n-1/2} + \Delta t \left( \vec{\bf G}_{\vec{\bf v}}^{(n)} - \nabla \phi_{hyd}^{n} \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}^* )
# Line 613  G_{\theta,S}^{(n+1/2)} & = & (3/2+\epsil Line 614  G_{\theta,S}^{(n+1/2)} & = & (3/2+\epsil
614  The corresponding calling tree is given in  The corresponding calling tree is given in
615  \ref{fig:call-tree-adams-bashforth-staggered}.  \ref{fig:call-tree-adams-bashforth-staggered}.
616  The staggered algorithm is activated with the run-time flag  The staggered algorithm is activated with the run-time flag
617  {\bf staggerTimeStep=.TRUE.} in parameter file {\em data},  {\bf staggerTimeStep}{\em=.TRUE.} in parameter file {\em data},
618  namelist {\em PARM01}.  namelist {\em PARM01}.
619    
620  \begin{figure}  \begin{figure}
# Line 643  FORWARD\_STEP \\ Line 644  FORWARD\_STEP \\
644       (\ref{eq:Gt-n-staggered})\\       (\ref{eq:Gt-n-staggered})\\
645  \>\>\> EXTERNAL\_FORCING \` $G_\theta^n = G_\theta^n + {\cal Q}$ \\  \>\>\> EXTERNAL\_FORCING \` $G_\theta^n = G_\theta^n + {\cal Q}$ \\
646  \>\>\> ADAMS\_BASHFORTH2 \` $G_\theta^{(n+1/2)}$ (\ref{eq:Gt-n+5-staggered}) \\  \>\>\> ADAMS\_BASHFORTH2 \` $G_\theta^{(n+1/2)}$ (\ref{eq:Gt-n+5-staggered}) \\
647  \>\> TIMESTEP\_TRACER \` $\tau^*$ (\ref{eq:tstar-staggered}) \\  \>\> TIMESTEP\_TRACER \` $\theta^*$ (\ref{eq:tstar-staggered}) \\
648  \>\> IMPLDIFF \` $\tau^{(n+1)}$ (\ref{eq:t-n+1-staggered}) \\  \>\> IMPLDIFF \` $\theta^{(n+1)}$ (\ref{eq:t-n+1-staggered}) \\
649  \> TRACERS\_CORRECTION\_STEP  \\  \> TRACERS\_CORRECTION\_STEP  \\
650  \>\> CYCLE\_TRACER \` $\theta^{n+1}$ \\  \>\> CYCLE\_TRACER \` $\theta^{n+1}$ \\
651  \>\> FILTER \` Shapiro Filter, Zonal Filter (FFT) \\  \>\> FILTER \` Shapiro Filter, Zonal Filter (FFT) \\
# Line 654  FORWARD\_STEP \\ Line 655  FORWARD\_STEP \\
655  Calling tree for the overall staggered algorithm using  Calling tree for the overall staggered algorithm using
656  Adams-Bashforth time-stepping.  Adams-Bashforth time-stepping.
657  The place where the model geometry  The place where the model geometry
658  ({\em hFac} factors) is updated is added here but is only relevant  ({\bf hFac} factors) is updated is added here but is only relevant
659  for the non-linear free-surface algorithm.  for the non-linear free-surface algorithm.
660  }  }
661  \label{fig:call-tree-adams-bashforth-staggered}  \label{fig:call-tree-adams-bashforth-staggered}
# Line 775  $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 813  $\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 887  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 901  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 939  $$ 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.19  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.22