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 |
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 |
|
|
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 either |
65 |
\texttt{SEAICE\_OPTIONS.h} or in \texttt{ECCO\_CPPOPTIONS.h}. |
\code{SEAICE\_OPTIONS.h} or in \code{ECCO\_CPPOPTIONS.h}. |
66 |
Table \ref{tab:pkg:seaice:cpp} summarizes these options. |
Table \ref{tab:pkg:seaice:cpp} summarizes these options. |
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 \\ |
use EVP rather than LSR rheology solver \\ |
84 |
\texttt{SEAICE\_EXTERNAL\_FLUXES} & |
\code{SEAICE\_EXTERNAL\_FLUXES} & |
85 |
use EXF-computed fluxes as starting point \\ |
use EXF-computed fluxes as starting point \\ |
86 |
\texttt{SEAICE\_MULTICATEGORY} & |
\code{SEAICE\_MULTICATEGORY} & |
87 |
enable 8-category thermodynamics \\ |
enable 8-category thermodynamics (by default undefined)\\ |
88 |
\texttt{SEAICE\_VARIABLE\_FREEZING\_POINT} & |
\code{SEAICE\_VARIABLE\_FREEZING\_POINT} & |
89 |
enable linear dependence of the freezing point on salinity \\ |
enable linear dependence of the freezing point on salinity |
90 |
\texttt{ALLOW\_SEAICE\_FLOODING} & |
(by default undefined)\\ |
91 |
|
\code{ALLOW\_SEAICE\_FLOODING} & |
92 |
enable snow to ice conversion for submerged sea-ice \\ |
enable snow to ice conversion for submerged sea-ice \\ |
93 |
\texttt{SEAICE\_SALINITY} & |
\code{SEAICE\_SALINITY} & |
94 |
enable "salty" sea-ice \\ |
enable "salty" sea-ice (by default undefined) \\ |
95 |
\texttt{SEAICE\_CAP\_HEFF} & |
\code{SEAICE\_AGE} & |
96 |
enable capping of sea-ice thickness to MAX\_HEFF \\ |
enable "age tracer" sea-ice (by default undefined) \\ |
97 |
|
\code{SEAICE\_CAP\_HEFF} & |
98 |
|
enable capping of sea-ice thickness to MAX\_HEFF \\ \hline |
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 |
} |
} |
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 |
\texttt{data.pkg} (read in \texttt{packages\_readparms.F}), |
in files \code{data.pkg} (read in \code{packages\_readparms.F}), and |
118 |
and \texttt{data.seaice} (read in \texttt{seaice\_readparms.F}). |
\code{data.seaice} (read in \code{seaice\_readparms.F}). |
119 |
|
|
120 |
\paragraph{Enabling the package} |
\paragraph{Enabling the package} |
121 |
~ \\ |
~ \\ |
122 |
% |
% |
123 |
A package is switched on/off at runtime by setting |
A package is switched on/off at run-time by setting |
124 |
(e.g. for SEAICE) \texttt{useSEAICE = .TRUE.} in \texttt{data.pkg}. |
(e.g. for SEAICE) \code{useSEAICE = .TRUE.} in \code{data.pkg}. |
125 |
|
|
126 |
\paragraph{General flags and parameters} |
\paragraph{General flags and parameters} |
127 |
~ \\ |
~ \\ |
128 |
% |
% |
129 |
\input{part6/seaice-parms.tex} |
Table~\ref{tab:pkg:seaice:runtimeparms} lists most run-time parameters. |
130 |
|
\input{s_phys_pkgs/text/seaice-parms.tex} |
131 |
|
|
132 |
|
\paragraph{Input fields and units\label{sec:pkg:seaice:fields_units}} |
133 |
|
\begin{description} |
134 |
|
\item[\code{HeffFile}:] Initial sea ice thickness averaged over grid cell |
135 |
|
in meters; initializes variable \code{HEFF}; |
136 |
|
\item[\code{AreaFile}:] Initial fractional sea ice cover, range $[0,1]$; |
137 |
|
initializes variable \code{AREA}; |
138 |
|
\item[\code{HsnowFile}:] Initial snow thickness on sea ice averaged |
139 |
|
over grid cell in meters; initializes variable \code{HSNOW}; |
140 |
|
\item[\code{HsaltFile}:] Initial salinity of sea ice averaged over grid |
141 |
|
cell in g/m$^2$; initializes variable \code{HSALT}; |
142 |
|
\item[\code{IceAgeFile}:] Initial ice age of sea ice averaged over grid |
143 |
|
cell in seconds; initializes variable \code{ICEAGE}; |
144 |
|
\end{description} |
145 |
|
|
146 |
%---------------------------------------------------------------------- |
%---------------------------------------------------------------------- |
147 |
\subsubsection{Description |
\subsubsection{Description |
149 |
|
|
150 |
[TO BE CONTINUED/MODIFIED] |
[TO BE CONTINUED/MODIFIED] |
151 |
|
|
152 |
Sea-ice model thermodynamics are based on Hibler |
% Sea-ice model thermodynamics are based on Hibler |
153 |
\cite{hib80}, that is, a 2-category model that simulates ice thickness |
% \cite{hib80}, that is, a 2-category model that simulates ice thickness |
154 |
and concentration. Snow is simulated as per Zhang et al. |
% and concentration. Snow is simulated as per Zhang et al. |
155 |
\cite{zha98a}. Although recent years have seen an increased use of |
% \cite{zha98a}. Although recent years have seen an increased use of |
156 |
multi-category thickness distribution sea-ice models for climate |
% multi-category thickness distribution sea-ice models for climate |
157 |
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 |
158 |
model and has resulted in realistic simulation of sea-ice variability |
% model and has resulted in realistic simulation of sea-ice variability |
159 |
on regional and global scales. Being less complicated, compared to |
% on regional and global scales. Being less complicated, compared to |
160 |
multi-category models, the 2-category model permits easier application |
% multi-category models, the 2-category model permits easier application |
161 |
of adjoint model optimization methods. |
% of adjoint model optimization methods. |
162 |
|
|
163 |
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 |
164 |
so-called zero-layer thermodynamic model to estimate ice growth and |
% so-called zero-layer thermodynamic model to estimate ice growth and |
165 |
decay. The zero-layer thermodynamic model assumes that ice does not |
% decay. The zero-layer thermodynamic model assumes that ice does not |
166 |
store heat and, therefore, tends to exaggerate the seasonal |
% store heat and, therefore, tends to exaggerate the seasonal |
167 |
variability in ice thickness. This exaggeration can be significantly |
% variability in ice thickness. This exaggeration can be significantly |
168 |
reduced by using Semtner's \cite{sem76} three-layer thermodynamic |
% reduced by using Semtner's \cite{sem76} three-layer thermodynamic |
169 |
model that permits heat storage in ice. Recently, the three-layer |
% model that permits heat storage in ice. Recently, the three-layer |
170 |
thermodynamic model has been reformulated by Winton \cite{win00}. The |
% thermodynamic model has been reformulated by Winton \cite{win00}. The |
171 |
reformulation improves model physics by representing the brine content |
% reformulation improves model physics by representing the brine content |
172 |
of the upper ice with a variable heat capacity. It also improves |
% of the upper ice with a variable heat capacity. It also improves |
173 |
model numerics and consumes less computer time and memory. The Winton |
% model numerics and consumes less computer time and memory. The Winton |
174 |
sea-ice thermodynamics have been ported to the MIT GCM; they currently |
% sea-ice thermodynamics have been ported to the MIT GCM; they currently |
175 |
reside under pkg/thsice. At present pkg/thsice is not fully |
% reside under pkg/thsice. The package pkg/thsice is fully |
176 |
compatible with pkg/seaice and with pkg/exf. But the eventual |
% compatible with pkg/seaice and with pkg/exf. When turned on togeter |
177 |
objective is to have fully compatible and interchangeable |
% with pkg/seaice, the zero-layer thermodynamics are replaced by the by |
178 |
thermodynamic packages for sea-ice, so that it becomes possible to use |
% Winton thermodynamics |
179 |
Hibler dynamics with Winton thermodyanmics. |
|
180 |
|
The MITgcm sea ice model (MITgcm/sim) is based on a variant of the |
181 |
|
viscous-plastic (VP) dynamic-thermodynamic sea ice model \citep{zhang97} |
182 |
|
first introduced by \citet{hib79, hib80}. In order to adapt this model |
183 |
|
to the requirements of coupled ice-ocean state estimation, many |
184 |
|
important aspects of the original code have been modified and |
185 |
|
improved: |
186 |
|
\begin{itemize} |
187 |
|
\item the code has been rewritten for an Arakawa C-grid, both B- and |
188 |
|
C-grid variants are available; the C-grid code allows for no-slip |
189 |
|
and free-slip lateral boundary conditions; |
190 |
|
\item two different solution methods for solving the nonlinear |
191 |
|
momentum equations have been adopted: LSOR \citep{zhang97}, and EVP |
192 |
|
\citep{hun97}; |
193 |
|
\item ice-ocean stress can be formulated as in \citet{hibler87} or as in |
194 |
|
\citet{cam08}; |
195 |
|
\item ice variables are advected by sophisticated, conservative |
196 |
|
advection schemes with flux limiting; |
197 |
|
\item growth and melt parameterizations have been refined and extended |
198 |
|
in order to allow for more stable automatic differentiation of the code. |
199 |
|
\end{itemize} |
200 |
|
The sea ice model is tightly coupled to the ocean compontent of the |
201 |
|
MITgcm. Heat, fresh water fluxes and surface stresses are computed |
202 |
|
from the atmospheric state and -- by default -- modified by the ice |
203 |
|
model at every time step. |
204 |
|
|
205 |
The ice dynamics models that are most widely used for large-scale |
The ice dynamics models that are most widely used for large-scale |
206 |
climate studies are the viscous-plastic (VP) model \cite{hib79}, the |
climate studies are the viscous-plastic (VP) model \citep{hib79}, the |
207 |
cavitating fluid (CF) model \cite{fla92}, and the |
cavitating fluid (CF) model \citep{fla92}, and the |
208 |
elastic-viscous-plastic (EVP) model \cite{hun97}. Compared to the VP |
elastic-viscous-plastic (EVP) model \citep{hun97}. Compared to the VP |
209 |
model, the CF model does not allow ice shear in calculating ice |
model, the CF model does not allow ice shear in calculating ice |
210 |
motion, stress, and deformation. EVP models approximate VP by adding |
motion, stress, and deformation. EVP models approximate VP by adding |
211 |
an elastic term to the equations for easier adaptation to parallel |
an elastic term to the equations for easier adaptation to parallel |
212 |
computers. Because of its higher accuracy in plastic solution and |
computers. Because of its higher accuracy in plastic solution and |
213 |
relatively simpler formulation, compared to the EVP model, we decided |
relatively simpler formulation, compared to the EVP model, we decided |
214 |
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 |
215 |
this we extended the alternating-direction-implicit (ADI) method of |
model. To do this we extended the line successive over relaxation |
216 |
Zhang and Rothrock \cite{zha00} for use in a parallel configuration. |
(LSOR) method of \citet{zhang97} for use in a parallel |
217 |
|
configuration. An EVP model and a free-drift implemtation can be |
218 |
|
selected with runtime flags. |
219 |
|
|
220 |
|
\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 |
224 |
|
snow cover as in \citet{zha98a}. The zero-layer thermodynamic model |
225 |
|
assumes that ice does not store heat and, therefore, tends to |
226 |
|
exaggerate the seasonal variability in ice thickness. This |
227 |
|
exaggeration can be significantly reduced by using |
228 |
|
\citeauthor{sem76}'s~[\citeyear{sem76}] three-layer thermodynamic |
229 |
|
model that permits heat storage in ice. Recently, the three-layer thermodynamic model has been reformulated by |
230 |
|
\citet{win00}. The reformulation improves model physics by |
231 |
|
representing the brine content of the upper ice with a variable heat |
232 |
|
capacity. It also improves model numerics and consumes less computer |
233 |
|
time and memory. |
234 |
|
|
235 |
|
The Winton sea-ice thermodynamics have been ported to the MIT GCM; |
236 |
|
they currently reside under \code{pkg/thsice}. The package |
237 |
|
\code{thsice} is described in section~\ref{sec:pkg:thsice}; it is |
238 |
|
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. |
253 |
The sea ice model also requires surface temperature from the ocean |
The sea ice model also requires surface temperature from the ocean |
254 |
model and third level horizontal velocity which is used as a proxy for |
model and the top level horizontal velocity. Output fields are |
255 |
surface geostrophic velocity. Output fields are surface wind stress, |
surface wind stress, evaporation minus precipitation minus runoff, net |
256 |
evaporation minus precipitation minus runoff, net surface heat flux, |
surface heat flux, and net shortwave flux. The sea-ice model is |
257 |
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 |
258 |
regions bulk formulae are used to estimate oceanic forcing from the |
forcing from the atmospheric fields. |
|
atmospheric fields. |
|
259 |
|
|
260 |
|
\paragraph{Dynamics\label{sec:pkg:seaice:dynamics}}~\\ |
261 |
|
% |
262 |
|
\newcommand{\vek}[1]{\ensuremath{\vec{\mathbf{#1}}}} |
263 |
|
\newcommand{\vtau}{\vek{\mathbf{\tau}}} |
264 |
|
The momentum equation of the sea-ice model is |
265 |
|
\begin{equation} |
266 |
|
\label{eq:momseaice} |
267 |
|
m \frac{D\vek{u}}{Dt} = -mf\vek{k}\times\vek{u} + \vtau_{air} + |
268 |
|
\vtau_{ocean} - m \nabla{\phi(0)} + \vek{F}, |
269 |
|
\end{equation} |
270 |
|
where $m=m_{i}+m_{s}$ is the ice and snow mass per unit area; |
271 |
|
$\vek{u}=u\vek{i}+v\vek{j}$ is the ice velocity vector; |
272 |
|
$\vek{i}$, $\vek{j}$, and $\vek{k}$ are unit vectors in the $x$, $y$, and $z$ |
273 |
|
directions, respectively; |
274 |
|
$f$ is the Coriolis parameter; |
275 |
|
$\vtau_{air}$ and $\vtau_{ocean}$ are the wind-ice and ocean-ice stresses, |
276 |
|
respectively; |
277 |
|
$g$ is the gravity accelation; |
278 |
|
$\nabla\phi(0)$ is the gradient (or tilt) of the sea surface height; |
279 |
|
$\phi(0) = g\eta + p_{a}/\rho_{0} + mg/\rho_{0}$ is the sea surface |
280 |
|
height potential in response to ocean dynamics ($g\eta$), to |
281 |
|
atmospheric pressure loading ($p_{a}/\rho_{0}$, where $\rho_{0}$ is a |
282 |
|
reference density) and a term due to snow and ice loading \citep{cam08}; |
283 |
|
and $\vek{F}=\nabla\cdot\sigma$ is the divergence of the internal ice |
284 |
|
stress tensor $\sigma_{ij}$. % |
285 |
|
Advection of sea-ice momentum is neglected. The wind and ice-ocean stress |
286 |
|
terms are given by |
287 |
|
\begin{align*} |
288 |
|
\vtau_{air} = & \rho_{air} C_{air} |\vek{U}_{air} -\vek{u}| |
289 |
|
R_{air} (\vek{U}_{air} -\vek{u}), \\ |
290 |
|
\vtau_{ocean} = & \rho_{ocean}C_{ocean} |\vek{U}_{ocean}-\vek{u}| |
291 |
|
R_{ocean}(\vek{U}_{ocean}-\vek{u}), |
292 |
|
\end{align*} |
293 |
|
where $\vek{U}_{air/ocean}$ are the surface winds of the atmosphere |
294 |
|
and surface currents of the ocean, respectively; $C_{air/ocean}$ are |
295 |
|
air and ocean drag coefficients; $\rho_{air/ocean}$ are reference |
296 |
|
densities; and $R_{air/ocean}$ are rotation matrices that act on the |
297 |
|
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 |
302 |
|
be related to the ice strain rate and strength by a nonlinear |
303 |
|
viscous-plastic (VP) constitutive law \citep{hib79, zhang97}: |
304 |
|
\begin{equation} |
305 |
|
\label{eq:vpequation} |
306 |
|
\sigma_{ij}=2\eta(\dot{\epsilon}_{ij},P)\dot{\epsilon}_{ij} |
307 |
|
+ \left[\zeta(\dot{\epsilon}_{ij},P) - |
308 |
|
\eta(\dot{\epsilon}_{ij},P)\right]\dot{\epsilon}_{kk}\delta_{ij} |
309 |
|
- \frac{P}{2}\delta_{ij}. |
310 |
|
\end{equation} |
311 |
|
The ice strain rate is given by |
312 |
|
\begin{equation*} |
313 |
|
\dot{\epsilon}_{ij} = \frac{1}{2}\left( |
314 |
|
\frac{\partial{u_{i}}}{\partial{x_{j}}} + |
315 |
|
\frac{\partial{u_{j}}}{\partial{x_{i}}}\right). |
316 |
|
\end{equation*} |
317 |
|
The maximum ice pressure $P_{\max}$, a measure of ice strength, depends on |
318 |
|
both thickness $h$ and compactness (concentration) $c$: |
319 |
|
\begin{equation} |
320 |
|
P_{\max} = P^{*}c\,h\,e^{[C^{*}\cdot(1-c)]}, |
321 |
|
\label{eq:icestrength} |
322 |
|
\end{equation} |
323 |
|
with the constants $P^{*}$ (run-time parameter \code{SEAICE\_strength}) and |
324 |
|
$C^{*}=20$. The nonlinear bulk and shear |
325 |
|
viscosities $\eta$ and $\zeta$ are functions of ice strain rate |
326 |
|
invariants and ice strength such that the principal components of the |
327 |
|
stress lie on an elliptical yield curve with the ratio of major to |
328 |
|
minor axis $e$ equal to $2$; they are given by: |
329 |
|
\begin{align*} |
330 |
|
\zeta =& \min\left(\frac{P_{\max}}{2\max(\Delta,\Delta_{\min})}, |
331 |
|
\zeta_{\max}\right) \\ |
332 |
|
\eta =& \frac{\zeta}{e^2} \\ |
333 |
|
\intertext{with the abbreviation} |
334 |
|
\Delta = & \left[ |
335 |
|
\left(\dot{\epsilon}_{11}^2+\dot{\epsilon}_{22}^2\right) |
336 |
|
(1+e^{-2}) + 4e^{-2}\dot{\epsilon}_{12}^2 + |
337 |
|
2\dot{\epsilon}_{11}\dot{\epsilon}_{22} (1-e^{-2}) |
338 |
|
\right]^{\frac{1}{2}}. |
339 |
|
\end{align*} |
340 |
|
The bulk viscosities are bounded above by imposing both a minimum |
341 |
|
$\Delta_{\min}$ (for numerical reasons, run-time parameter |
342 |
|
\code{SEAICE\_EPS} with a default value of |
343 |
|
$10^{-10}\text{\,s}^{-1}$) and a maximum $\zeta_{\max} = |
344 |
|
P_{\max}/\Delta^*$, where |
345 |
|
$\Delta^*=(5\times10^{12}/2\times10^4)\text{\,s}^{-1}$. (There is also |
346 |
|
the option of bounding $\zeta$ from below by setting run-time |
347 |
|
parameter \code{SEAICE\_zetaMin} $>0$, but this is generally not |
348 |
|
recommended). For stress tensor computation the replacement pressure $P |
349 |
|
= 2\,\Delta\zeta$ \citep{hibler95} is used so that the stress state |
350 |
|
always lies on the elliptic yield curve by definition. |
351 |
|
|
352 |
|
In the current implementation, the VP-model is integrated with the |
353 |
|
semi-implicit line successive over relaxation (LSOR)-solver of |
354 |
|
\citet{zhang97}, which allows for long time steps that, in our case, |
355 |
|
are limited by the explicit treatment of the Coriolis term. The |
356 |
|
explicit treatment of the Coriolis term does not represent a severe |
357 |
|
limitation because it restricts the time step to approximately the |
358 |
|
same length as in the ocean model where the Coriolis term is also |
359 |
|
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 |
364 |
|
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 |
366 |
|
identical at steady state, |
367 |
|
\begin{equation} |
368 |
|
\label{eq:evpequation} |
369 |
|
\frac{1}{E}\frac{\partial\sigma_{ij}}{\partial{t}} + |
370 |
|
\frac{1}{2\eta}\sigma_{ij} |
371 |
|
+ \frac{\eta - \zeta}{4\zeta\eta}\sigma_{kk}\delta_{ij} |
372 |
|
+ \frac{P}{4\zeta}\delta_{ij} |
373 |
|
= \dot{\epsilon}_{ij}. |
374 |
|
\end{equation} |
375 |
|
%In the EVP model, equations for the components of the stress tensor |
376 |
|
%$\sigma_{ij}$ are solved explicitly. Both model formulations will be |
377 |
|
%used and compared the present sea-ice model study. |
378 |
|
The EVP-model uses an explicit time stepping scheme with a short |
379 |
|
timestep. According to the recommendation of \citet{hun97}, the |
380 |
|
EVP-model should be stepped forward in time 120 times |
381 |
|
($\code{SEAICE\_deltaTevp} = \code{SEAICIE\_deltaTdyn}/120$) within |
382 |
|
the physical ocean model time step (although this parameter is under |
383 |
|
debate), to allow for elastic waves to disappear. Because the scheme |
384 |
|
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 |
387 |
|
components of the stress tensor $\sigma_{1} = |
388 |
|
\sigma_{11}+\sigma_{22}$, $\sigma_{2}= \sigma_{11}-\sigma_{22}$, and |
389 |
|
$\sigma_{12}$. Introducing the divergence $D_D = |
390 |
|
\dot{\epsilon}_{11}+\dot{\epsilon}_{22}$, and the horizontal tension |
391 |
|
and shearing strain rates, $D_T = |
392 |
|
\dot{\epsilon}_{11}-\dot{\epsilon}_{22}$ and $D_S = |
393 |
|
2\dot{\epsilon}_{12}$, respectively, and using the above |
394 |
|
abbreviations, the equations~\ref{eq:evpequation} can be written as: |
395 |
|
\begin{align} |
396 |
|
\label{eq:evpstresstensor1} |
397 |
|
\frac{\partial\sigma_{1}}{\partial{t}} + \frac{\sigma_{1}}{2T} + |
398 |
|
\frac{P}{2T} &= \frac{P}{2T\Delta} D_D \\ |
399 |
|
\label{eq:evpstresstensor2} |
400 |
|
\frac{\partial\sigma_{2}}{\partial{t}} + \frac{\sigma_{2} e^{2}}{2T} |
401 |
|
&= \frac{P}{2T\Delta} D_T \\ |
402 |
|
\label{eq:evpstresstensor12} |
403 |
|
\frac{\partial\sigma_{12}}{\partial{t}} + \frac{\sigma_{12} e^{2}}{2T} |
404 |
|
&= \frac{P}{4T\Delta} D_S |
405 |
|
\end{align} |
406 |
|
Here, the elastic parameter $E$ is redefined in terms of a damping |
407 |
|
timescale $T$ for elastic waves \[E=\frac{\zeta}{T}.\] |
408 |
|
$T=E_{0}\Delta{t}$ with the tunable parameter $E_0<1$ and the external |
409 |
|
(long) timestep $\Delta{t}$. $E_{0} = \frac{1}{3}$ is the default |
410 |
|
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 |
414 |
|
\code{SEAICE\_ALLOW\_EVP} are defined in \code{SEAICE\_OPTIONS.h} |
415 |
|
(default). The solver is turned on by setting the sub-cycling time |
416 |
|
step \code{SEAICE\_deltaTevp} to a value larger than zero. The |
417 |
|
choice of this time step is under debate. \citet{hun97} recommend |
418 |
|
order(120) time steps for the EVP solver within one model time step |
419 |
|
$\Delta{t}$ (\code{deltaTmom}). One can also choose order(120) time |
420 |
|
steps within the forcing time scale, but then we recommend adjusting |
421 |
|
the damping time scale $T$ accordingly, by setting either |
422 |
|
\code{SEAICE\_elasticParm} ($E_{0}$), so that |
423 |
|
$E_{0}\Delta{t}=\mbox{forcing time scale}$, or directly |
424 |
|
\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 |
444 |
|
the stress $\vtau_{ocean}$ in Eq.~\ref{eq:momseaice}. This stess is |
445 |
|
applied directly to the surface layer of the ocean model. An |
446 |
|
alternative ocean stress formulation is given by \citet{hibler87}. |
447 |
|
Rather than applying $\vtau_{ocean}$ directly, the stress is derived |
448 |
|
from integrating over the ice thickness to the bottom of the oceanic |
449 |
|
surface layer. In the resulting equation for the \emph{combined} |
450 |
|
ocean-ice momentum, the interfacial stress cancels and the total |
451 |
|
stress appears as the sum of windstress and divergence of internal ice |
452 |
|
stresses: $\delta(z) (\vtau_{air} + \vek{F})/\rho_0$, \citep[see also |
453 |
|
Eq.\,2 of][]{hibler87}. The disadvantage of this formulation is that |
454 |
|
now the velocity in the surface layer of the ocean that is used to |
455 |
|
advect tracers, is really an average over the ocean surface |
456 |
|
velocity and the ice velocity leading to an inconsistency as the ice |
457 |
|
temperature and salinity are different from the oceanic variables. |
458 |
|
To turn on the stress formulation of \citet{hibler87}, set |
459 |
|
\code{useHB87StressCoupling=.TRUE.} in \code{data.seaice}. |
460 |
|
|
461 |
|
|
462 |
|
% Our discretization differs from \citet{zhang97, zhang03} in the |
463 |
|
% underlying grid, namely the Arakawa C-grid, but is otherwise |
464 |
|
% straightforward. The EVP model, in particular, is discretized |
465 |
|
% naturally on the C-grid with $\sigma_{1}$ and $\sigma_{2}$ on the |
466 |
|
% center points and $\sigma_{12}$ on the corner (or vorticity) points of |
467 |
|
% the grid. With this choice all derivatives are discretized as central |
468 |
|
% differences and averaging is only involved in computing $\Delta$ and |
469 |
|
% $P$ at vorticity points. |
470 |
|
|
471 |
|
\paragraph{Finite-volume discretization of the stress tensor |
472 |
|
divergence\label{sec:pkg:seaice:discretization}}~\\ |
473 |
|
% |
474 |
|
On an Arakawa C~grid, ice thickness and concentration and thus ice |
475 |
|
strength $P$ and bulk and shear viscosities $\zeta$ and $\eta$ are |
476 |
|
naturally defined a C-points in the center of the grid |
477 |
|
cell. Discretization requires only averaging of $\zeta$ and $\eta$ to |
478 |
|
vorticity or Z-points (or $\zeta$-points, but here we use Z in order |
479 |
|
avoid confusion with the bulk viscosity) at the bottom left corner of |
480 |
|
the cell to give $\overline{\zeta}^{Z}$ and $\overline{\eta}^{Z}$. In |
481 |
|
the following, the superscripts indicate location at Z or C points, |
482 |
|
distance across the cell (F), along the cell edge (G), between |
483 |
|
$u$-points (U), $v$-points (V), and C-points (C). The control volumes |
484 |
|
of the $u$- and $v$-equations in the grid cell at indices $(i,j)$ are |
485 |
|
$A_{i,j}^{w}$ and $A_{i,j}^{s}$, respectively. With these definitions |
486 |
|
(which follow the model code documentation except that $\zeta$-points |
487 |
|
have been renamed to Z-points), the strain rates are discretized as: |
488 |
|
\begin{align} |
489 |
|
\dot{\epsilon}_{11} &= \partial_{1}{u}_{1} + k_{2}u_{2} \\ \notag |
490 |
|
=> (\epsilon_{11})_{i,j}^C &= \frac{u_{i+1,j}-u_{i,j}}{\Delta{x}_{i,j}^{F}} |
491 |
|
+ k_{2,i,j}^{C}\frac{v_{i,j+1}+v_{i,j}}{2} \\ |
492 |
|
\dot{\epsilon}_{22} &= \partial_{2}{u}_{2} + k_{1}u_{1} \\\notag |
493 |
|
=> (\epsilon_{22})_{i,j}^C &= \frac{v_{i,j+1}-v_{i,j}}{\Delta{y}_{i,j}^{F}} |
494 |
|
+ k_{1,i,j}^{C}\frac{u_{i+1,j}+u_{i,j}}{2} \\ |
495 |
|
\dot{\epsilon}_{12} = \dot{\epsilon}_{21} &= \frac{1}{2}\biggl( |
496 |
|
\partial_{1}{u}_{2} + \partial_{2}{u}_{1} - k_{1}u_{2} - k_{2}u_{1} |
497 |
|
\biggr) \\ \notag |
498 |
|
=> (\epsilon_{12})_{i,j}^Z &= \frac{1}{2} |
499 |
|
\biggl( \frac{v_{i,j}-v_{i-1,j}}{\Delta{x}_{i,j}^V} |
500 |
|
+ \frac{u_{i,j}-u_{i,j-1}}{\Delta{y}_{i,j}^U} \\\notag |
501 |
|
&\phantom{=\frac{1}{2}\biggl(} |
502 |
|
- k_{1,i,j}^{Z}\frac{v_{i,j}+v_{i-1,j}}{2} |
503 |
|
- k_{2,i,j}^{Z}\frac{u_{i,j}+u_{i,j-1}}{2} |
504 |
|
\biggr), |
505 |
|
\end{align} |
506 |
|
so that the diagonal terms of the strain rate tensor are naturally |
507 |
|
defined at C-points and the symmetric off-diagonal term at |
508 |
|
Z-points. No-slip boundary conditions ($u_{i,j-1}+u_{i,j}=0$ and |
509 |
|
$v_{i-1,j}+v_{i,j}=0$ across boundaries) are implemented via |
510 |
|
``ghost-points''; for free slip boundary conditions |
511 |
|
$(\epsilon_{12})^Z=0$ on boundaries. |
512 |
|
|
513 |
|
For a spherical polar grid, the coefficients of the metric terms are |
514 |
|
$k_{1}=0$ and $k_{2}=-\tan\phi/a$, with the spherical radius $a$ and |
515 |
|
the latitude $\phi$; $\Delta{x}_1 = \Delta{x} = a\cos\phi |
516 |
|
\Delta\lambda$, and $\Delta{x}_2 = \Delta{y}=a\Delta\phi$. For a |
517 |
|
general orthogonal curvilinear grid, $k_{1}$ and |
518 |
|
$k_{2}$ can be approximated by finite differences of the cell widths: |
519 |
|
\begin{align} |
520 |
|
k_{1,i,j}^{C} &= \frac{1}{\Delta{y}_{i,j}^{F}} |
521 |
|
\frac{\Delta{y}_{i+1,j}^{G}-\Delta{y}_{i,j}^{G}}{\Delta{x}_{i,j}^{F}} \\ |
522 |
|
k_{2,i,j}^{C} &= \frac{1}{\Delta{x}_{i,j}^{F}} |
523 |
|
\frac{\Delta{x}_{i,j+1}^{G}-\Delta{x}_{i,j}^{G}}{\Delta{y}_{i,j}^{F}} \\ |
524 |
|
k_{1,i,j}^{Z} &= \frac{1}{\Delta{y}_{i,j}^{U}} |
525 |
|
\frac{\Delta{y}_{i,j}^{C}-\Delta{y}_{i-1,j}^{C}}{\Delta{x}_{i,j}^{V}} \\ |
526 |
|
k_{2,i,j}^{Z} &= \frac{1}{\Delta{x}_{i,j}^{V}} |
527 |
|
\frac{\Delta{x}_{i,j}^{C}-\Delta{x}_{i,j-1}^{C}}{\Delta{y}_{i,j}^{U}} |
528 |
|
\end{align} |
529 |
|
|
530 |
|
The stress tensor is given by the constitutive viscous-plastic |
531 |
|
relation $\sigma_{\alpha\beta} = 2\eta\dot{\epsilon}_{\alpha\beta} + |
532 |
|
[(\zeta-\eta)\dot{\epsilon}_{\gamma\gamma} - P/2 |
533 |
|
]\delta_{\alpha\beta}$ \citep{hib79}. The stress tensor divergence |
534 |
|
$(\nabla\sigma)_{\alpha} = \partial_\beta\sigma_{\beta\alpha}$, is |
535 |
|
discretized in finite volumes. This conveniently avoids dealing with |
536 |
|
further metric terms, as these are ``hidden'' in the differential cell |
537 |
|
widths. For the $u$-equation ($\alpha=1$) we have: |
538 |
|
\begin{align} |
539 |
|
(\nabla\sigma)_{1}: \phantom{=}& |
540 |
|
\frac{1}{A_{i,j}^w} |
541 |
|
\int_{\mathrm{cell}}(\partial_1\sigma_{11}+\partial_2\sigma_{21})\,dx_1\,dx_2 |
542 |
|
\\\notag |
543 |
|
=& \frac{1}{A_{i,j}^w} \biggl\{ |
544 |
|
\int_{x_2}^{x_2+\Delta{x}_2}\sigma_{11}dx_2\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}} |
545 |
|
+ \int_{x_1}^{x_1+\Delta{x}_1}\sigma_{21}dx_1\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}} |
546 |
|
\biggr\} \\ \notag |
547 |
|
\approx& \frac{1}{A_{i,j}^w} \biggl\{ |
548 |
|
\Delta{x}_2\sigma_{11}\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}} |
549 |
|
+ \Delta{x}_1\sigma_{21}\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}} |
550 |
|
\biggr\} \\ \notag |
551 |
|
=& \frac{1}{A_{i,j}^w} \biggl\{ |
552 |
|
(\Delta{x}_2\sigma_{11})_{i,j}^C - |
553 |
|
(\Delta{x}_2\sigma_{11})_{i-1,j}^C |
554 |
|
\\\notag |
555 |
|
\phantom{=}& \phantom{\frac{1}{A_{i,j}^w} \biggl\{} |
556 |
|
+ (\Delta{x}_1\sigma_{21})_{i,j+1}^Z - (\Delta{x}_1\sigma_{21})_{i,j}^Z |
557 |
|
\biggr\} |
558 |
|
\end{align} |
559 |
|
with |
560 |
|
\begin{align} |
561 |
|
(\Delta{x}_2\sigma_{11})_{i,j}^C =& \phantom{+} |
562 |
|
\Delta{y}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j} |
563 |
|
\frac{u_{i+1,j}-u_{i,j}}{\Delta{x}_{i,j}^{F}} \\ \notag |
564 |
|
&+ \Delta{y}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j} |
565 |
|
k_{2,i,j}^C \frac{v_{i,j+1}+v_{i,j}}{2} \\ \notag |
566 |
|
\phantom{=}& + \Delta{y}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j} |
567 |
|
\frac{v_{i,j+1}-v_{i,j}}{\Delta{y}_{i,j}^{F}} \\ \notag |
568 |
|
\phantom{=}& + \Delta{y}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j} |
569 |
|
k_{1,i,j}^{C}\frac{u_{i+1,j}+u_{i,j}}{2} \\ \notag |
570 |
|
\phantom{=}& - \Delta{y}_{i,j}^{F} \frac{P}{2} \\ |
571 |
|
(\Delta{x}_1\sigma_{21})_{i,j}^Z =& \phantom{+} |
572 |
|
\Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j} |
573 |
|
\frac{u_{i,j}-u_{i,j-1}}{\Delta{y}_{i,j}^{U}} \\ \notag |
574 |
|
& + \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j} |
575 |
|
\frac{v_{i,j}-v_{i-1,j}}{\Delta{x}_{i,j}^{V}} \\ \notag |
576 |
|
& - \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j} |
577 |
|
k_{2,i,j}^{Z}\frac{u_{i,j}+u_{i,j-1}}{2} \\ \notag |
578 |
|
& - \Delta{x}_{i,j}^{V}\overline{\eta}^{Z}_{i,j} |
579 |
|
k_{1,i,j}^{Z}\frac{v_{i,j}+v_{i-1,j}}{2} |
580 |
|
\end{align} |
581 |
|
|
582 |
|
Similarly, we have for the $v$-equation ($\alpha=2$): |
583 |
|
\begin{align} |
584 |
|
(\nabla\sigma)_{2}: \phantom{=}& |
585 |
|
\frac{1}{A_{i,j}^s} |
586 |
|
\int_{\mathrm{cell}}(\partial_1\sigma_{12}+\partial_2\sigma_{22})\,dx_1\,dx_2 |
587 |
|
\\\notag |
588 |
|
=& \frac{1}{A_{i,j}^s} \biggl\{ |
589 |
|
\int_{x_2}^{x_2+\Delta{x}_2}\sigma_{12}dx_2\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}} |
590 |
|
+ \int_{x_1}^{x_1+\Delta{x}_1}\sigma_{22}dx_1\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}} |
591 |
|
\biggr\} \\ \notag |
592 |
|
\approx& \frac{1}{A_{i,j}^s} \biggl\{ |
593 |
|
\Delta{x}_2\sigma_{12}\biggl|_{x_{1}}^{x_{1}+\Delta{x}_{1}} |
594 |
|
+ \Delta{x}_1\sigma_{22}\biggl|_{x_{2}}^{x_{2}+\Delta{x}_{2}} |
595 |
|
\biggr\} \\ \notag |
596 |
|
=& \frac{1}{A_{i,j}^s} \biggl\{ |
597 |
|
(\Delta{x}_2\sigma_{12})_{i+1,j}^Z - (\Delta{x}_2\sigma_{12})_{i,j}^Z |
598 |
|
\\ \notag |
599 |
|
\phantom{=}& \phantom{\frac{1}{A_{i,j}^s} \biggl\{} |
600 |
|
+ (\Delta{x}_1\sigma_{22})_{i,j}^C - (\Delta{x}_1\sigma_{22})_{i,j-1}^C |
601 |
|
\biggr\} |
602 |
|
\end{align} |
603 |
|
with |
604 |
|
\begin{align} |
605 |
|
(\Delta{x}_1\sigma_{12})_{i,j}^Z =& \phantom{+} |
606 |
|
\Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j} |
607 |
|
\frac{u_{i,j}-u_{i,j-1}}{\Delta{y}_{i,j}^{U}} |
608 |
|
\\\notag & |
609 |
|
+ \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j} |
610 |
|
\frac{v_{i,j}-v_{i-1,j}}{\Delta{x}_{i,j}^{V}} \\\notag |
611 |
|
&- \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j} |
612 |
|
k_{2,i,j}^{Z}\frac{u_{i,j}+u_{i,j-1}}{2} |
613 |
|
\\\notag & |
614 |
|
- \Delta{y}_{i,j}^{U}\overline{\eta}^{Z}_{i,j} |
615 |
|
k_{1,i,j}^{Z}\frac{v_{i,j}+v_{i-1,j}}{2} \\ \notag |
616 |
|
(\Delta{x}_2\sigma_{22})_{i,j}^C =& \phantom{+} |
617 |
|
\Delta{x}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j} |
618 |
|
\frac{u_{i+1,j}-u_{i,j}}{\Delta{x}_{i,j}^{F}} \\ \notag |
619 |
|
&+ \Delta{x}_{i,j}^{F}(\zeta - \eta)^{C}_{i,j} |
620 |
|
k_{2,i,j}^{C} \frac{v_{i,j+1}+v_{i,j}}{2} \\ \notag |
621 |
|
& + \Delta{x}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j} |
622 |
|
\frac{v_{i,j+1}-v_{i,j}}{\Delta{y}_{i,j}^{F}} \\ \notag |
623 |
|
& + \Delta{x}_{i,j}^{F}(\zeta + \eta)^{C}_{i,j} |
624 |
|
k_{1,i,j}^{C}\frac{u_{i+1,j}+u_{i,j}}{2} \\ \notag |
625 |
|
& -\Delta{x}_{i,j}^{F} \frac{P}{2} |
626 |
|
\end{align} |
627 |
|
|
628 |
|
Again, no slip boundary conditions are realized via ghost points and |
629 |
|
$u_{i,j-1}+u_{i,j}=0$ and $v_{i-1,j}+v_{i,j}=0$ across boundaries. For |
630 |
|
free slip boundary conditions the lateral stress is set to zeros. In |
631 |
|
analogy to $(\epsilon_{12})^Z=0$ on boundaries, we set |
632 |
|
$\sigma_{21}^{Z}=0$, or equivalently $\eta_{i,j}^{Z}=0$, on boundaries. |
633 |
|
|
634 |
|
\paragraph{Thermodynamics\label{sec:pkg:seaice:thermodynamics}}~\\ |
635 |
|
% |
636 |
|
In its original formulation the sea ice model \citep{menemenlis05} |
637 |
|
uses simple thermodynamics following the appendix of |
638 |
|
\citet{sem76}. This formulation does not allow storage of heat, |
639 |
|
that is, the heat capacity of ice is zero. Upward conductive heat flux |
640 |
|
is parameterized assuming a linear temperature profile and together |
641 |
|
with a constant ice conductivity. It is expressed as |
642 |
|
$(K/h)(T_{w}-T_{0})$, where $K$ is the ice conductivity, $h$ the ice |
643 |
|
thickness, and $T_{w}-T_{0}$ the difference between water and ice |
644 |
|
surface temperatures. This type of model is often refered to as a |
645 |
|
``zero-layer'' model. The surface heat flux is computed in a similar |
646 |
|
way to that of \citet{parkinson79} and \citet{manabe79}. |
647 |
|
|
648 |
|
The conductive heat flux depends strongly on the ice thickness $h$. |
649 |
|
However, the ice thickness in the model represents a mean over a |
650 |
|
potentially very heterogeneous thickness distribution. In order to |
651 |
|
parameterize a sub-grid scale distribution for heat flux |
652 |
|
computations, the mean ice thickness $h$ is split into seven thickness |
653 |
|
categories $H_{n}$ that are equally distributed between $2h$ and a |
654 |
|
minimum imposed ice thickness of $5\text{\,cm}$ by $H_n= |
655 |
|
\frac{2n-1}{7}\,h$ for $n\in[1,7]$. The heat fluxes computed for each |
656 |
|
thickness category is area-averaged to give the total heat flux |
657 |
|
\citep{hibler84}. To use this thickness category parameterization set |
658 |
|
\code{\#define SEAICE\_MULTICATEGORY}; note that this requires |
659 |
|
different restart files and switching this flag on in the middle of an |
660 |
|
integration is not possible. |
661 |
|
|
662 |
|
The atmospheric heat flux is balanced by an oceanic heat flux from |
663 |
|
below. The oceanic flux is proportional to |
664 |
|
$\rho\,c_{p}\left(T_{w}-T_{fr}\right)$ where $\rho$ and $c_{p}$ are |
665 |
|
the density and heat capacity of sea water and $T_{fr}$ is the local |
666 |
|
freezing point temperature that is a function of salinity. This flux |
667 |
|
is not assumed to instantaneously melt or create ice, but a time scale |
668 |
|
of three days (run-time parameter \code{SEAICE\_gamma\_t}) is used |
669 |
|
to relax $T_{w}$ to the freezing point. |
670 |
|
% |
671 |
|
The parameterization of lateral and vertical growth of sea ice follows |
672 |
|
that of \citet{hib79, hib80}; the so-called lead closing parameter |
673 |
|
$h_{0}$ (run-time parameter \code{HO}) has a default value of |
674 |
|
0.5~meters. |
675 |
|
|
676 |
|
On top of the ice there is a layer of snow that modifies the heat flux |
677 |
|
and the albedo \citep{zha98a}. Snow modifies the effective |
678 |
|
conductivity according to |
679 |
|
\[\frac{K}{h} \rightarrow \frac{1}{\frac{h_{s}}{K_{s}}+\frac{h}{K}},\] |
680 |
|
where $K_s$ is the conductivity of snow and $h_s$ the snow thickness. |
681 |
|
If enough snow accumulates so that its weight submerges the ice and |
682 |
|
the snow is flooded, a simple mass conserving parameterization of |
683 |
|
snowice formation (a flood-freeze algorithm following Archimedes' |
684 |
|
principle) turns snow into ice until the ice surface is back at $z=0$ |
685 |
|
\citep{leppaeranta83}. The flood-freeze algorithm is enabled with the CPP-flag |
686 |
|
\code{SEAICE\_ALLOW\_FLOODING} and turned on with run-time parameter |
687 |
|
\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, |
692 |
|
$c\cdot{h}$), concentration $c$ and effective snow thickness |
693 |
|
($c\cdot{h}_{s}$) are advected by ice velocities: |
694 |
|
\begin{equation} |
695 |
|
\label{eq:advection} |
696 |
|
\frac{\partial{X}}{\partial{t}} = - \nabla\cdot\left(\vek{u}\,X\right) + |
697 |
|
\Gamma_{X} + D_{X} |
698 |
|
\end{equation} |
699 |
|
where $\Gamma_X$ are the thermodynamic source terms and $D_{X}$ the |
700 |
|
diffusive terms for quantities $X=(c\cdot{h}), c, (c\cdot{h}_{s})$. |
701 |
|
% |
702 |
|
From the various advection scheme that are available in the MITgcm, we |
703 |
|
recommend flux-limited schemes \citep[multidimensional 2nd and |
704 |
|
3rd-order advection scheme with flux limiter][]{roe:85, hundsdorfer94} |
705 |
|
to preserve sharp gradients and edges that are typical of sea ice |
706 |
|
distributions and to rule out unphysical over- and undershoots |
707 |
|
(negative thickness or concentration). These schemes conserve volume |
708 |
|
and horizontal area and are unconditionally stable, so that we can set |
709 |
|
$D_{X}=0$. Run-timeflags: \code{SEAICEadvScheme} (default=2, is the |
710 |
|
historic 2nd-order, centered difference scheme), \code{DIFF1} = |
711 |
|
$D_{X}/\Delta{x}$ |
712 |
|
(default=0.004). |
713 |
|
|
714 |
|
The MITgcm sea ice model provides the option to use |
715 |
|
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 |
717 |
|
means of enthalpy conservation; the corresponding package |
718 |
|
\code{thsice} is described in section~\ref{sec:pkg:thsice}. This |
719 |
|
scheme requires additional state variables, namely the enthalpy of the |
720 |
|
two ice layers (instead of effective ice salinity), to be advected by |
721 |
|
ice velocities. |
722 |
|
% |
723 |
|
The internal sea ice temperature is inferred from ice enthalpy. To |
724 |
|
avoid unphysical (negative) values for ice thickness and |
725 |
|
concentration, a positive 2nd-order advection scheme with a SuperBee |
726 |
|
flux limiter \citep{roe:85} should be used to advect all |
727 |
|
sea-ice-related quantities of the \citet{win00} thermodynamic model |
728 |
|
(runtime flag \code{thSIceAdvScheme=77} and |
729 |
|
\code{thSIce\_diffK}=$D_{X}$=0 in \code{data.ice}, defaults are 0). Because of the |
730 |
|
non-linearity of the advection scheme, care must be taken in advecting |
731 |
|
these quantities: when simply using ice velocity to advect enthalpy, |
732 |
|
the total energy (i.e., the volume integral of enthalpy) is not |
733 |
|
conserved. Alternatively, one can advect the energy content (i.e., |
734 |
|
product of ice-volume and enthalpy) but then false enthalpy extrema |
735 |
|
can occur, which then leads to unrealistic ice temperature. In the |
736 |
|
currently implemented solution, the sea-ice mass flux is used to |
737 |
|
advect the enthalpy in order to ensure conservation of enthalpy and to |
738 |
|
prevent false enthalpy extrema. % |
739 |
|
|
740 |
%---------------------------------------------------------------------- |
%---------------------------------------------------------------------- |
741 |
|
|
742 |
\subsubsection{Key subroutines |
\subsubsection{Key subroutines |
743 |
\label{sec:pkg:seaice:subroutines}} |
\label{sec:pkg:seaice:subroutines}} |
744 |
|
|
745 |
Top-level routine: \texttt{exf\_getforcing.F} |
Top-level routine: \code{seaice\_model.F} |
746 |
|
|
747 |
{\footnotesize |
{\footnotesize |
748 |
\begin{verbatim} |
\begin{verbatim} |
793 |
|
|
794 |
%---------------------------------------------------------------------- |
%---------------------------------------------------------------------- |
795 |
|
|
796 |
\subsubsection{EXF diagnostics |
\subsubsection{SEAICE diagnostics |
797 |
\label{sec:pkg:seaice:diagnostics}} |
\label{sec:pkg:seaice:diagnostics}} |
798 |
|
|
799 |
Diagnostics output is available via the diagnostics package |
Diagnostics output is available via the diagnostics package |
801 |
Available output fields are summarized in |
Available output fields are summarized in |
802 |
Table \ref{tab:pkg:seaice:diagnostics}. |
Table \ref{tab:pkg:seaice:diagnostics}. |
803 |
|
|
804 |
\begin{table}[h!] |
\begin{table}[!ht] |
805 |
\centering |
\centering |
806 |
\label{tab:pkg:seaice:diagnostics} |
\label{tab:pkg:seaice:diagnostics} |
807 |
{\footnotesize |
{\footnotesize |
815 |
SIvice | 1 |VV |m/s |SEAICE merid. ice velocity, >0 from South to North |
SIvice | 1 |VV |m/s |SEAICE merid. ice velocity, >0 from South to North |
816 |
SIhsnow | 1 |SM |m |SEAICE snow thickness |
SIhsnow | 1 |SM |m |SEAICE snow thickness |
817 |
SIhsalt | 1 |SM |g/m^2 |SEAICE effective salinity |
SIhsalt | 1 |SM |g/m^2 |SEAICE effective salinity |
818 |
SIatmFW | 1 |SM |m/s |Net freshwater flux from the atmosphere (+=down) |
SIatmFW | 1 |SM |kg/m^2/s |Net freshwater flux from the atmosphere (+=down) |
819 |
SIuwind | 1 |SM |m/s |SEAICE zonal 10-m wind speed, >0 increases uVel |
SIuwind | 1 |SM |m/s |SEAICE zonal 10-m wind speed, >0 increases uVel |
820 |
SIvwind | 1 |SM |m/s |SEAICE meridional 10-m wind speed, >0 increases uVel |
SIvwind | 1 |SM |m/s |SEAICE meridional 10-m wind speed, >0 increases uVel |
821 |
SIfu | 1 |UU |N/m^2 |SEAICE zonal surface wind stress, >0 increases uVel |
SIfu | 1 |UU |N/m^2 |SEAICE zonal surface wind stress, >0 increases uVel |
822 |
SIfv | 1 |VV |N/m^2 |SEAICE merid. surface wind stress, >0 increases vVel |
SIfv | 1 |VV |N/m^2 |SEAICE merid. surface wind stress, >0 increases vVel |
823 |
SIempmr | 1 |SM |m/s |SEAICE upward freshwater flux, > 0 increases salt |
SIempmr | 1 |SM |kg/m^2/s |SEAICE upward freshwater flux, > 0 increases salt |
824 |
SIqnet | 1 |SM |W/m^2 |SEAICE upward heatflux, turb+rad, >0 decreases theta |
SIqnet | 1 |SM |W/m^2 |SEAICE upward heatflux, turb+rad, >0 decreases theta |
825 |
SIqsw | 1 |SM |W/m^2 |SEAICE upward shortwave radiat., >0 decreases theta |
SIqsw | 1 |SM |W/m^2 |SEAICE upward shortwave radiat., >0 decreases theta |
826 |
SIpress | 1 |SM |m^2/s^2 |SEAICE strength (with upper and lower limit) |
SIpress | 1 |SM |m^2/s^2 |SEAICE strength (with upper and lower limit) |
850 |
DFyESSLT| 1 |VV |psu.m^2/s |Meridional Diffusive Flux of seaice salinity |
DFyESSLT| 1 |VV |psu.m^2/s |Meridional Diffusive Flux of seaice salinity |
851 |
\end{verbatim} |
\end{verbatim} |
852 |
} |
} |
853 |
\caption{~} |
\caption{Available diagnostics of the seaice-package} |
854 |
\end{table} |
\end{table} |
855 |
|
|
856 |
|
|
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 |
|
|
873 |
|
%%% Local Variables: |
874 |
|
%%% mode: latex |
875 |
|
%%% TeX-master: "../../manual" |
876 |
|
%%% End: |