/[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.21 - (show annotations) (download) (as text)
Tue Apr 1 07:30:32 2014 UTC (11 years, 3 months ago) by mlosch
Branch: MAIN
Changes since 1.20: +4 -3 lines
File MIME type: application/x-tex
add another reference for my ego

1 % $Header: /u/gcmpack/manual/s_phys_pkgs/text/seaice.tex,v 1.20 2014/03/31 11:30:21 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 \citep{losch10:_mitsim}:
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 \citep[see
705 also][]{losch10:_mitsim}. This conveniently avoids dealing with
706 further metric terms, as these are ``hidden'' in the differential cell
707 widths. For the $u$-equation ($\alpha=1$) we have:
708 \begin{align}
709 (\nabla\sigma)_{1}: \phantom{=}&
710 \frac{1}{A_{i,j}^w}
711 \int_{\mathrm{cell}}(\partial_1\sigma_{11}+\partial_2\sigma_{21})\,dx_1\,dx_2
712 \\\notag
713 =& \frac{1}{A_{i,j}^w} \biggl\{
714 \int_{x_2}^{x_2+\Delta{x}_2}\sigma_{11}dx_2\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}}
715 + \int_{x_1}^{x_1+\Delta{x}_1}\sigma_{21}dx_1\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}}
716 \biggr\} \\ \notag
717 \approx& \frac{1}{A_{i,j}^w} \biggl\{
718 \Delta{x}_2\sigma_{11}\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}}
719 + \Delta{x}_1\sigma_{21}\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}}
720 \biggr\} \\ \notag
721 =& \frac{1}{A_{i,j}^w} \biggl\{
722 (\Delta{x}_2\sigma_{11})_{i,j}^C -
723 (\Delta{x}_2\sigma_{11})_{i-1,j}^C
724 \\\notag
725 \phantom{=}& \phantom{\frac{1}{A_{i,j}^w} \biggl\{}
726 + (\Delta{x}_1\sigma_{21})_{i,j+1}^Z - (\Delta{x}_1\sigma_{21})_{i,j}^Z
727 \biggr\}
728 \end{align}
729 with
730 \begin{align}
731 (\Delta{x}_2\sigma_{11})_{i,j}^C =& \phantom{+}
732 \Delta{y}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j}
733 \frac{u_{i+1,j}-u_{i,j}}{\Delta{x}_{i,j}^{F}} \\ \notag
734 &+ \Delta{y}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j}
735 k_{2,i,j}^C \frac{v_{i,j+1}+v_{i,j}}{2} \\ \notag
736 \phantom{=}& + \Delta{y}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j}
737 \frac{v_{i,j+1}-v_{i,j}}{\Delta{y}_{i,j}^{F}} \\ \notag
738 \phantom{=}& + \Delta{y}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j}
739 k_{1,i,j}^{C}\frac{u_{i+1,j}+u_{i,j}}{2} \\ \notag
740 \phantom{=}& - \Delta{y}_{i,j}^{F} \frac{P}{2} \\
741 (\Delta{x}_1\sigma_{21})_{i,j}^Z =& \phantom{+}
742 \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j}
743 \frac{u_{i,j}-u_{i,j-1}}{\Delta{y}_{i,j}^{U}} \\ \notag
744 & + \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j}
745 \frac{v_{i,j}-v_{i-1,j}}{\Delta{x}_{i,j}^{V}} \\ \notag
746 & - \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j}
747 k_{2,i,j}^{Z}\frac{u_{i,j}+u_{i,j-1}}{2} \\ \notag
748 & - \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j}
749 k_{1,i,j}^{Z}\frac{v_{i,j}+v_{i-1,j}}{2}
750 \end{align}
751
752 Similarly, we have for the $v$-equation ($\alpha=2$):
753 \begin{align}
754 (\nabla\sigma)_{2}: \phantom{=}&
755 \frac{1}{A_{i,j}^s}
756 \int_{\mathrm{cell}}(\partial_1\sigma_{12}+\partial_2\sigma_{22})\,dx_1\,dx_2
757 \\\notag
758 =& \frac{1}{A_{i,j}^s} \biggl\{
759 \int_{x_2}^{x_2+\Delta{x}_2}\sigma_{12}dx_2\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}}
760 + \int_{x_1}^{x_1+\Delta{x}_1}\sigma_{22}dx_1\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}}
761 \biggr\} \\ \notag
762 \approx& \frac{1}{A_{i,j}^s} \biggl\{
763 \Delta{x}_2\sigma_{12}\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}}
764 + \Delta{x}_1\sigma_{22}\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}}
765 \biggr\} \\ \notag
766 =& \frac{1}{A_{i,j}^s} \biggl\{
767 (\Delta{x}_2\sigma_{12})_{i+1,j}^Z - (\Delta{x}_2\sigma_{12})_{i,j}^Z
768 \\ \notag
769 \phantom{=}& \phantom{\frac{1}{A_{i,j}^s} \biggl\{}
770 + (\Delta{x}_1\sigma_{22})_{i,j}^C - (\Delta{x}_1\sigma_{22})_{i,j-1}^C
771 \biggr\}
772 \end{align}
773 with
774 \begin{align}
775 (\Delta{x}_1\sigma_{12})_{i,j}^Z =& \phantom{+}
776 \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j}
777 \frac{u_{i,j}-u_{i,j-1}}{\Delta{y}_{i,j}^{U}}
778 \\\notag &
779 + \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j}
780 \frac{v_{i,j}-v_{i-1,j}}{\Delta{x}_{i,j}^{V}} \\\notag
781 &- \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j}
782 k_{2,i,j}^{Z}\frac{u_{i,j}+u_{i,j-1}}{2}
783 \\\notag &
784 - \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j}
785 k_{1,i,j}^{Z}\frac{v_{i,j}+v_{i-1,j}}{2} \\ \notag
786 (\Delta{x}_2\sigma_{22})_{i,j}^C =& \phantom{+}
787 \Delta{x}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j}
788 \frac{u_{i+1,j}-u_{i,j}}{\Delta{x}_{i,j}^{F}} \\ \notag
789 &+ \Delta{x}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j}
790 k_{2,i,j}^{C} \frac{v_{i,j+1}+v_{i,j}}{2} \\ \notag
791 & + \Delta{x}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j}
792 \frac{v_{i,j+1}-v_{i,j}}{\Delta{y}_{i,j}^{F}} \\ \notag
793 & + \Delta{x}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j}
794 k_{1,i,j}^{C}\frac{u_{i+1,j}+u_{i,j}}{2} \\ \notag
795 & -\Delta{x}_{i,j}^{F} \frac{P}{2}
796 \end{align}
797
798 Again, no slip boundary conditions are realized via ghost points and
799 $u_{i,j-1}+u_{i,j}=0$ and $v_{i-1,j}+v_{i,j}=0$ across boundaries. For
800 free slip boundary conditions the lateral stress is set to zeros. In
801 analogy to $(\epsilon_{12})^Z=0$ on boundaries, we set
802 $\sigma_{21}^{Z}=0$, or equivalently $\eta_{i,j}^{Z}=0$, on boundaries.
803
804 \paragraph{Thermodynamics\label{sec:pkg:seaice:thermodynamics}}~\\
805 %
806 In its original formulation the sea ice model \citep{menemenlis05}
807 uses simple thermodynamics following the appendix of
808 \citet{sem76}. This formulation does not allow storage of heat,
809 that is, the heat capacity of ice is zero. Upward conductive heat flux
810 is parameterized assuming a linear temperature profile and together
811 with a constant ice conductivity. It is expressed as
812 $(K/h)(T_{w}-T_{0})$, where $K$ is the ice conductivity, $h$ the ice
813 thickness, and $T_{w}-T_{0}$ the difference between water and ice
814 surface temperatures. This type of model is often refered to as a
815 ``zero-layer'' model. The surface heat flux is computed in a similar
816 way to that of \citet{parkinson79} and \citet{manabe79}.
817
818 The conductive heat flux depends strongly on the ice thickness $h$.
819 However, the ice thickness in the model represents a mean over a
820 potentially very heterogeneous thickness distribution. In order to
821 parameterize a sub-grid scale distribution for heat flux
822 computations, the mean ice thickness $h$ is split into seven thickness
823 categories $H_{n}$ that are equally distributed between $2h$ and a
824 minimum imposed ice thickness of $5\text{\,cm}$ by $H_n=
825 \frac{2n-1}{7}\,h$ for $n\in[1,7]$. The heat fluxes computed for each
826 thickness category is area-averaged to give the total heat flux
827 \citep{hibler84}. To use this thickness category parameterization set
828 \code{\#define SEAICE\_MULTICATEGORY}; note that this requires
829 different restart files and switching this flag on in the middle of an
830 integration is not possible.
831
832 The atmospheric heat flux is balanced by an oceanic heat flux from
833 below. The oceanic flux is proportional to
834 $\rho\,c_{p}\left(T_{w}-T_{fr}\right)$ where $\rho$ and $c_{p}$ are
835 the density and heat capacity of sea water and $T_{fr}$ is the local
836 freezing point temperature that is a function of salinity. This flux
837 is not assumed to instantaneously melt or create ice, but a time scale
838 of three days (run-time parameter \code{SEAICE\_gamma\_t}) is used
839 to relax $T_{w}$ to the freezing point.
840 %
841 The parameterization of lateral and vertical growth of sea ice follows
842 that of \citet{hib79, hib80}; the so-called lead closing parameter
843 $h_{0}$ (run-time parameter \code{HO}) has a default value of
844 0.5~meters.
845
846 On top of the ice there is a layer of snow that modifies the heat flux
847 and the albedo \citep{zha98a}. Snow modifies the effective
848 conductivity according to
849 \[\frac{K}{h} \rightarrow \frac{1}{\frac{h_{s}}{K_{s}}+\frac{h}{K}},\]
850 where $K_s$ is the conductivity of snow and $h_s$ the snow thickness.
851 If enough snow accumulates so that its weight submerges the ice and
852 the snow is flooded, a simple mass conserving parameterization of
853 snowice formation (a flood-freeze algorithm following Archimedes'
854 principle) turns snow into ice until the ice surface is back at $z=0$
855 \citep{leppaeranta83}. The flood-freeze algorithm is enabled with the CPP-flag
856 \code{SEAICE\_ALLOW\_FLOODING} and turned on with run-time parameter
857 \code{SEAICEuseFlooding=.true.}.
858
859 \paragraph{Advection of thermodynamic variables\label{sec:pkg:seaice:advection}}~\\
860 %
861 Effective ice thickness (ice volume per unit area,
862 $c\cdot{h}$), concentration $c$ and effective snow thickness
863 ($c\cdot{h}_{s}$) are advected by ice velocities:
864 \begin{equation}
865 \label{eq:advection}
866 \frac{\partial{X}}{\partial{t}} = - \nabla\cdot\left(\vek{u}\,X\right) +
867 \Gamma_{X} + D_{X}
868 \end{equation}
869 where $\Gamma_X$ are the thermodynamic source terms and $D_{X}$ the
870 diffusive terms for quantities $X=(c\cdot{h}), c, (c\cdot{h}_{s})$.
871 %
872 From the various advection scheme that are available in the MITgcm, we
873 recommend flux-limited schemes \citep[multidimensional 2nd and
874 3rd-order advection scheme with flux limiter][]{roe:85, hundsdorfer94}
875 to preserve sharp gradients and edges that are typical of sea ice
876 distributions and to rule out unphysical over- and undershoots
877 (negative thickness or concentration). These schemes conserve volume
878 and horizontal area and are unconditionally stable, so that we can set
879 $D_{X}=0$. Run-timeflags: \code{SEAICEadvScheme} (default=2, is the
880 historic 2nd-order, centered difference scheme), \code{DIFF1} =
881 $D_{X}/\Delta{x}$
882 (default=0.004).
883
884 The MITgcm sea ice model provides the option to use
885 the thermodynamics model of \citet{win00}, which in turn is based on
886 the 3-layer model of \citet{sem76} and which treats brine content by
887 means of enthalpy conservation; the corresponding package
888 \code{thsice} is described in section~\ref{sec:pkg:thsice}. This
889 scheme requires additional state variables, namely the enthalpy of the
890 two ice layers (instead of effective ice salinity), to be advected by
891 ice velocities.
892 %
893 The internal sea ice temperature is inferred from ice enthalpy. To
894 avoid unphysical (negative) values for ice thickness and
895 concentration, a positive 2nd-order advection scheme with a SuperBee
896 flux limiter \citep{roe:85} should be used to advect all
897 sea-ice-related quantities of the \citet{win00} thermodynamic model
898 (runtime flag \code{thSIceAdvScheme=77} and
899 \code{thSIce\_diffK}=$D_{X}$=0 in \code{data.ice}, defaults are 0). Because of the
900 non-linearity of the advection scheme, care must be taken in advecting
901 these quantities: when simply using ice velocity to advect enthalpy,
902 the total energy (i.e., the volume integral of enthalpy) is not
903 conserved. Alternatively, one can advect the energy content (i.e.,
904 product of ice-volume and enthalpy) but then false enthalpy extrema
905 can occur, which then leads to unrealistic ice temperature. In the
906 currently implemented solution, the sea-ice mass flux is used to
907 advect the enthalpy in order to ensure conservation of enthalpy and to
908 prevent false enthalpy extrema. %
909
910 %----------------------------------------------------------------------
911
912 \subsubsection{Key subroutines
913 \label{sec:pkg:seaice:subroutines}}
914
915 Top-level routine: \code{seaice\_model.F}
916
917 {\footnotesize
918 \begin{verbatim}
919
920 C !CALLING SEQUENCE:
921 c ...
922 c seaice_model (TOP LEVEL ROUTINE)
923 c |
924 c |-- #ifdef SEAICE_CGRID
925 c | SEAICE_DYNSOLVER
926 c | |
927 c | |-- < compute proxy for geostrophic velocity >
928 c | |
929 c | |-- < set up mass per unit area and Coriolis terms >
930 c | |
931 c | |-- < dynamic masking of areas with no ice >
932 c | |
933 c | |
934
935 c | #ELSE
936 c | DYNSOLVER
937 c | #ENDIF
938 c |
939 c |-- if ( useOBCS )
940 c | OBCS_APPLY_UVICE
941 c |
942 c |-- if ( SEAICEadvHeff .OR. SEAICEadvArea .OR. SEAICEadvSnow .OR. SEAICEadvSalt )
943 c | SEAICE_ADVDIFF
944 c |
945 c |-- if ( usePW79thermodynamics )
946 c | SEAICE_GROWTH
947 c |
948 c |-- if ( useOBCS )
949 c | if ( SEAICEadvHeff ) OBCS_APPLY_HEFF
950 c | if ( SEAICEadvArea ) OBCS_APPLY_AREA
951 c | if ( SEAICEadvSALT ) OBCS_APPLY_HSALT
952 c | if ( SEAICEadvSNOW ) OBCS_APPLY_HSNOW
953 c |
954 c |-- < do various exchanges >
955 c |
956 c |-- < do additional diagnostics >
957 c |
958 c o
959
960 \end{verbatim}
961 }
962
963
964 %----------------------------------------------------------------------
965
966 \subsubsection{SEAICE diagnostics
967 \label{sec:pkg:seaice:diagnostics}}
968
969 Diagnostics output is available via the diagnostics package
970 (see Section \ref{sec:pkg:diagnostics}).
971 Available output fields are summarized in
972 Table \ref{tab:pkg:seaice:diagnostics}.
973
974 \input{s_phys_pkgs/text/seaice_diags.tex}
975
976 %\subsubsection{Package Reference}
977
978 \subsubsection{Experiments and tutorials that use seaice}
979 \label{sec:pkg:seaice:experiments}
980
981 \begin{itemize}
982 \item{Labrador Sea experiment in \code{lab\_sea} verification directory. }
983 \item \code{seaice\_obcs}, based on \code{lab\_sea}
984 \item \code{offline\_exf\_seaice/input.seaicetd}, based on \code{lab\_sea}
985 \item \code{global\_ocean.cs32x15/input.icedyn} and
986 \code{global\_ocean.cs32x15/input.seaice}, global
987 cubed-sphere-experiment with combinations of \code{seaice} and
988 \code{thsice}
989 \end{itemize}
990
991
992 %%% Local Variables:
993 %%% mode: latex
994 %%% TeX-master: "../../manual"
995 %%% End:

  ViewVC Help
Powered by ViewVC 1.1.22