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

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

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

revision 1.6 by heimbach, Tue Jan 15 23:58:53 2008 UTC revision 1.20 by mlosch, Mon Mar 31 11:30:21 2014 UTC
# Line 16  Patrick Heimbach, Chris Hill and Jinlun Line 16  Patrick Heimbach, Chris Hill and Jinlun
16    
17  %----------------------------------------------------------------------  %----------------------------------------------------------------------
18  \subsubsection{Introduction  \subsubsection{Introduction
19  \label{sec:pkg:exf:intro}}  \label{sec:pkg:seaice:intro}}
20    
21    
22  Package ``seaice'' provides a dynamic and thermodynamic interactive  Package ``seaice'' provides a dynamic and thermodynamic interactive
# Line 24  sea-ice model. Line 24  sea-ice model.
24    
25  CPP options enable or disable different aspects of the package  CPP options enable or disable different aspects of the package
26  (Section \ref{sec:pkg:seaice:config}).  (Section \ref{sec:pkg:seaice:config}).
27  Runtime options, flags, filenames and field-related dates/times are  Run-Time options, flags, filenames and field-related dates/times are
28  set in \texttt{data.seaice}  set in \code{data.seaice}
29  (Section \ref{sec:pkg:seaice:runtime}).  (Section \ref{sec:pkg:seaice:runtime}).
30  A description of key subroutines is given in Section  A description of key subroutines is given in Section
31  \ref{sec:pkg:seaice:subroutines}.  \ref{sec:pkg:seaice:subroutines}.
32  Input fields, units and sign conventions are summarized in  Input fields, units and sign conventions are summarized in
33  Section \ref{sec:pkg:seaice:fields_units}, and available diagnostics  Section \ref{sec:pkg:seaice:fields_units}, and available diagnostics
34  output is listed in Section \ref{sec:pkg:seaice:fields_diagnostics}.  output is listed in Section \ref{sec:pkg:seaice:diagnostics}.
35    
36  %----------------------------------------------------------------------  %----------------------------------------------------------------------
37    
# Line 46  As with all MITgcm packages, SEAICE can Line 46  As with all MITgcm packages, SEAICE can
46  \begin{itemize}  \begin{itemize}
47  %  %
48  \item  \item
49  using the \texttt{packages.conf} file by adding \texttt{seaice} to it,  using the \code{packages.conf} file by adding \code{seaice} to it,
50  %  %
51  \item  \item
52  or using \texttt{genmake2} adding  or using \code{genmake2} adding
53  \texttt{-enable=seaice} or \texttt{-disable=seaice} switches  \code{-enable=seaice} or \code{-disable=seaice} switches
54  %  %
55  \item  \item
56  \textit{required packages and CPP options}: \\  \textit{required packages and CPP options}: \\
57  SEAICE requires the external forcing package \texttt{exf} to be enabled;  SEAICE requires the external forcing package \code{exf} to be enabled;
58  no additional CPP options are required.  no additional CPP options are required.
59  %  %
60  \end{itemize}  \end{itemize}
61  (see Section \ref{sect:buildingCode}).  (see Section \ref{sec:buildingCode}).
62    
63  Parts of the SEAICE code can be enabled or disabled at compile time  Parts of the SEAICE code can be enabled or disabled at compile time
64  via CPP preprocessor flags. These options are set in either  via CPP preprocessor flags. These options are set in
65  \texttt{SEAICE\_OPTIONS.h} or in \texttt{ECCO\_CPPOPTIONS.h}.  \code{SEAICE\_OPTIONS.h}.
66  Table \ref{tab:pkg:seaice:cpp} summarizes these options.  Table \ref{tab:pkg:seaice:cpp} summarizes the most important ones.
67    
68  \begin{table}[h!]  \begin{table}[!ht]
69  \centering  \centering
70    \label{tab:pkg:seaice:cpp}    \label{tab:pkg:seaice:cpp}
71    {\footnotesize    {\footnotesize
72      \begin{tabular}{|l|l|}      \begin{tabular}{|l|p{10cm}|}
73        \hline        \hline
74        \textbf{CPP option}  &  \textbf{Description}  \\        \textbf{CPP option}  &  \textbf{Description}  \\
75        \hline \hline        \hline \hline
76          \texttt{SEAICE\_DEBUG} &          \code{SEAICE\_DEBUG} &
77            Enhance STDOUT for debugging \\            Enhance STDOUT for debugging \\
78          \texttt{SEAICE\_ALLOW\_DYNAMICS} &          \code{SEAICE\_ALLOW\_DYNAMICS} &
79            sea-ice dynamics code \\            sea-ice dynamics code \\
80          \texttt{SEAICE\_CGRID} &          \code{SEAICE\_CGRID} &
81            LSR solver on C-grid (rather than original B-grid \\            LSR solver on C-grid (rather than original B-grid) \\
82          \texttt{SEAICE\_ALLOW\_EVP} &          \code{SEAICE\_ALLOW\_EVP} &
83            use EVP rather than LSR rheology solver \\            enable use of EVP rheology solver \\
84          \texttt{SEAICE\_EXTERNAL\_FLUXES} &          \code{SEAICE\_ALLOW\_JFNK} &
85              enable use of JFNK rheology solver \\
86            \code{SEAICE\_EXTERNAL\_FLUXES} &
87            use EXF-computed fluxes as starting point \\            use EXF-computed fluxes as starting point \\
88          \texttt{SEAICE\_MULTICATEGORY} &          \code{SEAICE\_ZETA\_SMOOTHREG} &
89            enable 8-category thermodynamics \\            use differentialable regularization for viscosities \\
90          \texttt{SEAICE\_VARIABLE\_FREEZING\_POINT} &          \code{SEAICE\_VARIABLE\_FREEZING\_POINT} &
91            enable linear dependence of the freezing point on salinity \\            enable linear dependence of the freezing point on salinity
92          \texttt{ALLOW\_SEAICE\_FLOODING} &            (by default undefined)\\
93            \code{ALLOW\_SEAICE\_FLOODING} &
94            enable snow to ice conversion for submerged sea-ice \\            enable snow to ice conversion for submerged sea-ice \\
95          \texttt{SEAICE\_SALINITY} &          \code{SEAICE\_VARIABLE\_SALINITY} &
96            enable "salty" sea-ice \\            enable sea-ice with variable salinity (by default undefined) \\
97          \texttt{SEAICE\_CAP\_HEFF} &          \code{SEAICE\_SITRACER} &
98            enable capping of sea-ice thickness to MAX\_HEFF \\            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        \hline
106      \end{tabular}      \end{tabular}
107    }    }
108    \caption{~}    \caption{Some of the most relevant CPP preprocessor flags in the
109        \code{seaice}-package.}
110  \end{table}  \end{table}
111    
112  %----------------------------------------------------------------------  %----------------------------------------------------------------------
# Line 104  Table \ref{tab:pkg:seaice:cpp} summarize Line 114  Table \ref{tab:pkg:seaice:cpp} summarize
114  \subsubsection{Run-time parameters  \subsubsection{Run-time parameters
115  \label{sec:pkg:seaice:runtime}}  \label{sec:pkg:seaice:runtime}}
116    
117  Run-time parameters are set in files  Run-time parameters (see Table~\ref{tab:pkg:seaice:runtimeparms}) are set
118  \texttt{data.pkg} (read in \texttt{packages\_readparms.F}),  in files \code{data.pkg} (read in \code{packages\_readparms.F}), and
119  and \texttt{data.seaice} (read in \texttt{seaice\_readparms.F}).  \code{data.seaice} (read in \code{seaice\_readparms.F}).
120    
121  \paragraph{Enabling the package}  \paragraph{Enabling the package}
122  ~ \\  ~ \\
123  %  %
124  A package is switched on/off at runtime by setting  A package is switched on/off at run-time by setting
125  (e.g. for SEAICE) \texttt{useSEAICE = .TRUE.} in \texttt{data.pkg}.  (e.g. for SEAICE) \code{useSEAICE = .TRUE.} in \code{data.pkg}.
126    
127  \paragraph{General flags and parameters}  \paragraph{General flags and parameters}
128  ~ \\  ~ \\
129  %  %
130  \input{part6/seaice-parms.tex}  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  \subsubsection{Description
# Line 127  A package is switched on/off at runtime Line 148  A package is switched on/off at runtime
148    
149  [TO BE CONTINUED/MODIFIED]  [TO BE CONTINUED/MODIFIED]
150    
151  Sea-ice model thermodynamics are based on Hibler  % Sea-ice model thermodynamics are based on Hibler
152  \cite{hib80}, that is, a 2-category model that simulates ice thickness  % \cite{hib80}, that is, a 2-category model that simulates ice thickness
153  and concentration.  Snow is simulated as per Zhang et al.  % and concentration.  Snow is simulated as per Zhang et al.
154  \cite{zha98a}.  Although recent years have seen an increased use of  % \cite{zha98a}.  Although recent years have seen an increased use of
155  multi-category thickness distribution sea-ice models for climate  % multi-category thickness distribution sea-ice models for climate
156  studies, the Hibler 2-category ice model is still the most widely used  % 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  % model and has resulted in realistic simulation of sea-ice variability
158  on regional and global scales.  Being less complicated, compared to  % on regional and global scales.  Being less complicated, compared to
159  multi-category models, the 2-category model permits easier application  % multi-category models, the 2-category model permits easier application
160  of adjoint model optimization methods.  % of adjoint model optimization methods.
161    
162  Note, however, that the Hibler 2-category model and its variants use a  % 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  % so-called zero-layer thermodynamic model to estimate ice growth and
164  decay.  The zero-layer thermodynamic model assumes that ice does not  % decay.  The zero-layer thermodynamic model assumes that ice does not
165  store heat and, therefore, tends to exaggerate the seasonal  % store heat and, therefore, tends to exaggerate the seasonal
166  variability in ice thickness.  This exaggeration can be significantly  % variability in ice thickness.  This exaggeration can be significantly
167  reduced by using Semtner's \cite{sem76} three-layer thermodynamic  % reduced by using Semtner's \cite{sem76} three-layer thermodynamic
168  model that permits heat storage in ice.  Recently, the three-layer  % model that permits heat storage in ice.  Recently, the three-layer
169  thermodynamic model has been reformulated by Winton \cite{win00}.  The  % thermodynamic model has been reformulated by Winton \cite{win00}.  The
170  reformulation improves model physics by representing the brine content  % reformulation improves model physics by representing the brine content
171  of the upper ice with a variable heat capacity.  It also improves  % of the upper ice with a variable heat capacity.  It also improves
172  model numerics and consumes less computer time and memory.  The Winton  % model numerics and consumes less computer time and memory.  The Winton
173  sea-ice thermodynamics have been ported to the MIT GCM; they currently  % sea-ice thermodynamics have been ported to the MIT GCM; they currently
174  reside under pkg/thsice.  At present pkg/thsice is not fully  % reside under pkg/thsice. The package pkg/thsice is fully
175  compatible with pkg/seaice and with pkg/exf.  But the eventual  % compatible with pkg/seaice and with pkg/exf. When turned on togeter
176  objective is to have fully compatible and interchangeable  % with pkg/seaice, the zero-layer thermodynamics are replaced by the by
177  thermodynamic packages for sea-ice, so that it becomes possible to use  % Winton thermodynamics
178  Hibler dynamics with Winton thermodyanmics.  
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  The ice dynamics models that are most widely used for large-scale
205  climate studies are the viscous-plastic (VP) model \cite{hib79}, the  climate studies are the viscous-plastic (VP) model \citep{hib79}, the
206  cavitating fluid (CF) model \cite{fla92}, and the  cavitating fluid (CF) model \citep{fla92}, and the
207  elastic-viscous-plastic (EVP) model \cite{hun97}.  Compared to the VP  elastic-viscous-plastic (EVP) model \citep{hun97}.  Compared to the VP
208  model, the CF model does not allow ice shear in calculating ice  model, the CF model does not allow ice shear in calculating ice
209  motion, stress, and deformation.  EVP models approximate VP by adding  motion, stress, and deformation.  EVP models approximate VP by adding
210  an elastic term to the equations for easier adaptation to parallel  an elastic term to the equations for easier adaptation to parallel
211  computers.  Because of its higher accuracy in plastic solution and  computers.  Because of its higher accuracy in plastic solution and
212  relatively simpler formulation, compared to the EVP model, we decided  relatively simpler formulation, compared to the EVP model, we decided
213  to use the VP model as the dynamic component of our ice model.  To do  to use the VP model as the default dynamic component of our ice
214  this we extended the alternating-direction-implicit (ADI) method of  model. To do this we extended the line successive over relaxation
215  Zhang and Rothrock \cite{zha00} for use in a parallel configuration.  (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  The sea ice model requires the following input fields: 10-m winds, 2-m
250  air temperature and specific humidity, downward longwave and shortwave  air temperature and specific humidity, downward longwave and shortwave
251  radiations, precipitation, evaporation, and river and glacier runoff.  radiations, precipitation, evaporation, and river and glacier runoff.
252  The sea ice model also requires surface temperature from the ocean  The sea ice model also requires surface temperature from the ocean
253  model and third level horizontal velocity which is used as a proxy for  model and the top level horizontal velocity.  Output fields are
254  surface geostrophic velocity.  Output fields are surface wind stress,  surface wind stress, evaporation minus precipitation minus runoff, net
255  evaporation minus precipitation minus runoff, net surface heat flux,  surface heat flux, and net shortwave flux.  The sea-ice model is
256  and net shortwave flux.  The sea-ice model is global: in ice-free  global: in ice-free regions bulk formulae are used to estimate oceanic
257  regions bulk formulae are used to estimate oceanic forcing from the  forcing from the atmospheric fields.
258  atmospheric fields.  
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  \subsubsection{Key subroutines
912  \label{sec:pkg:seaice:subroutines}}  \label{sec:pkg:seaice:subroutines}}
913    
914  Top-level routine: \texttt{exf\_getforcing.F}  Top-level routine: \code{seaice\_model.F}
915    
916  {\footnotesize  {\footnotesize
917  \begin{verbatim}  \begin{verbatim}
# Line 197  c  seaice_model (TOP LEVEL ROUTINE) Line 922  c  seaice_model (TOP LEVEL ROUTINE)
922  c  |  c  |
923  c  |-- #ifdef SEAICE_CGRID  c  |-- #ifdef SEAICE_CGRID
924  c  |     SEAICE_DYNSOLVER  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  c  |   #ELSE
935  c  |     DYNSOLVER  c  |     DYNSOLVER
936  c  |   #ENDIF  c  |   #ENDIF
937  c  |  c  |
938  c  ...  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}  \end{verbatim}
960  }  }
# Line 209  c  ... Line 962  c  ...
962    
963  %----------------------------------------------------------------------  %----------------------------------------------------------------------
964    
965  \subsubsection{EXF diagnostics  \subsubsection{SEAICE diagnostics
966  \label{sec:pkg:seaice:diagnostics}}  \label{sec:pkg:seaice:diagnostics}}
967    
968  Diagnostics output is available via the diagnostics package  Diagnostics output is available via the diagnostics package
# Line 217  Diagnostics output is available via the Line 970  Diagnostics output is available via the
970  Available output fields are summarized in  Available output fields are summarized in
971  Table \ref{tab:pkg:seaice:diagnostics}.  Table \ref{tab:pkg:seaice:diagnostics}.
972    
973  \begin{table}[h!]  \input{s_phys_pkgs/text/seaice_diags.tex}
 \centering  
 \label{tab:pkg:seaice:diagnostics}  
 {\footnotesize  
 \begin{verbatim}  
 ---------+----+----+----------------+-----------------  
  <-Name->|Levs|grid|<--  Units   -->|<- Tile (max=80c)  
 ---------+----+----+----------------+-----------------  
  SIarea  |  1 |SM  |m^2/m^2         |SEAICE fractional ice-covered area [0 to 1]  
  SIheff  |  1 |SM  |m               |SEAICE effective ice thickness  
  SIuice  |  1 |UU  |m/s             |SEAICE zonal ice velocity, >0 from West to East  
  SIvice  |  1 |VV  |m/s             |SEAICE merid. ice velocity, >0 from South to North  
  SIhsnow |  1 |SM  |m               |SEAICE snow thickness  
  SIhsalt |  1 |SM  |g/m^2           |SEAICE effective salinity  
  SIatmFW |  1 |SM  |m/s             |Net freshwater flux from the atmosphere (+=down)  
  SIuwind |  1 |SM  |m/s             |SEAICE zonal 10-m wind speed, >0 increases uVel  
  SIvwind |  1 |SM  |m/s             |SEAICE meridional 10-m wind speed, >0 increases uVel  
  SIfu    |  1 |UU  |N/m^2           |SEAICE zonal surface wind stress, >0 increases uVel  
  SIfv    |  1 |VV  |N/m^2           |SEAICE merid. surface wind stress, >0 increases vVel  
  SIempmr |  1 |SM  |m/s             |SEAICE upward freshwater flux, > 0 increases salt  
  SIqnet  |  1 |SM  |W/m^2           |SEAICE upward heatflux, turb+rad, >0 decreases theta  
  SIqsw   |  1 |SM  |W/m^2           |SEAICE upward shortwave radiat., >0 decreases theta  
  SIpress |  1 |SM  |m^2/s^2         |SEAICE strength (with upper and lower limit)  
  SIzeta  |  1 |SM  |m^2/s           |SEAICE nonlinear bulk viscosity  
  SIeta   |  1 |SM  |m^2/s           |SEAICE nonlinear shear viscosity  
  SIsigI  |  1 |SM  |no units        |SEAICE normalized principle stress, component one  
  SIsigII |  1 |SM  |no units        |SEAICE normalized principle stress, component two  
  SIthdgrh|  1 |SM  |m/s             |SEAICE thermodynamic growth rate of effective ice thickness  
  SIsnwice|  1 |SM  |m/s             |SEAICE ice formation rate due to flooding  
  SIuheff |  1 |UU  |m^2/s           |Zonal Transport of effective ice thickness  
  SIvheff |  1 |VV  |m^2/s           |Meridional Transport of effective ice thickness  
  ADVxHEFF|  1 |UU  |m.m^2/s         |Zonal      Advective Flux of eff ice thickn  
  ADVyHEFF|  1 |VV  |m.m^2/s         |Meridional Advective Flux of eff ice thickn  
  DFxEHEFF|  1 |UU  |m.m^2/s         |Zonal      Diffusive Flux of eff ice thickn  
  DFyEHEFF|  1 |VV  |m.m^2/s         |Meridional Diffusive Flux of eff ice thickn  
  ADVxAREA|  1 |UU  |m^2/m^2.m^2/s   |Zonal      Advective Flux of fract area  
  ADVyAREA|  1 |VV  |m^2/m^2.m^2/s   |Meridional Advective Flux of fract area  
  DFxEAREA|  1 |UU  |m^2/m^2.m^2/s   |Zonal      Diffusive Flux of fract area  
  DFyEAREA|  1 |VV  |m^2/m^2.m^2/s   |Meridional Diffusive Flux of fract area  
  ADVxSNOW|  1 |UU  |m.m^2/s         |Zonal      Advective Flux of eff snow thickn  
  ADVySNOW|  1 |VV  |m.m^2/s         |Meridional Advective Flux of eff snow thickn  
  DFxESNOW|  1 |UU  |m.m^2/s         |Zonal      Diffusive Flux of eff snow thickn  
  DFyESNOW|  1 |VV  |m.m^2/s         |Meridional Diffusive Flux of eff snow thickn  
  ADVxSSLT|  1 |UU  |psu.m^2/s       |Zonal      Advective Flux of seaice salinity  
  ADVySSLT|  1 |VV  |psu.m^2/s       |Meridional Advective Flux of seaice salinity  
  DFxESSLT|  1 |UU  |psu.m^2/s       |Zonal      Diffusive Flux of seaice salinity  
  DFyESSLT|  1 |VV  |psu.m^2/s       |Meridional Diffusive Flux of seaice salinity  
 \end{verbatim}  
 }  
 \caption{~}  
 \end{table}  
   
974    
975  %\subsubsection{Package Reference}  %\subsubsection{Package Reference}
976    
# Line 276  Table \ref{tab:pkg:seaice:diagnostics}. Line 978  Table \ref{tab:pkg:seaice:diagnostics}.
978  \label{sec:pkg:seaice:experiments}  \label{sec:pkg:seaice:experiments}
979    
980  \begin{itemize}  \begin{itemize}
981  \item{Labrador Sea experiment in lab\_sea verification directory. }  \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}  \end{itemize}
989    
990    
991    %%% Local Variables:
992    %%% mode: latex
993    %%% TeX-master: "../../manual"
994    %%% End:

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.20

  ViewVC Help
Powered by ViewVC 1.1.22