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

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

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

revision 1.7 by adcroft, Tue Nov 13 20:27:54 2001 UTC revision 1.13 by edhill, Tue Jun 27 22:31:23 2006 UTC
# Line 3  Line 3 
3    
4    
5    
6  \subsection{Non-linear free surface}  \subsection{Non-linear free-surface}
7  \label{sect:nonlinear-freesurface}  \label{sect:nonlinear-freesurface}
8    
9  Recently, two options have been added to the model (and have not yet  Recently, new options have been added to the model
10  been extensively tested) that concern the free surface formulation.  that concern the free surface formulation.
11    
12    
13  \subsubsection{Non-uniform linear-relation for the surface potential}  \subsubsection{pressure/geo-potential and free surface}
14    \label{sect:phi-freesurface}
15    
16  The linear relation between surface pressure/geo-potential  For the atmosphere, since $\phi = \phi_{topo} - \int^p_{p_s} \alpha dp$,
17  ($\Phi_{surf}$) and surface displacement ($\eta$) could be considered  subtracting the reference state defined in section
18  to be a constant ($b_s=$ constant)  \ref{sec:hpe-p-geo-potential-split}~:\\
19  \marginpar{add a reference to part.1 here}  $$
20  but is in fact dependent on the position ($x,y,r$)  \phi_o = \phi_{topo} - \int^p_{p_o} \alpha_o dp  
21  since we linearize:  \hspace{5mm}\mathrm{with}\hspace{3mm} \phi_o(p_o)=\phi_{topo}
22  $$\Phi_{surf}=\int_{R_o}^{R_o+\eta} b dr \simeq b_s \eta  $$
23  ~\mathrm{with}~ b_s = b(\theta,S,r)_{r=R_o}  we get:
24  \simeq b_s(\theta_{ref}(R_o),S_{ref}(R_o),R_o)$$  $$
25  Note that, for convenience, the effect on $b_s$ of the local surface  \phi' = \phi - \phi_o = \int^{p_s}_p \alpha dp - \int^{p_o}_p \alpha_o dp
26  $\theta,S$ are not considered here, but are incorporated in to  $$
27  $\Phi'_{hyd}$.  For the ocean, the reference state is simpler since $\rho_c$ does not dependent
28    on $z$ ($b_o=g$) and the surface reference position is uniformly $z=0$ ($R_o=0$),
29  For the ocean, $b_s = g \rho_{surf} / \rho_o \simeq g$ is a very good  and the same subtraction leads to a similar relation.
30  approximation since the relative difference in surface density are  For both fluid, using the isomorphic notations, we can write:
31  usually small and only due to local $\theta,S$ gradients (because the  $$
32  upper surface, $R_o = 0$, is essentially flat). Therefore, they can  \phi' = \int^{r_{surf}}_r b~ dr - \int^{R_o}_r b_o dr
33  easily be incorporated in $\Phi'_{hyd}$.  $$
34    and re-write as:
35    \begin{equation}
36    \phi' = \int^{r_{surf}}_{R_o} b~ dr + \int^{R_o}_r (b - b_o) dr
37    \label{eq:split-phi-Ro}
38    \end{equation}
39    or:
40    \begin{equation}
41    \phi' = \int^{r_{surf}}_{R_o} b_o dr + \int^{r_{surf}}_r (b - b_o) dr
42    \label{eq:split-phi-bo}
43    \end{equation}
44    
45    In section \ref{sec:finding_the_pressure_field}, following eq.\ref{eq:split-phi-Ro},
46    the pressure/geo-potential $\phi'$ has been separated into surface ($\phi_s$),
47    and hydrostatic anomaly ($\phi'_{hyd}$).
48    In this section, the split between $\phi_s$ and $\phi'_{hyd}$ is
49    made according to equation \ref{eq:split-phi-bo}. This slightly
50    different definition reflects the actual implementation in the code
51    and is valid for both linear and non-linear
52    free-surface formulation, in both r-coordinate and r*-coordinate.
53    
54    Because the linear free-surface approximation ignore the tracer content
55    of the fluid parcel between $R_o$ and $r_{surf}=R_o+\eta$,
56    for consistency reasons, this part is also neglected in $\phi'_{hyd}$~:
57    $$
58    \phi'_{hyd} = \int^{r_{surf}}_r (b - b_o) dr \simeq \int^{R_o}_r (b - b_o) dr
59    $$
60    Note that in this case, the two definitions of $\phi_s$ and $\phi'_{hyd}$
61    from equation \ref{eq:split-phi-Ro} and \ref{eq:split-phi-bo} converge toward
62    the same (approximated) expressions: $\phi_s = \int^{r_{surf}}_{R_o} b_o dr$
63    and $\phi'_{hyd}=\int^{R_o}_r b' dr$.\\
64    On the contrary, the unapproximated formulation ("non-linear free-surface",
65    see the next section) retains the full expression:
66    $\phi'_{hyd} = \int^{r_{surf}}_r (b - b_o) dr $~.
67    This is obtained by selecting {\bf nonlinFreeSurf}=4 in parameter
68    file {\em data}.\\
69    
70    Regarding the surface potential:
71    $$\phi_s = \int_{R_o}^{R_o+\eta} b_o dr = b_s \eta
72    \hspace{5mm}\mathrm{with}\hspace{5mm}
73    b_s = \frac{1}{\eta} \int_{R_o}^{R_o+\eta} b_o dr $$
74    $b_s \simeq b_o(R_o)$ is an excellent approximation (better than
75    the usual numerical truncation, since generally $|\eta|$ is smaller
76    than the vertical grid increment).
77    
78    For the ocean, $\phi_s = g \eta$ and $b_s = g$ is uniform.
79  For the atmosphere, however, because of topographic effects, the  For the atmosphere, however, because of topographic effects, the
80  reference surface pressure $R_o$ has large spatial variations that  reference surface pressure $R_o=p_o$ has large spatial variations that
81  are responsible for significant $b_s$ variations (from 0.8 to 1.2  are responsible for significant $b_s$ variations (from 0.8 to 1.2
82  $[m^3/kg]$). For this reason, we use a non-uniform linear coefficient  $[m^3/kg]$). For this reason, when {\bf uniformLin\_PhiSurf} {\em=.FALSE.}
83  $b_s$.  (parameter file {\em data}, namelist {\em PARAM01})
84    a non-uniform linear coefficient $b_s$ is used and computed
85  In practice, in an oceanic configuration or when the default value  ({\it S/R INI\_LINEAR\_PHISURF}) according to the reference surface
86  (TRUE) of the parameter {\bf uniformLin\_PhiSurf} is used, then $b_s$  pressure $p_o$:
87  is simply set to $g$ for the ocean and $1.$ for the atmosphere.  $b_s = b_o(R_o) = c_p \kappa (p_o / P^o_{SL})^{(\kappa - 1)} \theta_{ref}(p_o)$.
88  Turning {\bf uniformLin\_PhiSurf} to "FALSE", tells the code to  with $P^o_{SL}$ the mean sea-level pressure.
 evaluate $b_s$ from the reference vertical profile $\theta_{ref}$  
 ({\it S/R INI\_LINEAR\_PHISURF}) according to the reference surface  
 pressure $P_o$ ($=R_o$): $b_s = c_p \kappa (P_o / Pc)^{(\kappa - 1)}  
 \theta_{ref}(P_o)$  
89    
90    
91  \subsubsection{Free surface effect on column total thickness  \subsubsection{Free surface effect on column total thickness
92  (Non-linear free surface)}  (Non-linear free-surface)}
93    
94  The total thickness of the fluid column is $r_{surf} - R_{fixed} =  The total thickness of the fluid column is $r_{surf} - R_{fixed} =
95  \eta + R_o - R_{fixed}$ In the linear free surface approximation  \eta + R_o - R_{fixed}$. In most applications, the free surface
96  (detailed before), only the fixed part of it ($R_o - R_{fixed})$ is  displacements are small compared to the total thickness
97  considered when we integrate the continuity equation or compute tracer  $\eta \ll H_o = R_o - R_{fixed}$.
98  and momentum advection term.  In the previous sections and in older version of the model,
99    the linearized free-surface approximation was made, assuming
100  This approximation is dropped when using the non-linear free surface  $r_{surf} - R_{fixed} \simeq H_o$ when computing horizontal transports,
101  formulation.  Here we discuss sections the barotropic part. In  either in the continuity equation or in tracer and momentum
102  sections \ref{sect:freesurf-tracer-advection} and  advection terms.
103  \ref{sect:freesurf-momentum-advection} we consider the baroclinic  This approximation is dropped when using the non-linear free-surface
104  component.  formulation and the total thickness, including the time varying part
105    $\eta$, is considered when computing horizontal transports.
106    Implications for the barotropic part are presented hereafter.
107  The continuous form of the model equations remains unchanged, except  In section \ref{sect:freesurf-tracer-advection} consequences for
108  for the 2D continuity equation (\ref{eq:discrete-time-backward-free-surface}) which is now  tracer conservation is briefly discussed (more details can be
109    found in \cite{campin:02})~; the general time-stepping is presented
110    in section \ref{sect:nonlin-freesurf-timestepping} with some
111    limitations regarding the vertical resolution in section
112    \ref{sect:nonlin-freesurf-dz_surf}.
113    
114    In the non-linear formulation, the continuous form of the model
115    equations remains unchanged, except for the 2D continuity equation
116    (\ref{eq:discrete-time-backward-free-surface}) which is now
117  integrated from $R_{fixed}(x,y)$ up to $r_{surf}=R_o+\eta$ :  integrated from $R_{fixed}(x,y)$ up to $r_{surf}=R_o+\eta$ :
118    
119  \begin{displaymath}  \begin{displaymath}
# Line 77  integrated from $R_{fixed}(x,y)$ up to $ Line 126  integrated from $R_{fixed}(x,y)$ up to $
126  Since $\eta$ has a direct effect on the horizontal velocity (through  Since $\eta$ has a direct effect on the horizontal velocity (through
127  $\nabla_h \Phi_{surf}$), this adds a non-linear term to the free  $\nabla_h \Phi_{surf}$), this adds a non-linear term to the free
128  surface equation. Several options for the time discretization of this  surface equation. Several options for the time discretization of this
129  non-linear part have been tested.  non-linear part can be considered, as detailed below.
130    
131  If the column thickness is evaluated at time step $n$, and with  If the column thickness is evaluated at time step $n$, and with
132  implicit treatment of the surface potential gradient, equations  implicit treatment of the surface potential gradient, equations
# Line 115  column thickness appears only in the int Line 164  column thickness appears only in the int
164  (\ref{eq-solve2D_rhs}) but not directly in the equation  (\ref{eq-solve2D_rhs}) but not directly in the equation
165  (\ref{eq-solve2D}).  (\ref{eq-solve2D}).
166    
167    Those different options (see Table \ref{tab:nonLinFreeSurf_flags})
168    have been tested and show little differences. However, we recommend
169    the use of the most precise method (the 1rst one) since the
170    computation cost involved in the solver matrix update is negligible.
171    
172    \begin{table}[htb]
173    %\begin{center}
174    \centering
175     \begin{tabular}[htb]{|l|c|l|}
176       \hline
177       parameter & value & description \\
178       \hline
179                       & -1 & linear free-surface, restart from a pickup file \\
180                       &    & produced with \#undef EXACT\_CONSERV code\\
181       \cline{2-3}
182                       & 0 & Linear free-surface \\
183       \cline{2-3}
184        nonlinFreeSurf & 4 & Non-linear free-surface \\
185       \cline{2-3}
186                       & 3 & same as 4 but neglecting
187                               $\int_{R_o}^{R_o+\eta} b' dr $ in $\Phi'_{hyd}$ \\
188       \cline{2-3}
189                       & 2 & same as 3 but do not update cg2d solver matrix \\
190       \cline{2-3}
191                      & 1 & same as 2 but treat momentum as in Linear FS \\
192       \hline
193                      & 0 & do not use $r*$ vertical coordinate (= default)\\
194       \cline{2-3}
195        select\_rStar & 2 & use $r^*$ vertical coordinate \\
196       \cline{2-3}
197                      & 1 & same as 2 but without the contribution of the\\
198                      &   & slope of the coordinate in $\nabla \Phi$ \\
199       \hline
200      \end{tabular}
201      \caption{Non-linear free-surface flags}
202      \label{tab:nonLinFreeSurf_flags}
203    %\end{center}
204    \end{table}
205    
206    
207  \subsubsection{Free surface effect on the surface level thickness  \subsubsection{Tracer conservation with non-linear free-surface}
 (Non-linear free surface): Tracer advection}  
208  \label{sect:freesurf-tracer-advection}  \label{sect:freesurf-tracer-advection}
209    
210  To ensure global tracer conservation (i.e., the total amount) as well  To ensure global tracer conservation (i.e., the total amount) as well
# Line 126  be consistent with the way the continuit Line 213  be consistent with the way the continuit
213  in the barotropic part (to find $\eta$) and baroclinic part (to find  in the barotropic part (to find $\eta$) and baroclinic part (to find
214  $w = \dot{r}$).  $w = \dot{r}$).
215    
216  To illustrate this, consider the shallow water model, with uniform  To illustrate this, consider the shallow water model, with a source
217  Cartesian horizontal grid:  of fresh water (P):
218  $$  $$
219  \partial_t h + \nabla \cdot h \vec{\bf v} = 0  \partial_t h + \nabla \cdot h \vec{\bf v} = P
220  $$  $$
221  where $h$ is the total thickness of the water column.  where $h$ is the total thickness of the water column.
222  To conserve the tracer $\theta$ we have to discretize:  To conserve the tracer $\theta$ we have to discretize:
223  $$  $$
224  \partial_t (h \theta) + \nabla \cdot ( h \theta \vec{\bf v})= 0  \partial_t (h \theta) + \nabla \cdot ( h \theta \vec{\bf v})
225      = P \theta_{\mathrm{rain}}
226  $$  $$
227  Using the implicit (non-linear) free surface described above (section  Using the implicit (non-linear) free surface described above (section
228  \ref{sect:pressure-method-linear-backward}) we have:  \ref{sect:pressure-method-linear-backward}) we have:
229  \begin{eqnarray*}  \begin{eqnarray*}
230  h^{n+1} = h^{n} - \Delta_t \nabla \cdot (h^n \, \vec{\bf v}^{n+1} ) \\  h^{n+1} = h^{n} - \Delta t \nabla \cdot (h^n \, \vec{\bf v}^{n+1} ) + \Delta t P \\
231  \end{eqnarray*}  \end{eqnarray*}
232  The discretized form of the tracer equation must adopt the same  The discretized form of the tracer equation must adopt the same
233  ``form'' in the computation of tracer fluxes, that is, the same value  ``form'' in the computation of tracer fluxes, that is, the same value
234  of $h$, as used in the continuity equation:  of $h$, as used in the continuity equation:
235  \begin{eqnarray*}  \begin{eqnarray*}
236  h^{n+1} \, \theta^{n+1} = h^n \, \theta^n  h^{n+1} \, \theta^{n+1} = h^n \, \theta^n
237          - \Delta_t \nabla \cdot (h^n \, \theta^n \, \vec{\bf v}^{n+1})          - \Delta t \nabla \cdot (h^n \, \theta^n \, \vec{\bf v}^{n+1})
238            + \Delta t P \theta_{rain}
239  \end{eqnarray*}  \end{eqnarray*}
240    
241  For Adams-Bashforth time-stepping, we implement this scheme slightly  The use of a 3 time-levels time-stepping scheme such as the Adams-Bashforth
242  differently from the linear free-surface method, using two steps: the  make the conservation sightly tricky.
243  variation of the water column thickness (from $h^n$ to $h^{n+1}$) is  The current implementation with the Adams-Bashforth time-stepping
244    provides an exact local conservation and prevents any drift in
245    the global tracer content (\cite{campin:02}).
246    Compared to the linear free-surface method, an additional step is required:
247    the variation of the water column thickness (from $h^n$ to $h^{n+1}$) is
248  not incorporated directly into the tracer equation.  Instead, the  not incorporated directly into the tracer equation.  Instead, the
249  model uses the $G_\theta$ terms (first step) as in the linear free  model uses the $G_\theta$ terms (first step) as in the linear free
250  surface formulation (with the "{\it surface correction}" turned "on",  surface formulation (with the "{\it surface correction}" turned "on",
# Line 163  $$ Line 256  $$
256  Then, in a second step, the thickness variation (expansion/reduction)  Then, in a second step, the thickness variation (expansion/reduction)
257  is taken into account:  is taken into account:
258  $$  $$
259  \theta^{n+1} = \theta^n + \Delta_t \frac{h^n}{h^{n+1}} G_\theta^{(n+1/2)}  \theta^{n+1} = \theta^n + \Delta t \frac{h^n}{h^{n+1}}
260       \left( G_\theta^{(n+1/2)} + P (\theta_{\mathrm{rain}} - \theta^n )/h^n \right)
261    %\theta^{n+1} = \theta^n + \frac{\Delta t}{h^{n+1}}
262    %   \left( h^n G_\theta^{(n+1/2)} + P (\theta_{\mathrm{rain}} - \theta^n ) \right)
263  $$  $$
264  Note that with a simple forward time step (no Adams-Bashforth),  Note that with a simple forward time step (no Adams-Bashforth),
265    these two formulations are equivalent,  
266  since  since
267  $  $
268  \dot{r}_{surf}^{n+1}  (h^{n+1} - h^{n})/ \Delta t =
269  = - \nabla \cdot (h^n \, \vec{\bf v}^{n+1} ) = (h^{n+1} - h^{n})  P - \nabla \cdot (h^n \, \vec{\bf v}^{n+1} ) = P + \dot{r}_{surf}^{n+1}
 / \Delta_t  
270  $  $
 these two formulations are equivalent.  
271    
272  Implementation in the MITgcm is as follows.  The model ``geometry''  \subsubsection{Time stepping implementation of the
273    non-linear free-surface}    
274    \label{sect:nonlin-freesurf-timestepping}
275    
276    The grid cell thickness was hold constant with the linear
277    free-surface~; with the non-linear free-surface, it is now varying
278    in time, at least at the surface level.
279    This implies some modifications of the general algorithm described
280    earlier in sections \ref{sect:adams-bashforth-sync} and
281    \ref{sect:adams-bashforth-staggered}.
282    
283    A simplified version of the staggered in time, non-linear
284    free-surface algorithm is detailed hereafter, and can be compared
285    to the equivalent linear free-surface case (eq. \ref{eq:Gv-n-staggered}
286    to \ref{eq:t-n+1-staggered}) and can also be easily transposed
287    to the synchronous time-stepping case.
288    Among the simplifications, salinity equation, implicit operator
289    and detailed elliptic equation are omitted. Surface forcing is
290    explicitly written as fluxes of temperature, fresh water and
291    momentum, $Q^{n+1/2}, P^{n+1/2}, F_{\bf v}^n$ respectively.
292    $h^n$ and $dh^n$ are the column and grid box thickness in r-coordinate.
293    %-------------------------------------------------------------
294    \begin{eqnarray}
295    \phi^{n}_{hyd} & = & \int b(\theta^{n},S^{n},r) dr
296    \label{eq:phi-hyd-nlfs} \\
297    \vec{\bf G}_{\vec{\bf v}}^{n-1/2}\hspace{-2mm} & = &
298    \vec{\bf G}_{\vec{\bf v}} (dh^{n-1},\vec{\bf v}^{n-1/2})
299    \hspace{+2mm};\hspace{+2mm}
300    \vec{\bf G}_{\vec{\bf v}}^{(n)} =  
301       \frac{3}{2} \vec{\bf G}_{\vec{\bf v}}^{n-1/2}
302    -  \frac{1}{2} \vec{\bf G}_{\vec{\bf v}}^{n-3/2}
303    \label{eq:Gv-n-nlfs} \\
304    %\vec{\bf G}_{\vec{\bf v}}^{(n)} & = &
305    %   \frac{3}{2} \vec{\bf G}_{\vec{\bf v}}^{n-1/2}
306    %-  \frac{1}{2} \vec{\bf G}_{\vec{\bf v}}^{n-3/2}
307    %\label{eq:Gv-n+5-nlfs} \\
308    %\vec{\bf v}^{*} & = & \vec{\bf v}^{n-1/2} + \frac{\Delta t}{dh^{n}} \left(
309    %dh^{n-1}\vec{\bf G}_{\vec{\bf v}}^{(n)} + F_{\vec{\bf v}}^{n} \right)
310    \vec{\bf v}^{*} & = & \vec{\bf v}^{n-1/2} + \Delta t \frac{dh^{n-1}}{dh^{n}} \left(
311    \vec{\bf G}_{\vec{\bf v}}^{(n)} + F_{\vec{\bf v}}^{n}/dh^{n-1} \right)
312    - \Delta t \nabla \phi_{hyd}^{n}
313    \label{eq:vstar-nlfs}
314    \end{eqnarray}
315    \hspace{3cm}$\longrightarrow$~~{\it update model~geometry~:~}${\bf hFac}(dh^n)$\\
316    \begin{eqnarray}
317    \eta^{n+1/2} \hspace{-2mm} & = &
318    \eta^{n-1/2} + \Delta t P^{n+1/2} - \Delta t
319      \nabla \cdot \int \vec{\bf v}^{n+1/2} dh^{n} \nonumber \\
320                 & = & \eta^{n-1/2} + \Delta t P^{n+1/2} - \Delta t
321      \nabla \cdot \int \!\!\! \left( \vec{\bf v}^* - g \Delta t \nabla \eta^{n+1/2} \right) dh^{n}
322    \label{eq:nstar-nlfs} \\
323    \vec{\bf v}^{n+1/2}\hspace{-2mm} & = &
324    \vec{\bf v}^{*} - g \Delta t \nabla \eta^{n+1/2}
325    \label{eq:v-n+1-nlfs} \\
326    h^{n+1} & = & h^{n} + \Delta t P^{n+1/2} - \Delta t
327      \nabla \cdot \int \vec{\bf v}^{n+1/2} dh^{n}
328    \label{eq:h-n+1-nlfs} \\
329    G_{\theta}^{n} & = & G_{\theta} ( dh^{n}, u^{n+1/2}, \theta^{n} )
330    \hspace{+2mm};\hspace{+2mm}
331    G_{\theta}^{(n+1/2)} = \frac{3}{2} G_{\theta}^{n} - \frac{1}{2} G_{\theta}^{n-1}
332    \label{eq:Gt-n-nlfs} \\
333    %\theta^{n+1} & = &\theta^{n} + \frac{\Delta t}{dh^{n+1}} \left( dh^n
334    %G_{\theta}^{(n+1/2)} + Q^{n+1/2} + P^{n+1/2} (\theta_{\mathrm{rain}}-\theta^n) \right)
335    \theta^{n+1} & = &\theta^{n} + \Delta t \frac{dh^n}{dh^{n+1}} \left(
336    G_{\theta}^{(n+1/2)}
337    +( P^{n+1/2} (\theta_{\mathrm{rain}}-\theta^n) + Q^{n+1/2})/dh^n \right)
338    \nonumber \\
339    & & \label{eq:t-n+1-nlfs}
340    \end{eqnarray}
341    %-------------------------------------------------------------
342    Two steps have been added to linear free-surface algorithm
343    (eq. \ref{eq:Gv-n-staggered} to \ref{eq:t-n+1-staggered}):
344    Firstly, the model ``geometry''
345  (here the {\bf hFacC,W,S}) is updated just before entering {\it  (here the {\bf hFacC,W,S}) is updated just before entering {\it
346  SOLVE\_FOR\_PRESSURE}, using the current $\eta$ field.  Then, at the  SOLVE\_FOR\_PRESSURE}, using the current $dh^{n}$ field.
347  end of the time step, the variables are advanced in time, so that  Secondly, the vertically integrated continuity equation
348  $\eta^n$ replaces $\eta^{n-1}$.  At the next time step, the tracer  (eq.\ref{eq:h-n+1-nlfs}) has been added ({\bf exactConserv}{\em =TRUE},
349  tendency ($G_\theta$) is computed using the same geometry, which is  in parameter file {\em data}, namelist {\em PARM01})
350  now consistent with $\eta^{n-1}$.  Finally, in S/R {\it  just before computing the vertical velocity, in subroutine
351  TIMESTEP\_TRACER}, the expansion/reduction ratio is applied to the  {\em INTEGR\_CONTINUITY}. This ensures that tracer and continuity equation
352  surface level to compute the new tracer field.  discretization  a Although this equation might appear
353    redundant with eq.\ref{eq:nstar-nlfs}, the integrated column
354    thickness $h^{n+1}$ can be different from $\eta^{n+1/2} + H$~:
355  \subsubsection{Free surface effect on the surface level thickness  \begin{itemize}
356  (Non-linear free surface): Momentum advection}      \item when Crank-Nickelson time-stepping is used (see section
357  \label{sect:freesurf-momentum-advection}  \ref{sect:freesurf-CrankNick}).
358    \item when filters are applied to the flow field, after
359  Regarding momentum advection,  (\ref{eq:v-n+1-nlfs}) and alter the divergence of the flow.
360  the vector invariant formulation is similar to the  \item when the solver does not iterate until convergence~;
361  advective form (as opposed to the flux form) and therefore   for example, because a too large residual target was set
362  does not need specific modification to include the   ({\bf cg2dTargetResidual}, parameter file {\em data}, namelist
363  free surface effect on the surface level thickness.   {\em PARM02}).
364  Updating the {\bf hFacC,W,S} and the {\bf recip\_hFac}(s)  \end{itemize}\noindent
365  at one given place (like describe before) is sufficient.  In this staggered time-stepping algorithm, the momentum tendencies
366    are computed using $dh^{n-1}$ geometry factors.
367  With the flux form formulation, advection of momentum  (eq.\ref{eq:Gv-n-nlfs}) and then rescaled in subroutine {\it TIMESTEP},
368  can be treated exactly as the tracer advection is.  (eq.\ref{eq:vstar-nlfs}), similarly to tracer tendencies (see section
369  Here the expansion/reduction factors ($hFacW^{n+1}/hFacW^n$ for $u$  \ref{sect:freesurf-tracer-advection}).
370  and $hFacS^{n+1}/hFacS^n$ for $v$) are simply applied in the  The tracers are stepped forward later, using the recently updated
371  subroutine {\it TIMESTEP}.  flow field ${\bf v}^{n+1/2}$ and the corresponding model geometry
372    $dh^{n}$ to compute the tendencies (eq.\ref{eq:Gt-n-nlfs});
373    Then the tendencies are rescaled by $dh^n/dh^{n+1}$ to derive
374    the new tracers values $(\theta,S)^{n+1}$ (eq.\ref{eq:t-n+1-nlfs},
375    in subroutine {\em CALC\_GT, CALC\_GS}).
376    
377    Note that the fresh-water input is added in a consistent way in the
378    continuity equation and in the tracer equation, taking into account
379    the fresh-water temperature $\theta_{\mathrm{rain}}$.
380    
381    Regarding the restart procedure,
382    two 2.D fields $h^{n-1}$ and $(h^n-h^{n-1})/\Delta t$
383    in addition to the standard
384    state variables and tendencies ($\eta^{n-1/2}$, ${\bf v}^{n-1/2}$,
385    $\theta^n$, $S^n$, ${\bf G}_{\bf v}^{n-3/2}$, $G_{\theta,S}^{n-1}$)
386    are stored in a "{\em pickup}" file.
387    The model restarts reading this "{\em pickup}" file,
388    then update the model geometry according to $h^{n-1}$,
389    and compute $h^n$ and the vertical velocity
390    %$h^n=h^{n-1} + \Delta t [(h^n-h^{n-1})/\Delta t]$,
391    before starting the main calling sequence (eq.\ref{eq:phi-hyd-nlfs}
392    to \ref{eq:t-n+1-nlfs}, {\em S/R FORWARD\_STEP}).
393    \\
394    
395    \fbox{ \begin{minipage}{4.75in}
396    {\em INTEGR\_CONTINUITY} ({\em integr\_continuity.F})
397    
398    $h^{n+1} -H_o$: {\bf etaH} ({\em DYNVARS.h})
399    
400    $h^{n} -H_o$: {\bf etaHnm1} ({\em SURFACE.h})
401    
402    $h^{n+1}-h^{n}/\Delta t$: {\bf dEtaHdt} ({\em SURFACE.h})
403    
404    \end{minipage} }
405    
406    \subsubsection{Non-linear free-surface and vertical resolution}
407    \label{sect:nonlin-freesurf-dz_surf}
408    
409    When the amplitude of the free-surface variations becomes
410    as large as the vertical resolution near the surface,
411    the surface layer thickness can decrease to nearly zero or
412    can even vanish completely.
413    This later possibility has not been implemented, and a
414    minimum relative thickness is imposed ({\bf hFacInf},
415    parameter file {\em data}, namelist {\em PARM01}) to prevent
416    numerical instabilities caused by very thin surface level.
417    
418    A better alternative to the vanishing level problem has been
419    found and implemented recently, and rely on a different
420    vertical coordinate $r^*$~:
421    The time variation ot the total column thickness becomes
422    part of the r* coordinate motion, as in a $\sigma_{z},\sigma_{p}$
423    model, but the fixed part related to topography is treated
424    as in a height or pressure coordinate model.
425    A complete description is given in \cite{adcroft:04a}.
426    
427    The time-stepping implementation of the $r^*$ coordinate is
428    identical to the non-linear free-surface in $r$ coordinate,
429    and differences appear only in the spacial discretization.
430    \marginpar{needs a subsection ref. here}
431    

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22