113 |
\subsubsection{Run-time parameters |
\subsubsection{Run-time parameters |
114 |
\label{sec:pkg:seaice:runtime}} |
\label{sec:pkg:seaice:runtime}} |
115 |
|
|
116 |
Run-time parameters are set in files |
Run-time parameters (see Table~\ref{tab:pkg:seaice:runtimeparms}) are set |
117 |
\code{data.pkg} (read in \code{packages\_readparms.F}), |
in files \code{data.pkg} (read in \code{packages\_readparms.F}), and |
118 |
and \code{data.seaice} (read in \code{seaice\_readparms.F}). |
\code{data.seaice} (read in \code{seaice\_readparms.F}). |
119 |
|
|
120 |
\paragraph{Enabling the package} |
\paragraph{Enabling the package} |
121 |
~ \\ |
~ \\ |
214 |
to use the VP model as the default dynamic component of our ice |
to use the VP model as the default dynamic component of our ice |
215 |
model. To do this we extended the line successive over relaxation |
model. To do this we extended the line successive over relaxation |
216 |
(LSOR) method of \citet{zhang97} for use in a parallel |
(LSOR) method of \citet{zhang97} for use in a parallel |
217 |
configuration. |
configuration. An EVP model and a free-drift implemtation can be |
218 |
|
selected with runtime flags. |
219 |
|
|
220 |
Note, that by default the seaice-package includes the orginial |
\paragraph{Compatibility with ice-thermodynamics package \code{thsice}\label{sec:pkg:seaice:thsice}}~\\ |
221 |
|
% |
222 |
|
Note, that by default the \code{seaice}-package includes the orginial |
223 |
so-called zero-layer thermodynamics following \citet{hib80} with a |
so-called zero-layer thermodynamics following \citet{hib80} with a |
224 |
snow cover as in \citet{zha98a}. The zero-layer thermodynamic model |
snow cover as in \citet{zha98a}. The zero-layer thermodynamic model |
225 |
assumes that ice does not store heat and, therefore, tends to |
assumes that ice does not store heat and, therefore, tends to |
226 |
exaggerate the seasonal variability in ice thickness. This |
exaggerate the seasonal variability in ice thickness. This |
227 |
exaggeration can be significantly reduced by using |
exaggeration can be significantly reduced by using |
228 |
\citeauthor{sem76}'s~[\citeyear{sem76}] three-layer thermodynamic model |
\citeauthor{sem76}'s~[\citeyear{sem76}] three-layer thermodynamic |
229 |
that permits heat storage in ice. Recently, the three-layer |
model that permits heat storage in ice. Recently, the three-layer thermodynamic model has been reformulated by |
230 |
thermodynamic model has been reformulated by \citet{win00}. The |
\citet{win00}. The reformulation improves model physics by |
231 |
reformulation improves model physics by representing the brine content |
representing the brine content of the upper ice with a variable heat |
232 |
of the upper ice with a variable heat capacity. It also improves |
capacity. It also improves model numerics and consumes less computer |
233 |
model numerics and consumes less computer time and memory. The Winton |
time and memory. |
234 |
sea-ice thermodynamics have been ported to the MIT GCM; they currently |
|
235 |
reside under pkg/thsice. The package pkg/thsice is fully compatible |
The Winton sea-ice thermodynamics have been ported to the MIT GCM; |
236 |
with pkg/seaice and with pkg/exf. When turned on together with |
they currently reside under \code{pkg/thsice}. The package |
237 |
pkg/seaice, the zero-layer thermodynamics are replaced by the Winton |
\code{thsice} is described in section~\ref{sec:pkg:thsice}; it is |
238 |
thermodynamics. |
fully compatible with the packages \code{seaice} and \code{exf}. When |
239 |
|
turned on together with \code{seaice}, the zero-layer thermodynamics |
240 |
|
are replaced by the Winton thermodynamics. In order to use the |
241 |
|
\code{seaice}-package with the thermodynamics of \code{thsice}, |
242 |
|
compile both packages and turn both package on in \code{data.pkg}; see |
243 |
|
an example in \code{global\_ocean.cs32x15/input.icedyn}. Note, that |
244 |
|
once \code{thsice} is turned on, the variables and diagnostics |
245 |
|
associated to the default thermodynamics are meaningless, and the |
246 |
|
diagnostics of \code{thsice} have to be used instead. |
247 |
|
|
248 |
|
\paragraph{Surface forcing\label{sec:pkg:seaice:surfaceforcing}}~\\ |
249 |
|
% |
250 |
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 |
251 |
air temperature and specific humidity, downward longwave and shortwave |
air temperature and specific humidity, downward longwave and shortwave |
252 |
radiations, precipitation, evaporation, and river and glacier runoff. |
radiations, precipitation, evaporation, and river and glacier runoff. |
257 |
global: in ice-free regions bulk formulae are used to estimate oceanic |
global: in ice-free regions bulk formulae are used to estimate oceanic |
258 |
forcing from the atmospheric fields. |
forcing from the atmospheric fields. |
259 |
|
|
260 |
\paragraph{Dynamics\label{sec:pkg:seaice:dynamics}} |
\paragraph{Dynamics\label{sec:pkg:seaice:dynamics}}~\\ |
261 |
|
% |
262 |
\newcommand{\vek}[1]{\ensuremath{\vec{\mathbf{#1}}}} |
\newcommand{\vek}[1]{\ensuremath{\vec{\mathbf{#1}}}} |
263 |
\newcommand{\vtau}{\vek{\mathbf{\tau}}} |
\newcommand{\vtau}{\vek{\mathbf{\tau}}} |
264 |
The momentum equation of the sea-ice model is |
The momentum equation of the sea-ice model is |
296 |
densities; and $R_{air/ocean}$ are rotation matrices that act on the |
densities; and $R_{air/ocean}$ are rotation matrices that act on the |
297 |
wind/current vectors. |
wind/current vectors. |
298 |
|
|
299 |
|
\paragraph{Viscous-Plastic (VP) Rheology and LSOR solver \label{sec:pkg:seaice:VPdynamics}}~\\ |
300 |
|
% |
301 |
For an isotropic system the stress tensor $\sigma_{ij}$ ($i,j=1,2$) can |
For an isotropic system the stress tensor $\sigma_{ij}$ ($i,j=1,2$) can |
302 |
be related to the ice strain rate and strength by a nonlinear |
be related to the ice strain rate and strength by a nonlinear |
303 |
viscous-plastic (VP) constitutive law \citep{hib79, zhang97}: |
viscous-plastic (VP) constitutive law \citep{hib79, zhang97}: |
349 |
= 2\,\Delta\zeta$ \citep{hibler95} is used so that the stress state |
= 2\,\Delta\zeta$ \citep{hibler95} is used so that the stress state |
350 |
always lies on the elliptic yield curve by definition. |
always lies on the elliptic yield curve by definition. |
351 |
|
|
|
In the so-called truncated ellipse method the shear viscosity $\eta$ |
|
|
is capped to suppress any tensile stress \citep{hibler97, geiger98}: |
|
|
\begin{equation} |
|
|
\label{eq:etatem} |
|
|
\eta = \min\left(\frac{\zeta}{e^2}, |
|
|
\frac{\frac{P}{2}-\zeta(\dot{\epsilon}_{11}+\dot{\epsilon}_{22})} |
|
|
{\sqrt{(\dot{\epsilon}_{11}+\dot{\epsilon}_{22})^2 |
|
|
+4\dot{\epsilon}_{12}^2}}\right). |
|
|
\end{equation} |
|
|
To enable this method, set \code{\#define SEAICE\_ALLOW\_TEM} in |
|
|
\code{SEAICE\_OPTIONS.h} and turn it on with |
|
|
\code{SEAICEuseTEM=.TRUE.} in \code{data.seaice}. |
|
|
|
|
352 |
In the current implementation, the VP-model is integrated with the |
In the current implementation, the VP-model is integrated with the |
353 |
semi-implicit line successive over relaxation (LSOR)-solver of |
semi-implicit line successive over relaxation (LSOR)-solver of |
354 |
\citet{zhang97}, which allows for long time steps that, in our case, |
\citet{zhang97}, which allows for long time steps that, in our case, |
358 |
same length as in the ocean model where the Coriolis term is also |
same length as in the ocean model where the Coriolis term is also |
359 |
treated explicitly. |
treated explicitly. |
360 |
|
|
361 |
|
\paragraph{Elastic-Viscous-Plastic (EVP) Dynamics\label{sec:pkg:seaice:EVPdynamics}}~\\ |
362 |
|
% |
363 |
\citet{hun97}'s introduced an elastic contribution to the strain |
\citet{hun97}'s introduced an elastic contribution to the strain |
364 |
rate in order to regularize Eq.~\ref{eq:vpequation} in such a way that |
rate in order to regularize Eq.~\ref{eq:vpequation} in such a way that |
365 |
the resulting elastic-viscous-plastic (EVP) and VP models are |
the resulting elastic-viscous-plastic (EVP) and VP models are |
377 |
%used and compared the present sea-ice model study. |
%used and compared the present sea-ice model study. |
378 |
The EVP-model uses an explicit time stepping scheme with a short |
The EVP-model uses an explicit time stepping scheme with a short |
379 |
timestep. According to the recommendation of \citet{hun97}, the |
timestep. According to the recommendation of \citet{hun97}, the |
380 |
EVP-model is stepped forward in time 120 times within the physical |
EVP-model should be stepped forward in time 120 times |
381 |
ocean model time step (although this parameter is under debate), to |
($\code{SEAICE\_deltaTevp} = \code{SEAICIE\_deltaTdyn}/120$) within |
382 |
allow for elastic waves to disappear. Because the scheme does not |
the physical ocean model time step (although this parameter is under |
383 |
require a matrix inversion it is fast in spite of the small internal |
debate), to allow for elastic waves to disappear. Because the scheme |
384 |
timestep and simple to implement on parallel computers |
does not require a matrix inversion it is fast in spite of the small |
385 |
|
internal timestep and simple to implement on parallel computers |
386 |
\citep{hun97}. For completeness, we repeat the equations for the |
\citep{hun97}. For completeness, we repeat the equations for the |
387 |
components of the stress tensor $\sigma_{1} = |
components of the stress tensor $\sigma_{1} = |
388 |
\sigma_{11}+\sigma_{22}$, $\sigma_{2}= \sigma_{11}-\sigma_{22}$, and |
\sigma_{11}+\sigma_{22}$, $\sigma_{2}= \sigma_{11}-\sigma_{22}$, and |
403 |
\frac{\partial\sigma_{12}}{\partial{t}} + \frac{\sigma_{12} e^{2}}{2T} |
\frac{\partial\sigma_{12}}{\partial{t}} + \frac{\sigma_{12} e^{2}}{2T} |
404 |
&= \frac{P}{4T\Delta} D_S |
&= \frac{P}{4T\Delta} D_S |
405 |
\end{align} |
\end{align} |
406 |
Here, the elastic parameter $E$ is redefined in terms of a damping timescale |
Here, the elastic parameter $E$ is redefined in terms of a damping |
407 |
$T$ for elastic waves \[E=\frac{\zeta}{T}.\] |
timescale $T$ for elastic waves \[E=\frac{\zeta}{T}.\] |
408 |
$T=E_{0}\Delta{t}$ with the tunable parameter $E_0<1$ and |
$T=E_{0}\Delta{t}$ with the tunable parameter $E_0<1$ and the external |
409 |
the external (long) timestep $\Delta{t}$. \citet{hun97} recommend |
(long) timestep $\Delta{t}$. $E_{0} = \frac{1}{3}$ is the default |
410 |
$E_{0} = \frac{1}{3}$ (which is the default value in the code). |
value in the code and close to what \citet{hun97} and |
411 |
|
\citet{hun01} recommend. |
412 |
|
|
413 |
To use the EVP solver, make sure that both \code{SEAICE\_CGRID} and |
To use the EVP solver, make sure that both \code{SEAICE\_CGRID} and |
414 |
\code{SEAICE\_ALLOW\_EVP} are defined in \code{SEAICE\_OPTIONS.h} |
\code{SEAICE\_ALLOW\_EVP} are defined in \code{SEAICE\_OPTIONS.h} |
423 |
$E_{0}\Delta{t}=\mbox{forcing time scale}$, or directly |
$E_{0}\Delta{t}=\mbox{forcing time scale}$, or directly |
424 |
\code{SEAICE\_evpTauRelax} ($T$) to the forcing time scale. |
\code{SEAICE\_evpTauRelax} ($T$) to the forcing time scale. |
425 |
|
|
426 |
|
\paragraph{Truncated ellipse method (TEM) for yield curve \label{sec:pkg:seaice:TEM}}~\\ |
427 |
|
% |
428 |
|
In the so-called truncated ellipse method the shear viscosity $\eta$ |
429 |
|
is capped to suppress any tensile stress \citep{hibler97, geiger98}: |
430 |
|
\begin{equation} |
431 |
|
\label{eq:etatem} |
432 |
|
\eta = \min\left(\frac{\zeta}{e^2}, |
433 |
|
\frac{\frac{P}{2}-\zeta(\dot{\epsilon}_{11}+\dot{\epsilon}_{22})} |
434 |
|
{\sqrt{(\dot{\epsilon}_{11}+\dot{\epsilon}_{22})^2 |
435 |
|
+4\dot{\epsilon}_{12}^2}}\right). |
436 |
|
\end{equation} |
437 |
|
To enable this method, set \code{\#define SEAICE\_ALLOW\_TEM} in |
438 |
|
\code{SEAICE\_OPTIONS.h} and turn it on with |
439 |
|
\code{SEAICEuseTEM} in \code{data.seaice}. |
440 |
|
|
441 |
|
\paragraph{Ice-Ocean stress \label{sec:pkg:seaice:iceoceanstress}}~\\ |
442 |
|
% |
443 |
Moving sea ice exerts a stress on the ocean which is the opposite of |
Moving sea ice exerts a stress on the ocean which is the opposite of |
444 |
the stress $\vtau_{ocean}$ in Eq.~\ref{eq:momseaice}. This stess is |
the stress $\vtau_{ocean}$ in Eq.~\ref{eq:momseaice}. This stess is |
445 |
applied directly to the surface layer of the ocean model. An |
applied directly to the surface layer of the ocean model. An |
469 |
% $P$ at vorticity points. |
% $P$ at vorticity points. |
470 |
|
|
471 |
\paragraph{Finite-volume discretization of the stress tensor |
\paragraph{Finite-volume discretization of the stress tensor |
472 |
divergence\label{sec:pkg:seaice:discretization}} |
divergence\label{sec:pkg:seaice:discretization}}~\\ |
473 |
|
% |
474 |
On an Arakawa C~grid, ice thickness and concentration and thus ice |
On an Arakawa C~grid, ice thickness and concentration and thus ice |
475 |
strength $P$ and bulk and shear viscosities $\zeta$ and $\eta$ are |
strength $P$ and bulk and shear viscosities $\zeta$ and $\eta$ are |
476 |
naturally defined a C-points in the center of the grid |
naturally defined a C-points in the center of the grid |
631 |
analogy to $(\epsilon_{12})^Z=0$ on boundaries, we set |
analogy to $(\epsilon_{12})^Z=0$ on boundaries, we set |
632 |
$\sigma_{21}^{Z}=0$, or equivalently $\eta_{i,j}^{Z}=0$, on boundaries. |
$\sigma_{21}^{Z}=0$, or equivalently $\eta_{i,j}^{Z}=0$, on boundaries. |
633 |
|
|
634 |
\paragraph{Thermodynamics\label{sec:pkg:seaice:thermodynamics}} |
\paragraph{Thermodynamics\label{sec:pkg:seaice:thermodynamics}}~\\ |
635 |
|
% |
636 |
In its original formulation the sea ice model \citep{menemenlis05} |
In its original formulation the sea ice model \citep{menemenlis05} |
637 |
uses simple thermodynamics following the appendix of |
uses simple thermodynamics following the appendix of |
638 |
\citet{sem76}. This formulation does not allow storage of heat, |
\citet{sem76}. This formulation does not allow storage of heat, |
686 |
\code{SEAICE\_ALLOW\_FLOODING} and turned on with run-time parameter |
\code{SEAICE\_ALLOW\_FLOODING} and turned on with run-time parameter |
687 |
\code{SEAICEuseFlooding=.true.}. |
\code{SEAICEuseFlooding=.true.}. |
688 |
|
|
689 |
|
\paragraph{Advection of thermodynamic variables\label{sec:pkg:seaice:advection}}~\\ |
690 |
|
% |
691 |
Effective ice thickness (ice volume per unit area, |
Effective ice thickness (ice volume per unit area, |
692 |
$c\cdot{h}$), concentration $c$ and effective snow thickness |
$c\cdot{h}$), concentration $c$ and effective snow thickness |
693 |
($c\cdot{h}_{s}$) are advected by ice velocities: |
($c\cdot{h}_{s}$) are advected by ice velocities: |
707 |
(negative thickness or concentration). These schemes conserve volume |
(negative thickness or concentration). These schemes conserve volume |
708 |
and horizontal area and are unconditionally stable, so that we can set |
and horizontal area and are unconditionally stable, so that we can set |
709 |
$D_{X}=0$. Run-timeflags: \code{SEAICEadvScheme} (default=2, is the |
$D_{X}=0$. Run-timeflags: \code{SEAICEadvScheme} (default=2, is the |
710 |
historic 2nd-order, centered difference scheme), \code{DIFF1} |
historic 2nd-order, centered difference scheme), \code{DIFF1} = |
711 |
|
$D_{X}/\Delta{x}$ |
712 |
(default=0.004). |
(default=0.004). |
713 |
|
|
714 |
There is considerable doubt about the reliability of a ``zero-layer'' |
The MITgcm sea ice model provides the option to use |
|
thermodynamic model --- \citet{semtner84} found significant errors in |
|
|
phase (one month lead) and amplitude ($\approx$50\%\,overestimate) in |
|
|
such models --- so that today many sea ice models employ more complex |
|
|
thermodynamics. The MITgcm sea ice model provides the option to use |
|
715 |
the thermodynamics model of \citet{win00}, which in turn is based on |
the thermodynamics model of \citet{win00}, which in turn is based on |
716 |
the 3-layer model of \citet{sem76} and which treats brine content by |
the 3-layer model of \citet{sem76} and which treats brine content by |
717 |
means of enthalpy conservation; the corresponding package |
means of enthalpy conservation; the corresponding package |
723 |
The internal sea ice temperature is inferred from ice enthalpy. To |
The internal sea ice temperature is inferred from ice enthalpy. To |
724 |
avoid unphysical (negative) values for ice thickness and |
avoid unphysical (negative) values for ice thickness and |
725 |
concentration, a positive 2nd-order advection scheme with a SuperBee |
concentration, a positive 2nd-order advection scheme with a SuperBee |
726 |
flux limiter \citep{roe:85} is used in this study to advect all |
flux limiter \citep{roe:85} should be used to advect all |
727 |
sea-ice-related quantities of the \citet{win00} thermodynamic model. |
sea-ice-related quantities of the \citet{win00} thermodynamic model |
728 |
Because of the non-linearity of the advection scheme, care must be |
(runtime flag \code{thSIceAdvScheme=77} and |
729 |
taken in advecting these quantities: when simply using ice velocity to |
\code{thSIce\_diffK}=$D_{X}$=0 in \code{data.ice}, defaults are 0). Because of the |
730 |
advect enthalpy, the total energy (i.e., the volume integral of |
non-linearity of the advection scheme, care must be taken in advecting |
731 |
enthalpy) is not conserved. Alternatively, one can advect the energy |
these quantities: when simply using ice velocity to advect enthalpy, |
732 |
content (i.e., product of ice-volume and enthalpy) but then false |
the total energy (i.e., the volume integral of enthalpy) is not |
733 |
enthalpy extrema can occur, which then leads to unrealistic ice |
conserved. Alternatively, one can advect the energy content (i.e., |
734 |
temperature. In the currently implemented solution, the sea-ice mass |
product of ice-volume and enthalpy) but then false enthalpy extrema |
735 |
flux is used to advect the enthalpy in order to ensure conservation of |
can occur, which then leads to unrealistic ice temperature. In the |
736 |
enthalpy and to prevent false enthalpy extrema. % |
currently implemented solution, the sea-ice mass flux is used to |
737 |
In order to use the \code{seaice}-package with the more sophisticated |
advect the enthalpy in order to ensure conservation of enthalpy and to |
738 |
thermodynamics of \code{thsice}, compile both packages and turn both |
prevent false enthalpy extrema. % |
|
package on in \code{data.pkg}; see an example in |
|
|
\code{global\_ocean.cs32x15/input.icedyn}. |
|
739 |
|
|
740 |
%---------------------------------------------------------------------- |
%---------------------------------------------------------------------- |
741 |
|
|
860 |
\label{sec:pkg:seaice:experiments} |
\label{sec:pkg:seaice:experiments} |
861 |
|
|
862 |
\begin{itemize} |
\begin{itemize} |
863 |
\item{Labrador Sea experiment in lab\_sea verification directory. } |
\item{Labrador Sea experiment in \code{lab\_sea} verification directory. } |
864 |
|
\item \code{seaice\_obcs}, based on \code{lab\_sea} |
865 |
|
\item \code{offline\_exf\_seaice/input.seaicetd}, based on \code{lab\_sea} |
866 |
|
\item \code{global\_ocean.cs32x15/input.icedyn} and |
867 |
|
\code{global\_ocean.cs32x15/input.seaice}, global |
868 |
|
cubed-sphere-experiment with combinations of \code{seaice} and |
869 |
|
\code{thsice} |
870 |
\end{itemize} |
\end{itemize} |
871 |
|
|
872 |
|
|