/[MITgcm]/manual/s_phys_pkgs/text/seaice.tex
ViewVC logotype

Contents of /manual/s_phys_pkgs/text/seaice.tex

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


Revision 1.20 - (show annotations) (download) (as text)
Mon Mar 31 11:30:21 2014 UTC (10 years, 1 month ago) by mlosch
Branch: MAIN
Changes since 1.19: +197 -28 lines
File MIME type: application/x-tex
add description of JFNK solver, update list of CPP-flags

1 % $Header: /u/gcmpack/manual/s_phys_pkgs/text/seaice.tex,v 1.19 2011/12/14 11:22:42 mlosch Exp $
2 % $Name: $
3
4 %%EH3 Copied from "MITgcm/pkg/seaice/seaice_description.tex"
5 %%EH3 which was written by Dimitris M.
6
7
8 \subsection{SEAICE Package}
9 \label{sec:pkg:seaice}
10 \begin{rawhtml}
11 <!-- CMIREDIR:package_seaice: -->
12 \end{rawhtml}
13
14 Authors: Martin Losch, Dimitris Menemenlis, An Nguyen, Jean-Michel Campin,
15 Patrick Heimbach, Chris Hill and Jinlun Zhang
16
17 %----------------------------------------------------------------------
18 \subsubsection{Introduction
19 \label{sec:pkg:seaice:intro}}
20
21
22 Package ``seaice'' provides a dynamic and thermodynamic interactive
23 sea-ice model.
24
25 CPP options enable or disable different aspects of the package
26 (Section \ref{sec:pkg:seaice:config}).
27 Run-Time options, flags, filenames and field-related dates/times are
28 set in \code{data.seaice}
29 (Section \ref{sec:pkg:seaice:runtime}).
30 A description of key subroutines is given in Section
31 \ref{sec:pkg:seaice:subroutines}.
32 Input fields, units and sign conventions are summarized in
33 Section \ref{sec:pkg:seaice:fields_units}, and available diagnostics
34 output is listed in Section \ref{sec:pkg:seaice:diagnostics}.
35
36 %----------------------------------------------------------------------
37
38 \subsubsection{SEAICE configuration, compiling \& running}
39
40 \paragraph{Compile-time options
41 \label{sec:pkg:seaice:config}}
42 ~
43
44 As with all MITgcm packages, SEAICE can be turned on or off at compile time
45 %
46 \begin{itemize}
47 %
48 \item
49 using the \code{packages.conf} file by adding \code{seaice} to it,
50 %
51 \item
52 or using \code{genmake2} adding
53 \code{-enable=seaice} or \code{-disable=seaice} switches
54 %
55 \item
56 \textit{required packages and CPP options}: \\
57 SEAICE requires the external forcing package \code{exf} to be enabled;
58 no additional CPP options are required.
59 %
60 \end{itemize}
61 (see Section \ref{sec:buildingCode}).
62
63 Parts of the SEAICE code can be enabled or disabled at compile time
64 via CPP preprocessor flags. These options are set in
65 \code{SEAICE\_OPTIONS.h}.
66 Table \ref{tab:pkg:seaice:cpp} summarizes the most important ones.
67
68 \begin{table}[!ht]
69 \centering
70 \label{tab:pkg:seaice:cpp}
71 {\footnotesize
72 \begin{tabular}{|l|p{10cm}|}
73 \hline
74 \textbf{CPP option} & \textbf{Description} \\
75 \hline \hline
76 \code{SEAICE\_DEBUG} &
77 Enhance STDOUT for debugging \\
78 \code{SEAICE\_ALLOW\_DYNAMICS} &
79 sea-ice dynamics code \\
80 \code{SEAICE\_CGRID} &
81 LSR solver on C-grid (rather than original B-grid) \\
82 \code{SEAICE\_ALLOW\_EVP} &
83 enable use of EVP rheology solver \\
84 \code{SEAICE\_ALLOW\_JFNK} &
85 enable use of JFNK rheology solver \\
86 \code{SEAICE\_EXTERNAL\_FLUXES} &
87 use EXF-computed fluxes as starting point \\
88 \code{SEAICE\_ZETA\_SMOOTHREG} &
89 use differentialable regularization for viscosities \\
90 \code{SEAICE\_VARIABLE\_FREEZING\_POINT} &
91 enable linear dependence of the freezing point on salinity
92 (by default undefined)\\
93 \code{ALLOW\_SEAICE\_FLOODING} &
94 enable snow to ice conversion for submerged sea-ice \\
95 \code{SEAICE\_VARIABLE\_SALINITY} &
96 enable sea-ice with variable salinity (by default undefined) \\
97 \code{SEAICE\_SITRACER} &
98 enable sea-ice tracer package (by default undefined) \\
99 \code{SEAICE\_BICE\_STRESS} &
100 B-grid only for backward compatiblity: turn on ice-stress on
101 ocean\\
102 \code{EXPLICIT\_SSH\_SLOPE} &
103 B-grid only for backward compatiblity: use ETAN for tilt
104 computations rather than geostrophic velocities \\
105 \hline
106 \end{tabular}
107 }
108 \caption{Some of the most relevant CPP preprocessor flags in the
109 \code{seaice}-package.}
110 \end{table}
111
112 %----------------------------------------------------------------------
113
114 \subsubsection{Run-time parameters
115 \label{sec:pkg:seaice:runtime}}
116
117 Run-time parameters (see Table~\ref{tab:pkg:seaice:runtimeparms}) are set
118 in files \code{data.pkg} (read in \code{packages\_readparms.F}), and
119 \code{data.seaice} (read in \code{seaice\_readparms.F}).
120
121 \paragraph{Enabling the package}
122 ~ \\
123 %
124 A package is switched on/off at run-time by setting
125 (e.g. for SEAICE) \code{useSEAICE = .TRUE.} in \code{data.pkg}.
126
127 \paragraph{General flags and parameters}
128 ~ \\
129 %
130 Table~\ref{tab:pkg:seaice:runtimeparms} lists most run-time parameters.
131 \input{s_phys_pkgs/text/seaice-parms.tex}
132
133 \paragraph{Input fields and units\label{sec:pkg:seaice:fields_units}}
134 \begin{description}
135 \item[\code{HeffFile}:] Initial sea ice thickness averaged over grid cell
136 in meters; initializes variable \code{HEFF};
137 \item[\code{AreaFile}:] Initial fractional sea ice cover, range $[0,1]$;
138 initializes variable \code{AREA};
139 \item[\code{HsnowFile}:] Initial snow thickness on sea ice averaged
140 over grid cell in meters; initializes variable \code{HSNOW};
141 \item[\code{HsaltFile}:] Initial salinity of sea ice averaged over grid
142 cell in g/m$^2$; initializes variable \code{HSALT};
143 \end{description}
144
145 %----------------------------------------------------------------------
146 \subsubsection{Description
147 \label{sec:pkg:seaice:descr}}
148
149 [TO BE CONTINUED/MODIFIED]
150
151 % Sea-ice model thermodynamics are based on Hibler
152 % \cite{hib80}, that is, a 2-category model that simulates ice thickness
153 % and concentration. Snow is simulated as per Zhang et al.
154 % \cite{zha98a}. Although recent years have seen an increased use of
155 % multi-category thickness distribution sea-ice models for climate
156 % studies, the Hibler 2-category ice model is still the most widely used
157 % model and has resulted in realistic simulation of sea-ice variability
158 % on regional and global scales. Being less complicated, compared to
159 % multi-category models, the 2-category model permits easier application
160 % of adjoint model optimization methods.
161
162 % Note, however, that the Hibler 2-category model and its variants use a
163 % so-called zero-layer thermodynamic model to estimate ice growth and
164 % decay. The zero-layer thermodynamic model assumes that ice does not
165 % store heat and, therefore, tends to exaggerate the seasonal
166 % variability in ice thickness. This exaggeration can be significantly
167 % reduced by using Semtner's \cite{sem76} three-layer thermodynamic
168 % model that permits heat storage in ice. Recently, the three-layer
169 % thermodynamic model has been reformulated by Winton \cite{win00}. The
170 % reformulation improves model physics by representing the brine content
171 % of the upper ice with a variable heat capacity. It also improves
172 % model numerics and consumes less computer time and memory. The Winton
173 % sea-ice thermodynamics have been ported to the MIT GCM; they currently
174 % reside under pkg/thsice. The package pkg/thsice is fully
175 % compatible with pkg/seaice and with pkg/exf. When turned on togeter
176 % with pkg/seaice, the zero-layer thermodynamics are replaced by the by
177 % Winton thermodynamics
178
179 The MITgcm sea ice model (MITgcm/sim) is based on a variant of the
180 viscous-plastic (VP) dynamic-thermodynamic sea ice model \citep{zhang97}
181 first introduced by \citet{hib79, hib80}. In order to adapt this model
182 to the requirements of coupled ice-ocean state estimation, many
183 important aspects of the original code have been modified and
184 improved:
185 \begin{itemize}
186 \item the code has been rewritten for an Arakawa C-grid, both B- and
187 C-grid variants are available; the C-grid code allows for no-slip
188 and free-slip lateral boundary conditions;
189 \item three different solution methods for solving the nonlinear
190 momentum equations have been adopted: LSOR \citep{zhang97}, EVP
191 \citep{hun97}, JFNK \citep{lemieux10,losch14:_jfnk};
192 \item ice-ocean stress can be formulated as in \citet{hibler87} or as in
193 \citet{cam08};
194 \item ice variables are advected by sophisticated, conservative
195 advection schemes with flux limiting;
196 \item growth and melt parameterizations have been refined and extended
197 in order to allow for more stable automatic differentiation of the code.
198 \end{itemize}
199 The sea ice model is tightly coupled to the ocean compontent of the
200 MITgcm. Heat, fresh water fluxes and surface stresses are computed
201 from the atmospheric state and -- by default -- modified by the ice
202 model at every time step.
203
204 The ice dynamics models that are most widely used for large-scale
205 climate studies are the viscous-plastic (VP) model \citep{hib79}, the
206 cavitating fluid (CF) model \citep{fla92}, and the
207 elastic-viscous-plastic (EVP) model \citep{hun97}. Compared to the VP
208 model, the CF model does not allow ice shear in calculating ice
209 motion, stress, and deformation. EVP models approximate VP by adding
210 an elastic term to the equations for easier adaptation to parallel
211 computers. Because of its higher accuracy in plastic solution and
212 relatively simpler formulation, compared to the EVP model, we decided
213 to use the VP model as the default dynamic component of our ice
214 model. To do this we extended the line successive over relaxation
215 (LSOR) method of \citet{zhang97} for use in a parallel
216 configuration. An EVP model and a free-drift implemtation can be
217 selected with runtime flags.
218
219 \paragraph{Compatibility with ice-thermodynamics package \code{thsice}\label{sec:pkg:seaice:thsice}}~\\
220 %
221 Note, that by default the \code{seaice}-package includes the orginial
222 so-called zero-layer thermodynamics following \citet{hib80} with a
223 snow cover as in \citet{zha98a}. The zero-layer thermodynamic model
224 assumes that ice does not store heat and, therefore, tends to
225 exaggerate the seasonal variability in ice thickness. This
226 exaggeration can be significantly reduced by using
227 \citeauthor{sem76}'s~[\citeyear{sem76}] three-layer thermodynamic
228 model that permits heat storage in ice. Recently, the three-layer thermodynamic model has been reformulated by
229 \citet{win00}. The reformulation improves model physics by
230 representing the brine content of the upper ice with a variable heat
231 capacity. It also improves model numerics and consumes less computer
232 time and memory.
233
234 The Winton sea-ice thermodynamics have been ported to the MIT GCM;
235 they currently reside under \code{pkg/thsice}. The package
236 \code{thsice} is described in section~\ref{sec:pkg:thsice}; it is
237 fully compatible with the packages \code{seaice} and \code{exf}. When
238 turned on together with \code{seaice}, the zero-layer thermodynamics
239 are replaced by the Winton thermodynamics. In order to use the
240 \code{seaice}-package with the thermodynamics of \code{thsice},
241 compile both packages and turn both package on in \code{data.pkg}; see
242 an example in \code{global\_ocean.cs32x15/input.icedyn}. Note, that
243 once \code{thsice} is turned on, the variables and diagnostics
244 associated to the default thermodynamics are meaningless, and the
245 diagnostics of \code{thsice} have to be used instead.
246
247 \paragraph{Surface forcing\label{sec:pkg:seaice:surfaceforcing}}~\\
248 %
249 The sea ice model requires the following input fields: 10-m winds, 2-m
250 air temperature and specific humidity, downward longwave and shortwave
251 radiations, precipitation, evaporation, and river and glacier runoff.
252 The sea ice model also requires surface temperature from the ocean
253 model and the top level horizontal velocity. Output fields are
254 surface wind stress, evaporation minus precipitation minus runoff, net
255 surface heat flux, and net shortwave flux. The sea-ice model is
256 global: in ice-free regions bulk formulae are used to estimate oceanic
257 forcing from the atmospheric fields.
258
259 \paragraph{Dynamics\label{sec:pkg:seaice:dynamics}}~\\
260 %
261 \newcommand{\vek}[1]{\ensuremath{\vec{\mathbf{#1}}}}
262 \newcommand{\vtau}{\vek{\mathbf{\tau}}}
263 The momentum equation of the sea-ice model is
264 \begin{equation}
265 \label{eq:momseaice}
266 m \frac{D\vek{u}}{Dt} = -mf\vek{k}\times\vek{u} + \vtau_{air} +
267 \vtau_{ocean} - m \nabla{\phi(0)} + \vek{F},
268 \end{equation}
269 where $m=m_{i}+m_{s}$ is the ice and snow mass per unit area;
270 $\vek{u}=u\vek{i}+v\vek{j}$ is the ice velocity vector;
271 $\vek{i}$, $\vek{j}$, and $\vek{k}$ are unit vectors in the $x$, $y$, and $z$
272 directions, respectively;
273 $f$ is the Coriolis parameter;
274 $\vtau_{air}$ and $\vtau_{ocean}$ are the wind-ice and ocean-ice stresses,
275 respectively;
276 $g$ is the gravity accelation;
277 $\nabla\phi(0)$ is the gradient (or tilt) of the sea surface height;
278 $\phi(0) = g\eta + p_{a}/\rho_{0} + mg/\rho_{0}$ is the sea surface
279 height potential in response to ocean dynamics ($g\eta$), to
280 atmospheric pressure loading ($p_{a}/\rho_{0}$, where $\rho_{0}$ is a
281 reference density) and a term due to snow and ice loading \citep{cam08};
282 and $\vek{F}=\nabla\cdot\sigma$ is the divergence of the internal ice
283 stress tensor $\sigma_{ij}$. %
284 Advection of sea-ice momentum is neglected. The wind and ice-ocean stress
285 terms are given by
286 \begin{align*}
287 \vtau_{air} = & \rho_{air} C_{air} |\vek{U}_{air} -\vek{u}|
288 R_{air} (\vek{U}_{air} -\vek{u}), \\
289 \vtau_{ocean} = & \rho_{ocean}C_{ocean} |\vek{U}_{ocean}-\vek{u}|
290 R_{ocean}(\vek{U}_{ocean}-\vek{u}),
291 \end{align*}
292 where $\vek{U}_{air/ocean}$ are the surface winds of the atmosphere
293 and surface currents of the ocean, respectively; $C_{air/ocean}$ are
294 air and ocean drag coefficients; $\rho_{air/ocean}$ are reference
295 densities; and $R_{air/ocean}$ are rotation matrices that act on the
296 wind/current vectors.
297
298 \paragraph{Viscous-Plastic (VP) Rheology\label{sec:pkg:seaice:VPrheology}}~\\
299 %
300 For an isotropic system the stress tensor $\sigma_{ij}$ ($i,j=1,2$) can
301 be related to the ice strain rate and strength by a nonlinear
302 viscous-plastic (VP) constitutive law \citep{hib79, zhang97}:
303 \begin{equation}
304 \label{eq:vpequation}
305 \sigma_{ij}=2\eta(\dot{\epsilon}_{ij},P)\dot{\epsilon}_{ij}
306 + \left[\zeta(\dot{\epsilon}_{ij},P) -
307 \eta(\dot{\epsilon}_{ij},P)\right]\dot{\epsilon}_{kk}\delta_{ij}
308 - \frac{P}{2}\delta_{ij}.
309 \end{equation}
310 The ice strain rate is given by
311 \begin{equation*}
312 \dot{\epsilon}_{ij} = \frac{1}{2}\left(
313 \frac{\partial{u_{i}}}{\partial{x_{j}}} +
314 \frac{\partial{u_{j}}}{\partial{x_{i}}}\right).
315 \end{equation*}
316 The maximum ice pressure $P_{\max}$, a measure of ice strength, depends on
317 both thickness $h$ and compactness (concentration) $c$:
318 \begin{equation}
319 P_{\max} = P^{*}c\,h\,\exp\{-C^{*}\cdot(1-c)\},
320 \label{eq:icestrength}
321 \end{equation}
322 with the constants $P^{*}$ (run-time parameter \code{SEAICE\_strength}) and
323 $C^{*}=20$. The nonlinear bulk and shear
324 viscosities $\eta$ and $\zeta$ are functions of ice strain rate
325 invariants and ice strength such that the principal components of the
326 stress lie on an elliptical yield curve with the ratio of major to
327 minor axis $e$ equal to $2$; they are given by:
328 \begin{align*}
329 \zeta =& \min\left(\frac{P_{\max}}{2\max(\Delta,\Delta_{\min})},
330 \zeta_{\max}\right) \\
331 \eta =& \frac{\zeta}{e^2} \\
332 \intertext{with the abbreviation}
333 \Delta = & \left[
334 \left(\dot{\epsilon}_{11}^2+\dot{\epsilon}_{22}^2\right)
335 (1+e^{-2}) + 4e^{-2}\dot{\epsilon}_{12}^2 +
336 2\dot{\epsilon}_{11}\dot{\epsilon}_{22} (1-e^{-2})
337 \right]^{\frac{1}{2}}.
338 \end{align*}
339 The bulk viscosities are bounded above by imposing both a minimum
340 $\Delta_{\min}$ (for numerical reasons, run-time parameter
341 \code{SEAICE\_EPS} with a default value of
342 $10^{-10}\text{\,s}^{-1}$) and a maximum $\zeta_{\max} =
343 P_{\max}/\Delta^*$, where
344 $\Delta^*=(5\times10^{12}/2\times10^4)\text{\,s}^{-1}$. (There is also
345 the option of bounding $\zeta$ from below by setting run-time
346 parameter \code{SEAICE\_zetaMin} $>0$, but this is generally not
347 recommended). For stress tensor computation the replacement pressure $P
348 = 2\,\Delta\zeta$ \citep{hibler95} is used so that the stress state
349 always lies on the elliptic yield curve by definition.
350
351 Defining the CPP-flag \code{SEAICE\_ZETA\_SMOOTHREG} in
352 \code{SEAICE\_OPTIONS.h} before compiling replaces the method for
353 bounding $\zeta$ by a smooth (differentiable) expression:
354 \begin{equation}
355 \label{eq:zetaregsmooth}
356 \begin{split}
357 \zeta &= \zeta_{\max}\tanh\left(\frac{P}{2\,\min(\Delta,\Delta_{\min})
358 \,\zeta_{\max}}\right)\\
359 &= \frac{P}{2\Delta^*}
360 \tanh\left(\frac{\Delta^*}{\min(\Delta,\Delta_{\min})}\right)
361 \end{split}
362 \end{equation}
363 where $\Delta_{\min}=10^{-20}\text{\,s}^{-1}$ is chosen to avoid divisions
364 by zero.
365
366 \paragraph{LSR and JFNK solver \label{sec:pkg:seaice:LSRJFNK}}~\\
367 %
368 % By default, the VP-model is integrated by a Pickwith the
369 % semi-implicit line successive over relaxation (LSOR)-solver of
370 % \citet{zhang97}, which allows for long time steps that, in our case,
371 % are limited by the explicit treatment of the Coriolis term. The
372 % explicit treatment of the Coriolis term does not represent a severe
373 % limitation because it restricts the time step to approximately the
374 % same length as in the ocean model where the Coriolis term is also
375 % treated explicitly.
376
377 \newcommand{\mat}[1]{\ensuremath{\mathbf{#1}}}
378 %
379 In the matrix notation, the discretized momentum equations can be
380 written as
381 \begin{equation}
382 \label{eq:matrixmom}
383 \mat{A}(\vek{x})\,\vek{x} = \vek{b}(\vek{x}).
384 \end{equation}
385 The solution vector $\vek{x}$ consists of the two velocity components
386 $u$ and $v$ that contain the velocity variables at all grid points and
387 at one time level. The standard (and default) method for solving
388 Eq.\,(\ref{eq:matrixmom}) in the sea ice component of the
389 \mbox{MITgcm}, as in many sea ice models, is an iterative Picard
390 solver: in the $k$-th iteration a linearized form
391 $\mat{A}(\vek{x}^{k-1})\,\vek{x}^{k} = \vek{b}(\vek{x}^{k-1})$ is
392 solved (in the case of the MITgcm it is a Line Successive (over)
393 Relaxation (LSR) algorithm \citep{zhang97}). Picard solvers converge
394 slowly, but generally the iteration is terminated after only a few
395 non-linear steps \citep{zhang97, lemieux09} and the calculation
396 continues with the next time level. This method is the default method
397 in the MITgcm. The number of non-linear iteration steps or pseudo-time
398 steps can be controlled by the runtime parameter
399 \code{NPSEUDOTIMESTEPS} (default is 2).
400
401 In order to overcome the poor convergence of the Picard-solver,
402 \citet{lemieux10} introduced a Jacobian-free Newton-Krylov solver for
403 the sea ice momentum equations. This solver is also implemented in the
404 MITgcm \citep{losch14:_jfnk}. The Newton method transforms minimizing
405 the residual $\vek{F}(\vek{x}) = \mat{A}(\vek{x})\,\vek{x} -
406 \vek{b}(\vek{x})$ to finding the roots of a multivariate Taylor
407 expansion of the residual \vek{F} around the previous ($k-1$) estimate
408 $\vek{x}^{k-1}$:
409 \begin{equation}
410 \label{eq:jfnktaylor}
411 \vek{F}(\vek{x}^{k-1}+\delta\vek{x}^{k}) =
412 \vek{F}(\vek{x}^{k-1}) + \vek{F}'(\vek{x}^{k-1})\,\delta\vek{x}^{k}
413 \end{equation}
414 with the Jacobian $\mat{J}\equiv\vek{F}'$. The root
415 $\vek{F}(\vek{x}^{k-1}+\delta\vek{x}^{k})=0$ is found by solving
416 \begin{equation}
417 \label{eq:jfnklin}
418 \mat{J}(\vek{x}^{k-1})\,\delta\vek{x}^{k} = -\vek{F}(\vek{x}^{k-1})
419 \end{equation}
420 for $\delta\vek{x}^{k}$. The next ($k$-th) estimate is given by
421 $\vek{x}^{k}=\vek{x}^{k-1}+a\,\delta\vek{x}^{k}$. In order to avoid
422 overshoots the factor $a$ is iteratively reduced in a line search
423 ($a=1, \frac{1}{2}, \frac{1}{4}, \frac{1}{8}, \ldots$) until
424 $\|\vek{F}(\vek{x}^k)\| < \|\vek{F}(\vek{x}^{k-1})\|$, where
425 $\|\cdot\|=\int\cdot\,dx^2$ is the $L_2$-norm. In practice, the line
426 search is stopped at $a=\frac{1}{8}$. The line search starts after
427 $\code{SEAICE\_JFNK\_lsIter}$ non-linear Newton iterations (off by
428 default).
429
430
431 Forming the Jacobian $\mat{J}$ explicitly is often avoided as ``too
432 error prone and time consuming'' \citep{knoll04:_jfnk}. Instead,
433 Krylov methods only require the action of \mat{J} on an arbitrary
434 vector \vek{w} and hence allow a matrix free algorithm for solving
435 Eq.\,(\ref{eq:jfnklin}) \citep{knoll04:_jfnk}. The action of \mat{J}
436 can be approximated by a first-order Taylor series expansion:
437 \begin{equation}
438 \label{eq:jfnkjacvecfd}
439 \mat{J}(\vek{x}^{k-1})\,\vek{w} \approx
440 \frac{\vek{F}(\vek{x}^{k-1}+\epsilon\vek{w}) - \vek{F}(\vek{x}^{k-1})}
441 {\epsilon}
442 \end{equation}
443 or computed exactly with the help of automatic differentiation (AD)
444 tools. \code{SEAICE\_JFNKepsilon} sets the step size
445 $\epsilon$.
446
447 We use the Flexible Generalized Minimum RESidual method
448 \citep[FGMRES,][]{saad93:_fgmres} with right-hand side preconditioning
449 to solve Eq.\,(\ref{eq:jfnklin}) iteratively starting from a first
450 guess of $\delta\vek{x}^{k}_{0} = 0$. For the preconditioning matrix
451 \mat{P} we choose a simplified form of the system matrix
452 $\mat{A}(\vek{x}^{k-1})$ \citep{lemieux10} where $\vek{x}^{k-1}$ is
453 the estimate of the previous Newton step $k-1$. The transformed
454 equation\,(\ref{eq:jfnklin}) becomes
455 \begin{equation}
456 \label{eq:jfnklinpc}
457 \mat{J}(\vek{x}^{k-1})\,\mat{P}^{-1}\delta\vek{z} =
458 -\vek{F}(\vek{x}^{k-1}),
459 \quad\text{with}\quad \delta\vek{z}=\mat{P}\delta\vek{x}^{k}.
460 \end{equation}
461 The Krylov method iteratively improves the approximate solution
462 to~(\ref{eq:jfnklinpc}) in subspace ($\vek{r}_0$,
463 $\mat{J}\mat{P}^{-1}\vek{r}_0$, $(\mat{J}\mat{P}^{-1})^2\vek{r}_0$,
464 \ldots, $(\mat{J}\mat{P}^{-1})^m\vek{r}_0$) with increasing $m$;
465 $\vek{r}_0 = -\vek{F}(\vek{x}^{k-1})
466 -\mat{J}(\vek{x}^{k-1})\,\delta\vek{x}^{k}_{0}$
467 %-\vek{F}(\vek{x}^{k-1})
468 %-\mat{J}(\vek{x}^{k-1})\,\mat{P}^{-1}\delta\vek{z}$
469 is the initial residual of
470 (\ref{eq:jfnklin}); $\vek{r}_0=-\vek{F}(\vek{x}^{k-1})$ with the first
471 guess $\delta\vek{x}^{k}_{0}=0$. We allow a Krylov-subspace of
472 dimension~$m=50$ and we do not use restarts. The preconditioning operation
473 involves applying $\mat{P}^{-1}$ to the basis vectors $\vek{v}_0,
474 \vek{v}_1, \vek{v}_2, \ldots, \vek{v}_m$ of the Krylov subspace. This
475 operation is approximated by solving the linear system
476 $\mat{P}\,\vek{w}=\vek{v}_i$. Because $\mat{P} \approx
477 \mat{A}(\vek{x}^{k-1})$, we can use the LSR-algorithm \citep{zhang97}
478 already implemented in the Picard solver. Each preconditioning
479 operation uses a fixed number of 10~LSR-iterations avoiding any
480 termination criterion. More details and results can be found in
481 \citet{lemieux10, losch14:_jfnk}.
482
483 To use the JFNK-solver set \code{SEAICEuseJFNK = .TRUE.} in the
484 namelist file \code{data.seaice}; \code{SEAICE\_ALLOW\_JFNK} needs to
485 be defined in \code{SEAICE\_OPTIONS.h} and we recommend using a smooth
486 regularization of $\zeta$ by defining \code{SEAICE\_ZETA\_SMOOTHREG}
487 (see above) for better convergence. The non-linear Newton iteration
488 is terminated when the $L_2$-norm of the residual is reduced by
489 $\gamma_{\mathrm{nl}}$ (runtime parameter \code{JFNKgamma\_nonlin =
490 1.e-4} will already lead to expensive simulations) with respect to
491 the initial norm: $\|\vek{F}(\vek{x}^k)\| <
492 \gamma_{\mathrm{nl}}\|\vek{F}(\vek{x}^0)\|$. Within a non-linear
493 iteration, the linear FGMRES solver is terminated when the residual is
494 smaller than $\gamma_k\|\vek{F}(\vek{x}^{k-1})\|$ where $\gamma_k$ is
495 determined by
496 \begin{equation}
497 \label{eq:jfnkgammalin}
498 \gamma_k =
499 \begin{cases}
500 \gamma_0 &\text{for $\|\vek{F}(\vek{x}^{k-1})\| \geq r$}, \\
501 \max\left(\gamma_{\min},
502 \frac{\|\vek{F}(\vek{x}^{k-1})\|}{\|\vek{F}(\vek{x}^{k-2})\|}\right)
503 % \phi\left(\frac{\|\vek{F}(\vek{x}^{k-1})\|}{\|\vek{F}(\vek{x}^{k-2})\|}\right)^\alpha\right)
504 &\text{for $\|\vek{F}(\vek{x}^{k-1})\| < r$,}
505 \end{cases}
506 \end{equation}
507 so that the linear tolerance parameter $\gamma_k$ decreases with the
508 non-linear Newton step as the non-linear solution is approached. This
509 inexact Newton method is generally more robust and computationally
510 more efficient than exact methods \citep[e.g.,][]{knoll04:_jfnk}.
511 % \footnote{The general idea behind
512 % inexact Newton methods is this: The Krylov solver is ``only''
513 % used to find an intermediate solution of the linear
514 % equation\,(\ref{eq:jfnklin}) that is used to improve the approximation of
515 % the actual equation\,(\ref{eq:matrixmom}). With the choice of a
516 % relatively weak lower limit for FGMRES convergence
517 % $\gamma_{\min}$ we make sure that the time spent in the FGMRES
518 % solver is reduced at the cost of more Newton iterations. Newton
519 % iterations are cheaper than Krylov iterations so that this choice
520 % improves the overall efficiency.}
521 Typical parameter choices are
522 $\gamma_0=\code{JFNKgamma\_lin\_max}=0.99$,
523 $\gamma_{\min}=\code{JFNKgamma\_lin\_min}=0.1$, and $r =
524 \code{JFNKres\_tFac}\times\|\vek{F}(\vek{x}^{0})\|$ with
525 $\code{JFNKres\_tFac} = \frac{1}{2}$. We recommend a maximum number of
526 non-linear iterations $\code{SEAICEnewtonIterMax} = 100$ and a maximum
527 number of Krylov iterations $\code{SEAICEkrylovIterMax} = 50$, because
528 the Krylov subspace has a fixed dimension of 50.
529
530 \paragraph{Elastic-Viscous-Plastic (EVP) Dynamics\label{sec:pkg:seaice:EVPdynamics}}~\\
531 %
532 \citet{hun97}'s introduced an elastic contribution to the strain
533 rate in order to regularize Eq.~\ref{eq:vpequation} in such a way that
534 the resulting elastic-viscous-plastic (EVP) and VP models are
535 identical at steady state,
536 \begin{equation}
537 \label{eq:evpequation}
538 \frac{1}{E}\frac{\partial\sigma_{ij}}{\partial{t}} +
539 \frac{1}{2\eta}\sigma_{ij}
540 + \frac{\eta - \zeta}{4\zeta\eta}\sigma_{kk}\delta_{ij}
541 + \frac{P}{4\zeta}\delta_{ij}
542 = \dot{\epsilon}_{ij}.
543 \end{equation}
544 %In the EVP model, equations for the components of the stress tensor
545 %$\sigma_{ij}$ are solved explicitly. Both model formulations will be
546 %used and compared the present sea-ice model study.
547 The EVP-model uses an explicit time stepping scheme with a short
548 timestep. According to the recommendation of \citet{hun97}, the
549 EVP-model should be stepped forward in time 120 times
550 ($\code{SEAICE\_deltaTevp} = \code{SEAICIE\_deltaTdyn}/120$) within
551 the physical ocean model time step (although this parameter is under
552 debate), to allow for elastic waves to disappear. Because the scheme
553 does not require a matrix inversion it is fast in spite of the small
554 internal timestep and simple to implement on parallel computers
555 \citep{hun97}. For completeness, we repeat the equations for the
556 components of the stress tensor $\sigma_{1} =
557 \sigma_{11}+\sigma_{22}$, $\sigma_{2}= \sigma_{11}-\sigma_{22}$, and
558 $\sigma_{12}$. Introducing the divergence $D_D =
559 \dot{\epsilon}_{11}+\dot{\epsilon}_{22}$, and the horizontal tension
560 and shearing strain rates, $D_T =
561 \dot{\epsilon}_{11}-\dot{\epsilon}_{22}$ and $D_S =
562 2\dot{\epsilon}_{12}$, respectively, and using the above
563 abbreviations, the equations~\ref{eq:evpequation} can be written as:
564 \begin{align}
565 \label{eq:evpstresstensor1}
566 \frac{\partial\sigma_{1}}{\partial{t}} + \frac{\sigma_{1}}{2T} +
567 \frac{P}{2T} &= \frac{P}{2T\Delta} D_D \\
568 \label{eq:evpstresstensor2}
569 \frac{\partial\sigma_{2}}{\partial{t}} + \frac{\sigma_{2} e^{2}}{2T}
570 &= \frac{P}{2T\Delta} D_T \\
571 \label{eq:evpstresstensor12}
572 \frac{\partial\sigma_{12}}{\partial{t}} + \frac{\sigma_{12} e^{2}}{2T}
573 &= \frac{P}{4T\Delta} D_S
574 \end{align}
575 Here, the elastic parameter $E$ is redefined in terms of a damping
576 timescale $T$ for elastic waves \[E=\frac{\zeta}{T}.\]
577 $T=E_{0}\Delta{t}$ with the tunable parameter $E_0<1$ and the external
578 (long) timestep $\Delta{t}$. $E_{0} = \frac{1}{3}$ is the default
579 value in the code and close to what \citet{hun97} and
580 \citet{hun01} recommend.
581
582 To use the EVP solver, make sure that both \code{SEAICE\_CGRID} and
583 \code{SEAICE\_ALLOW\_EVP} are defined in \code{SEAICE\_OPTIONS.h}
584 (default). The solver is turned on by setting the sub-cycling time
585 step \code{SEAICE\_deltaTevp} to a value larger than zero. The
586 choice of this time step is under debate. \citet{hun97} recommend
587 order(120) time steps for the EVP solver within one model time step
588 $\Delta{t}$ (\code{deltaTmom}). One can also choose order(120) time
589 steps within the forcing time scale, but then we recommend adjusting
590 the damping time scale $T$ accordingly, by setting either
591 \code{SEAICE\_elasticParm} ($E_{0}$), so that
592 $E_{0}\Delta{t}=\mbox{forcing time scale}$, or directly
593 \code{SEAICE\_evpTauRelax} ($T$) to the forcing time scale.
594
595 \paragraph{Truncated ellipse method (TEM) for yield curve \label{sec:pkg:seaice:TEM}}~\\
596 %
597 In the so-called truncated ellipse method the shear viscosity $\eta$
598 is capped to suppress any tensile stress \citep{hibler97, geiger98}:
599 \begin{equation}
600 \label{eq:etatem}
601 \eta = \min\left(\frac{\zeta}{e^2},
602 \frac{\frac{P}{2}-\zeta(\dot{\epsilon}_{11}+\dot{\epsilon}_{22})}
603 {\sqrt{(\dot{\epsilon}_{11}+\dot{\epsilon}_{22})^2
604 +4\dot{\epsilon}_{12}^2}}\right).
605 \end{equation}
606 To enable this method, set \code{\#define SEAICE\_ALLOW\_TEM} in
607 \code{SEAICE\_OPTIONS.h} and turn it on with
608 \code{SEAICEuseTEM} in \code{data.seaice}.
609
610 \paragraph{Ice-Ocean stress \label{sec:pkg:seaice:iceoceanstress}}~\\
611 %
612 Moving sea ice exerts a stress on the ocean which is the opposite of
613 the stress $\vtau_{ocean}$ in Eq.~\ref{eq:momseaice}. This stess is
614 applied directly to the surface layer of the ocean model. An
615 alternative ocean stress formulation is given by \citet{hibler87}.
616 Rather than applying $\vtau_{ocean}$ directly, the stress is derived
617 from integrating over the ice thickness to the bottom of the oceanic
618 surface layer. In the resulting equation for the \emph{combined}
619 ocean-ice momentum, the interfacial stress cancels and the total
620 stress appears as the sum of windstress and divergence of internal ice
621 stresses: $\delta(z) (\vtau_{air} + \vek{F})/\rho_0$, \citep[see also
622 Eq.\,2 of][]{hibler87}. The disadvantage of this formulation is that
623 now the velocity in the surface layer of the ocean that is used to
624 advect tracers, is really an average over the ocean surface
625 velocity and the ice velocity leading to an inconsistency as the ice
626 temperature and salinity are different from the oceanic variables.
627 To turn on the stress formulation of \citet{hibler87}, set
628 \code{useHB87StressCoupling=.TRUE.} in \code{data.seaice}.
629
630
631 % Our discretization differs from \citet{zhang97, zhang03} in the
632 % underlying grid, namely the Arakawa C-grid, but is otherwise
633 % straightforward. The EVP model, in particular, is discretized
634 % naturally on the C-grid with $\sigma_{1}$ and $\sigma_{2}$ on the
635 % center points and $\sigma_{12}$ on the corner (or vorticity) points of
636 % the grid. With this choice all derivatives are discretized as central
637 % differences and averaging is only involved in computing $\Delta$ and
638 % $P$ at vorticity points.
639
640 \paragraph{Finite-volume discretization of the stress tensor
641 divergence\label{sec:pkg:seaice:discretization}}~\\
642 %
643 On an Arakawa C~grid, ice thickness and concentration and thus ice
644 strength $P$ and bulk and shear viscosities $\zeta$ and $\eta$ are
645 naturally defined a C-points in the center of the grid
646 cell. Discretization requires only averaging of $\zeta$ and $\eta$ to
647 vorticity or Z-points (or $\zeta$-points, but here we use Z in order
648 avoid confusion with the bulk viscosity) at the bottom left corner of
649 the cell to give $\overline{\zeta}^{Z}$ and $\overline{\eta}^{Z}$. In
650 the following, the superscripts indicate location at Z or C points,
651 distance across the cell (F), along the cell edge (G), between
652 $u$-points (U), $v$-points (V), and C-points (C). The control volumes
653 of the $u$- and $v$-equations in the grid cell at indices $(i,j)$ are
654 $A_{i,j}^{w}$ and $A_{i,j}^{s}$, respectively. With these definitions
655 (which follow the model code documentation except that $\zeta$-points
656 have been renamed to Z-points), the strain rates are discretized as:
657 \begin{align}
658 \dot{\epsilon}_{11} &= \partial_{1}{u}_{1} + k_{2}u_{2} \\ \notag
659 => (\epsilon_{11})_{i,j}^C &= \frac{u_{i+1,j}-u_{i,j}}{\Delta{x}_{i,j}^{F}}
660 + k_{2,i,j}^{C}\frac{v_{i,j+1}+v_{i,j}}{2} \\
661 \dot{\epsilon}_{22} &= \partial_{2}{u}_{2} + k_{1}u_{1} \\\notag
662 => (\epsilon_{22})_{i,j}^C &= \frac{v_{i,j+1}-v_{i,j}}{\Delta{y}_{i,j}^{F}}
663 + k_{1,i,j}^{C}\frac{u_{i+1,j}+u_{i,j}}{2} \\
664 \dot{\epsilon}_{12} = \dot{\epsilon}_{21} &= \frac{1}{2}\biggl(
665 \partial_{1}{u}_{2} + \partial_{2}{u}_{1} - k_{1}u_{2} - k_{2}u_{1}
666 \biggr) \\ \notag
667 => (\epsilon_{12})_{i,j}^Z &= \frac{1}{2}
668 \biggl( \frac{v_{i,j}-v_{i-1,j}}{\Delta{x}_{i,j}^V}
669 + \frac{u_{i,j}-u_{i,j-1}}{\Delta{y}_{i,j}^U} \\\notag
670 &\phantom{=\frac{1}{2}\biggl(}
671 - k_{1,i,j}^{Z}\frac{v_{i,j}+v_{i-1,j}}{2}
672 - k_{2,i,j}^{Z}\frac{u_{i,j}+u_{i,j-1}}{2}
673 \biggr),
674 \end{align}
675 so that the diagonal terms of the strain rate tensor are naturally
676 defined at C-points and the symmetric off-diagonal term at
677 Z-points. No-slip boundary conditions ($u_{i,j-1}+u_{i,j}=0$ and
678 $v_{i-1,j}+v_{i,j}=0$ across boundaries) are implemented via
679 ``ghost-points''; for free slip boundary conditions
680 $(\epsilon_{12})^Z=0$ on boundaries.
681
682 For a spherical polar grid, the coefficients of the metric terms are
683 $k_{1}=0$ and $k_{2}=-\tan\phi/a$, with the spherical radius $a$ and
684 the latitude $\phi$; $\Delta{x}_1 = \Delta{x} = a\cos\phi
685 \Delta\lambda$, and $\Delta{x}_2 = \Delta{y}=a\Delta\phi$. For a
686 general orthogonal curvilinear grid, $k_{1}$ and
687 $k_{2}$ can be approximated by finite differences of the cell widths:
688 \begin{align}
689 k_{1,i,j}^{C} &= \frac{1}{\Delta{y}_{i,j}^{F}}
690 \frac{\Delta{y}_{i+1,j}^{G}-\Delta{y}_{i,j}^{G}}{\Delta{x}_{i,j}^{F}} \\
691 k_{2,i,j}^{C} &= \frac{1}{\Delta{x}_{i,j}^{F}}
692 \frac{\Delta{x}_{i,j+1}^{G}-\Delta{x}_{i,j}^{G}}{\Delta{y}_{i,j}^{F}} \\
693 k_{1,i,j}^{Z} &= \frac{1}{\Delta{y}_{i,j}^{U}}
694 \frac{\Delta{y}_{i,j}^{C}-\Delta{y}_{i-1,j}^{C}}{\Delta{x}_{i,j}^{V}} \\
695 k_{2,i,j}^{Z} &= \frac{1}{\Delta{x}_{i,j}^{V}}
696 \frac{\Delta{x}_{i,j}^{C}-\Delta{x}_{i,j-1}^{C}}{\Delta{y}_{i,j}^{U}}
697 \end{align}
698
699 The stress tensor is given by the constitutive viscous-plastic
700 relation $\sigma_{\alpha\beta} = 2\eta\dot{\epsilon}_{\alpha\beta} +
701 [(\zeta-\eta)\dot{\epsilon}_{\gamma\gamma} - P/2
702 ]\delta_{\alpha\beta}$ \citep{hib79}. The stress tensor divergence
703 $(\nabla\sigma)_{\alpha} = \partial_\beta\sigma_{\beta\alpha}$, is
704 discretized in finite volumes. This conveniently avoids dealing with
705 further metric terms, as these are ``hidden'' in the differential cell
706 widths. For the $u$-equation ($\alpha=1$) we have:
707 \begin{align}
708 (\nabla\sigma)_{1}: \phantom{=}&
709 \frac{1}{A_{i,j}^w}
710 \int_{\mathrm{cell}}(\partial_1\sigma_{11}+\partial_2\sigma_{21})\,dx_1\,dx_2
711 \\\notag
712 =& \frac{1}{A_{i,j}^w} \biggl\{
713 \int_{x_2}^{x_2+\Delta{x}_2}\sigma_{11}dx_2\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}}
714 + \int_{x_1}^{x_1+\Delta{x}_1}\sigma_{21}dx_1\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}}
715 \biggr\} \\ \notag
716 \approx& \frac{1}{A_{i,j}^w} \biggl\{
717 \Delta{x}_2\sigma_{11}\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}}
718 + \Delta{x}_1\sigma_{21}\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}}
719 \biggr\} \\ \notag
720 =& \frac{1}{A_{i,j}^w} \biggl\{
721 (\Delta{x}_2\sigma_{11})_{i,j}^C -
722 (\Delta{x}_2\sigma_{11})_{i-1,j}^C
723 \\\notag
724 \phantom{=}& \phantom{\frac{1}{A_{i,j}^w} \biggl\{}
725 + (\Delta{x}_1\sigma_{21})_{i,j+1}^Z - (\Delta{x}_1\sigma_{21})_{i,j}^Z
726 \biggr\}
727 \end{align}
728 with
729 \begin{align}
730 (\Delta{x}_2\sigma_{11})_{i,j}^C =& \phantom{+}
731 \Delta{y}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j}
732 \frac{u_{i+1,j}-u_{i,j}}{\Delta{x}_{i,j}^{F}} \\ \notag
733 &+ \Delta{y}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j}
734 k_{2,i,j}^C \frac{v_{i,j+1}+v_{i,j}}{2} \\ \notag
735 \phantom{=}& + \Delta{y}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j}
736 \frac{v_{i,j+1}-v_{i,j}}{\Delta{y}_{i,j}^{F}} \\ \notag
737 \phantom{=}& + \Delta{y}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j}
738 k_{1,i,j}^{C}\frac{u_{i+1,j}+u_{i,j}}{2} \\ \notag
739 \phantom{=}& - \Delta{y}_{i,j}^{F} \frac{P}{2} \\
740 (\Delta{x}_1\sigma_{21})_{i,j}^Z =& \phantom{+}
741 \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j}
742 \frac{u_{i,j}-u_{i,j-1}}{\Delta{y}_{i,j}^{U}} \\ \notag
743 & + \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j}
744 \frac{v_{i,j}-v_{i-1,j}}{\Delta{x}_{i,j}^{V}} \\ \notag
745 & - \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j}
746 k_{2,i,j}^{Z}\frac{u_{i,j}+u_{i,j-1}}{2} \\ \notag
747 & - \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j}
748 k_{1,i,j}^{Z}\frac{v_{i,j}+v_{i-1,j}}{2}
749 \end{align}
750
751 Similarly, we have for the $v$-equation ($\alpha=2$):
752 \begin{align}
753 (\nabla\sigma)_{2}: \phantom{=}&
754 \frac{1}{A_{i,j}^s}
755 \int_{\mathrm{cell}}(\partial_1\sigma_{12}+\partial_2\sigma_{22})\,dx_1\,dx_2
756 \\\notag
757 =& \frac{1}{A_{i,j}^s} \biggl\{
758 \int_{x_2}^{x_2+\Delta{x}_2}\sigma_{12}dx_2\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}}
759 + \int_{x_1}^{x_1+\Delta{x}_1}\sigma_{22}dx_1\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}}
760 \biggr\} \\ \notag
761 \approx& \frac{1}{A_{i,j}^s} \biggl\{
762 \Delta{x}_2\sigma_{12}\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}}
763 + \Delta{x}_1\sigma_{22}\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}}
764 \biggr\} \\ \notag
765 =& \frac{1}{A_{i,j}^s} \biggl\{
766 (\Delta{x}_2\sigma_{12})_{i+1,j}^Z - (\Delta{x}_2\sigma_{12})_{i,j}^Z
767 \\ \notag
768 \phantom{=}& \phantom{\frac{1}{A_{i,j}^s} \biggl\{}
769 + (\Delta{x}_1\sigma_{22})_{i,j}^C - (\Delta{x}_1\sigma_{22})_{i,j-1}^C
770 \biggr\}
771 \end{align}
772 with
773 \begin{align}
774 (\Delta{x}_1\sigma_{12})_{i,j}^Z =& \phantom{+}
775 \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j}
776 \frac{u_{i,j}-u_{i,j-1}}{\Delta{y}_{i,j}^{U}}
777 \\\notag &
778 + \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j}
779 \frac{v_{i,j}-v_{i-1,j}}{\Delta{x}_{i,j}^{V}} \\\notag
780 &- \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j}
781 k_{2,i,j}^{Z}\frac{u_{i,j}+u_{i,j-1}}{2}
782 \\\notag &
783 - \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j}
784 k_{1,i,j}^{Z}\frac{v_{i,j}+v_{i-1,j}}{2} \\ \notag
785 (\Delta{x}_2\sigma_{22})_{i,j}^C =& \phantom{+}
786 \Delta{x}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j}
787 \frac{u_{i+1,j}-u_{i,j}}{\Delta{x}_{i,j}^{F}} \\ \notag
788 &+ \Delta{x}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j}
789 k_{2,i,j}^{C} \frac{v_{i,j+1}+v_{i,j}}{2} \\ \notag
790 & + \Delta{x}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j}
791 \frac{v_{i,j+1}-v_{i,j}}{\Delta{y}_{i,j}^{F}} \\ \notag
792 & + \Delta{x}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j}
793 k_{1,i,j}^{C}\frac{u_{i+1,j}+u_{i,j}}{2} \\ \notag
794 & -\Delta{x}_{i,j}^{F} \frac{P}{2}
795 \end{align}
796
797 Again, no slip boundary conditions are realized via ghost points and
798 $u_{i,j-1}+u_{i,j}=0$ and $v_{i-1,j}+v_{i,j}=0$ across boundaries. For
799 free slip boundary conditions the lateral stress is set to zeros. In
800 analogy to $(\epsilon_{12})^Z=0$ on boundaries, we set
801 $\sigma_{21}^{Z}=0$, or equivalently $\eta_{i,j}^{Z}=0$, on boundaries.
802
803 \paragraph{Thermodynamics\label{sec:pkg:seaice:thermodynamics}}~\\
804 %
805 In its original formulation the sea ice model \citep{menemenlis05}
806 uses simple thermodynamics following the appendix of
807 \citet{sem76}. This formulation does not allow storage of heat,
808 that is, the heat capacity of ice is zero. Upward conductive heat flux
809 is parameterized assuming a linear temperature profile and together
810 with a constant ice conductivity. It is expressed as
811 $(K/h)(T_{w}-T_{0})$, where $K$ is the ice conductivity, $h$ the ice
812 thickness, and $T_{w}-T_{0}$ the difference between water and ice
813 surface temperatures. This type of model is often refered to as a
814 ``zero-layer'' model. The surface heat flux is computed in a similar
815 way to that of \citet{parkinson79} and \citet{manabe79}.
816
817 The conductive heat flux depends strongly on the ice thickness $h$.
818 However, the ice thickness in the model represents a mean over a
819 potentially very heterogeneous thickness distribution. In order to
820 parameterize a sub-grid scale distribution for heat flux
821 computations, the mean ice thickness $h$ is split into seven thickness
822 categories $H_{n}$ that are equally distributed between $2h$ and a
823 minimum imposed ice thickness of $5\text{\,cm}$ by $H_n=
824 \frac{2n-1}{7}\,h$ for $n\in[1,7]$. The heat fluxes computed for each
825 thickness category is area-averaged to give the total heat flux
826 \citep{hibler84}. To use this thickness category parameterization set
827 \code{\#define SEAICE\_MULTICATEGORY}; note that this requires
828 different restart files and switching this flag on in the middle of an
829 integration is not possible.
830
831 The atmospheric heat flux is balanced by an oceanic heat flux from
832 below. The oceanic flux is proportional to
833 $\rho\,c_{p}\left(T_{w}-T_{fr}\right)$ where $\rho$ and $c_{p}$ are
834 the density and heat capacity of sea water and $T_{fr}$ is the local
835 freezing point temperature that is a function of salinity. This flux
836 is not assumed to instantaneously melt or create ice, but a time scale
837 of three days (run-time parameter \code{SEAICE\_gamma\_t}) is used
838 to relax $T_{w}$ to the freezing point.
839 %
840 The parameterization of lateral and vertical growth of sea ice follows
841 that of \citet{hib79, hib80}; the so-called lead closing parameter
842 $h_{0}$ (run-time parameter \code{HO}) has a default value of
843 0.5~meters.
844
845 On top of the ice there is a layer of snow that modifies the heat flux
846 and the albedo \citep{zha98a}. Snow modifies the effective
847 conductivity according to
848 \[\frac{K}{h} \rightarrow \frac{1}{\frac{h_{s}}{K_{s}}+\frac{h}{K}},\]
849 where $K_s$ is the conductivity of snow and $h_s$ the snow thickness.
850 If enough snow accumulates so that its weight submerges the ice and
851 the snow is flooded, a simple mass conserving parameterization of
852 snowice formation (a flood-freeze algorithm following Archimedes'
853 principle) turns snow into ice until the ice surface is back at $z=0$
854 \citep{leppaeranta83}. The flood-freeze algorithm is enabled with the CPP-flag
855 \code{SEAICE\_ALLOW\_FLOODING} and turned on with run-time parameter
856 \code{SEAICEuseFlooding=.true.}.
857
858 \paragraph{Advection of thermodynamic variables\label{sec:pkg:seaice:advection}}~\\
859 %
860 Effective ice thickness (ice volume per unit area,
861 $c\cdot{h}$), concentration $c$ and effective snow thickness
862 ($c\cdot{h}_{s}$) are advected by ice velocities:
863 \begin{equation}
864 \label{eq:advection}
865 \frac{\partial{X}}{\partial{t}} = - \nabla\cdot\left(\vek{u}\,X\right) +
866 \Gamma_{X} + D_{X}
867 \end{equation}
868 where $\Gamma_X$ are the thermodynamic source terms and $D_{X}$ the
869 diffusive terms for quantities $X=(c\cdot{h}), c, (c\cdot{h}_{s})$.
870 %
871 From the various advection scheme that are available in the MITgcm, we
872 recommend flux-limited schemes \citep[multidimensional 2nd and
873 3rd-order advection scheme with flux limiter][]{roe:85, hundsdorfer94}
874 to preserve sharp gradients and edges that are typical of sea ice
875 distributions and to rule out unphysical over- and undershoots
876 (negative thickness or concentration). These schemes conserve volume
877 and horizontal area and are unconditionally stable, so that we can set
878 $D_{X}=0$. Run-timeflags: \code{SEAICEadvScheme} (default=2, is the
879 historic 2nd-order, centered difference scheme), \code{DIFF1} =
880 $D_{X}/\Delta{x}$
881 (default=0.004).
882
883 The MITgcm sea ice model provides the option to use
884 the thermodynamics model of \citet{win00}, which in turn is based on
885 the 3-layer model of \citet{sem76} and which treats brine content by
886 means of enthalpy conservation; the corresponding package
887 \code{thsice} is described in section~\ref{sec:pkg:thsice}. This
888 scheme requires additional state variables, namely the enthalpy of the
889 two ice layers (instead of effective ice salinity), to be advected by
890 ice velocities.
891 %
892 The internal sea ice temperature is inferred from ice enthalpy. To
893 avoid unphysical (negative) values for ice thickness and
894 concentration, a positive 2nd-order advection scheme with a SuperBee
895 flux limiter \citep{roe:85} should be used to advect all
896 sea-ice-related quantities of the \citet{win00} thermodynamic model
897 (runtime flag \code{thSIceAdvScheme=77} and
898 \code{thSIce\_diffK}=$D_{X}$=0 in \code{data.ice}, defaults are 0). Because of the
899 non-linearity of the advection scheme, care must be taken in advecting
900 these quantities: when simply using ice velocity to advect enthalpy,
901 the total energy (i.e., the volume integral of enthalpy) is not
902 conserved. Alternatively, one can advect the energy content (i.e.,
903 product of ice-volume and enthalpy) but then false enthalpy extrema
904 can occur, which then leads to unrealistic ice temperature. In the
905 currently implemented solution, the sea-ice mass flux is used to
906 advect the enthalpy in order to ensure conservation of enthalpy and to
907 prevent false enthalpy extrema. %
908
909 %----------------------------------------------------------------------
910
911 \subsubsection{Key subroutines
912 \label{sec:pkg:seaice:subroutines}}
913
914 Top-level routine: \code{seaice\_model.F}
915
916 {\footnotesize
917 \begin{verbatim}
918
919 C !CALLING SEQUENCE:
920 c ...
921 c seaice_model (TOP LEVEL ROUTINE)
922 c |
923 c |-- #ifdef SEAICE_CGRID
924 c | SEAICE_DYNSOLVER
925 c | |
926 c | |-- < compute proxy for geostrophic velocity >
927 c | |
928 c | |-- < set up mass per unit area and Coriolis terms >
929 c | |
930 c | |-- < dynamic masking of areas with no ice >
931 c | |
932 c | |
933
934 c | #ELSE
935 c | DYNSOLVER
936 c | #ENDIF
937 c |
938 c |-- if ( useOBCS )
939 c | OBCS_APPLY_UVICE
940 c |
941 c |-- if ( SEAICEadvHeff .OR. SEAICEadvArea .OR. SEAICEadvSnow .OR. SEAICEadvSalt )
942 c | SEAICE_ADVDIFF
943 c |
944 c |-- if ( usePW79thermodynamics )
945 c | SEAICE_GROWTH
946 c |
947 c |-- if ( useOBCS )
948 c | if ( SEAICEadvHeff ) OBCS_APPLY_HEFF
949 c | if ( SEAICEadvArea ) OBCS_APPLY_AREA
950 c | if ( SEAICEadvSALT ) OBCS_APPLY_HSALT
951 c | if ( SEAICEadvSNOW ) OBCS_APPLY_HSNOW
952 c |
953 c |-- < do various exchanges >
954 c |
955 c |-- < do additional diagnostics >
956 c |
957 c o
958
959 \end{verbatim}
960 }
961
962
963 %----------------------------------------------------------------------
964
965 \subsubsection{SEAICE diagnostics
966 \label{sec:pkg:seaice:diagnostics}}
967
968 Diagnostics output is available via the diagnostics package
969 (see Section \ref{sec:pkg:diagnostics}).
970 Available output fields are summarized in
971 Table \ref{tab:pkg:seaice:diagnostics}.
972
973 \input{s_phys_pkgs/text/seaice_diags.tex}
974
975 %\subsubsection{Package Reference}
976
977 \subsubsection{Experiments and tutorials that use seaice}
978 \label{sec:pkg:seaice:experiments}
979
980 \begin{itemize}
981 \item{Labrador Sea experiment in \code{lab\_sea} verification directory. }
982 \item \code{seaice\_obcs}, based on \code{lab\_sea}
983 \item \code{offline\_exf\_seaice/input.seaicetd}, based on \code{lab\_sea}
984 \item \code{global\_ocean.cs32x15/input.icedyn} and
985 \code{global\_ocean.cs32x15/input.seaice}, global
986 cubed-sphere-experiment with combinations of \code{seaice} and
987 \code{thsice}
988 \end{itemize}
989
990
991 %%% Local Variables:
992 %%% mode: latex
993 %%% TeX-master: "../../manual"
994 %%% End:

  ViewVC Help
Powered by ViewVC 1.1.22