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 |
via CPP preprocessor flags. These options are set in |
65 |
\code{SEAICE\_OPTIONS.h}. |
\code{SEAICE\_OPTIONS.h}. |
66 |
Table \ref{tab:pkg:seaice:cpp} summarizes the most important ones. |
Table \ref{tab:pkg:seaice:cpp} summarizes the most important ones. For |
67 |
|
more options see the default \code{pkg/seaice/SEAICE\_OPTIONS.h}. |
68 |
|
|
69 |
\begin{table}[!ht] |
\begin{table}[!ht] |
70 |
\centering |
\centering |
528 |
number of Krylov iterations $\code{SEAICEkrylovIterMax} = 50$, because |
number of Krylov iterations $\code{SEAICEkrylovIterMax} = 50$, because |
529 |
the Krylov subspace has a fixed dimension of 50. |
the Krylov subspace has a fixed dimension of 50. |
530 |
|
|
531 |
|
Setting \code{SEAICEuseStrImpCpl = .TRUE.,} turns on ``strength |
532 |
|
implicit coupling'' \citep{hutchings04} in the LSR-solver and in the |
533 |
|
LSR-preconditioner for the JFNK-solver. In this mode, the different |
534 |
|
contributions of the stress divergence terms are re-ordered in order |
535 |
|
to increase the diagonal dominance of the system |
536 |
|
matrix. Unfortunately, the convergence rate of the LSR solver is |
537 |
|
increased only slightly, while the JFNK-convergence appears to be |
538 |
|
unaffected. |
539 |
|
|
540 |
\paragraph{Elastic-Viscous-Plastic (EVP) Dynamics\label{sec:pkg:seaice:EVPdynamics}}~\\ |
\paragraph{Elastic-Viscous-Plastic (EVP) Dynamics\label{sec:pkg:seaice:EVPdynamics}}~\\ |
541 |
% |
% |
542 |
\citet{hun97}'s introduced an elastic contribution to the strain |
\citet{hun97}'s introduced an elastic contribution to the strain |
615 |
+ \beta^{*}\frac{u^{p+1}-u^{p}}{\Delta{t}_{\mathrm{EVP}}} |
+ \beta^{*}\frac{u^{p+1}-u^{p}}{\Delta{t}_{\mathrm{EVP}}} |
616 |
\end{equation} |
\end{equation} |
617 |
where $n$ is the previous time step index, and $p$ is the previous |
where $n$ is the previous time step index, and $p$ is the previous |
618 |
sub-cycling index. The term allows the definition of a residual |
sub-cycling index. The extra ``intertial'' term |
619 |
|
$m\,(u^{p+1}-u^{n})/\Delta{t})$ allows the definition of a residual |
620 |
$|u^{p+1}-u^{p}|$ that, as $u^{p+1} \rightarrow u^{n+1}$, converges to |
$|u^{p+1}-u^{p}|$ that, as $u^{p+1} \rightarrow u^{n+1}$, converges to |
621 |
$0$ and a re-interpretation of EVP as a pure iterative solver where |
$0$. In this way EVP can be re-interpreted as a pure iterative solver |
622 |
the sub-cycling has lost all time-relation \citep{bouillon13, |
where the sub-cycling has no association with time-relation (through |
623 |
kimmritz15}. Using the terminology of \citet{kimmritz15}, the |
$\Delta{t}_{\mathrm{EVP}}$) \citep{bouillon13, kimmritz15}. Using the |
624 |
evolution equations of stress $\sigma_{ij}$ and momentum $\vec{u}$ can |
terminology of \citet{kimmritz15}, the evolution equations of stress |
625 |
be written as: |
$\sigma_{ij}$ and momentum $\vec{u}$ can be written as: |
626 |
\begin{align} |
\begin{align} |
627 |
\label{eq:evpstarsigma} |
\label{eq:evpstarsigma} |
628 |
\sigma_{ij}^{p+1}&=\sigma_{ij}^p+\frac{1}{\alpha} |
\sigma_{ij}^{p+1}&=\sigma_{ij}^p+\frac{1}{\alpha} |
631 |
\label{eq:evpstarmom} |
\label{eq:evpstarmom} |
632 |
\vec{u}^{p+1}&=\vec{u}^p+\frac{1}{\beta} |
\vec{u}^{p+1}&=\vec{u}^p+\frac{1}{\beta} |
633 |
\Big(\frac{\Delta t}{m}\nabla \cdot{\bf \sigma}^{p+1}+ |
\Big(\frac{\Delta t}{m}\nabla \cdot{\bf \sigma}^{p+1}+ |
634 |
\frac{\Delta t}{m}\vec{R}^{p+1/2}+\vec{u}_n-\vec{u}^p\Big). |
\frac{\Delta t}{m}\vec{R}^{p}+\vec{u}_n-\vec{u}^p\Big). |
635 |
\end{align} |
\end{align} |
636 |
$\vec{R}$ contains all terms in the momentum equations except for the |
$\vec{R}$ contains all terms in the momentum equations except for the |
637 |
rheology terms and the time derivative, $\alpha$ and $\beta$ are free |
rheology terms and the time derivative; $\alpha$ and $\beta$ are free |
638 |
parameters (\code{SEAICE\_evpAlpha}, \code{SEAICE\_evpBeta}) that |
parameters (\code{SEAICE\_evpAlpha}, \code{SEAICE\_evpBeta}) that |
639 |
replace the time stepping parameters \code{SEAICE\_deltaTevp} |
replace the time stepping parameters \code{SEAICE\_deltaTevp} |
640 |
($\Delta{T}_{\mathrm{EVP}}$), \code{SEAICE\_elasticParm} ($E_{0}$), or |
($\Delta{T}_{\mathrm{EVP}}$), \code{SEAICE\_elasticParm} ($E_{0}$), or |
641 |
\code{SEAICE\_evpTauRelax} ($T$). $\alpha$ and $\beta$ determine the |
\code{SEAICE\_evpTauRelax} ($T$). $\alpha$ and $\beta$ determine the |
642 |
speed of convergence and the stability. Usually, it makes sense to use |
speed of convergence and the stability. Usually, it makes sense to use |
643 |
$\alpha = \beta$, and \code{SEAICEnEVPstarSteps} $>> \alpha = \beta$ |
$\alpha = \beta$, and \code{SEAICEnEVPstarSteps} $\gg |
644 |
\citep{kimmritz15}. |
(\alpha,\,\beta)$ \citep{kimmritz15}. Currently, there is no |
645 |
|
termination criterion and the number of EVP* iterations is fixed to |
646 |
|
\code{SEAICEnEVPstarSteps}. |
647 |
|
|
648 |
In order to use EVP* in the MITgcm, set \code{SEAICEuseEVPstar = |
In order to use EVP* in the MITgcm, set \code{SEAICEuseEVPstar = |
649 |
.TRUE.,} in \code{data.seaice}. \code{SEAICEuseEVPrev =.TRUE.,} uses |
.TRUE.,} in \code{data.seaice}. If \code{SEAICEuseEVPrev =.TRUE.,} |
650 |
the actual form of equations (\ref{eq:evpstarsigma}) and |
the actual form of equations (\ref{eq:evpstarsigma}) and |
651 |
(\ref{eq:evpstarmom}) with fewer implicit terms and the factor of |
(\ref{eq:evpstarmom}) is used with fewer implicit terms and the factor |
652 |
$e^{2}$ dropped in the stress equations (\ref{eq:evpstresstensor2}) |
of $e^{2}$ dropped in the stress equations (\ref{eq:evpstresstensor2}) |
653 |
and (\ref{eq:evpstresstensor12}). This turns out to improve |
and (\ref{eq:evpstresstensor12}). Although this modifies the original |
654 |
convergence \citep{bouillon13}. |
EVP-equations, it turns out to improve convergence \citep{bouillon13}. |
655 |
|
|
656 |
Note, that for historical reasons, \code{SEAICE\_deltaTevp} needs to |
Note, that for historical reasons, \code{SEAICE\_deltaTevp} needs to |
657 |
be set to some value in order to use also EVP*. Also note, that |
be set to some (any!) value in order to use also EVP*; this behavoir |
658 |
|
many change in the future. Also note, that |
659 |
probably because of the C-grid staggering of velocities and stresses, |
probably because of the C-grid staggering of velocities and stresses, |
660 |
EVP* does not converge as successfully as in \citet{kimmritz15}. |
EVP* does not converge as successfully as in \citet{kimmritz15}. |
661 |
|
|
|
|
|
662 |
\paragraph{Truncated ellipse method (TEM) for yield curve \label{sec:pkg:seaice:TEM}}~\\ |
\paragraph{Truncated ellipse method (TEM) for yield curve \label{sec:pkg:seaice:TEM}}~\\ |
663 |
% |
% |
664 |
In the so-called truncated ellipse method the shear viscosity $\eta$ |
In the so-called truncated ellipse method the shear viscosity $\eta$ |
870 |
|
|
871 |
\paragraph{Thermodynamics\label{sec:pkg:seaice:thermodynamics}}~\\ |
\paragraph{Thermodynamics\label{sec:pkg:seaice:thermodynamics}}~\\ |
872 |
% |
% |
873 |
|
\noindent\textbf{NOTE: THIS SECTION IS TERRIBLY OUT OF DATE}\\ |
874 |
In its original formulation the sea ice model \citep{menemenlis05} |
In its original formulation the sea ice model \citep{menemenlis05} |
875 |
uses simple thermodynamics following the appendix of |
uses simple thermodynamics following the appendix of |
876 |
\citet{sem76}. This formulation does not allow storage of heat, |
\citet{sem76}. This formulation does not allow storage of heat, |
886 |
The conductive heat flux depends strongly on the ice thickness $h$. |
The conductive heat flux depends strongly on the ice thickness $h$. |
887 |
However, the ice thickness in the model represents a mean over a |
However, the ice thickness in the model represents a mean over a |
888 |
potentially very heterogeneous thickness distribution. In order to |
potentially very heterogeneous thickness distribution. In order to |
889 |
parameterize a sub-grid scale distribution for heat flux |
parameterize a sub-grid scale distribution for heat flux computations, |
890 |
computations, the mean ice thickness $h$ is split into seven thickness |
the mean ice thickness $h$ is split into $N$ thickness categories |
891 |
categories $H_{n}$ that are equally distributed between $2h$ and a |
$H_{n}$ that are equally distributed between $2h$ and a minimum |
892 |
minimum imposed ice thickness of $5\text{\,cm}$ by $H_n= |
imposed ice thickness of $5\text{\,cm}$ by $H_n= \frac{2n-1}{7}\,h$ |
893 |
\frac{2n-1}{7}\,h$ for $n\in[1,7]$. The heat fluxes computed for each |
for $n\in[1,N]$. The heat fluxes computed for each thickness category |
894 |
thickness category is area-averaged to give the total heat flux |
is area-averaged to give the total heat flux \citep{hibler84}. To use |
895 |
\citep{hibler84}. To use this thickness category parameterization set |
this thickness category parameterization set \code{SEAICE\_multDim} to |
896 |
\code{\#define SEAICE\_MULTICATEGORY}; note that this requires |
the number of desired categories (7 is a good guess, for anything |
897 |
different restart files and switching this flag on in the middle of an |
larger than 7 modify \code{SEAICE\_SIZE.h}) in |
898 |
integration is not possible. |
\code{data.seaice}; note that this requires different restart files |
899 |
|
and switching this flag on in the middle of an integration is not |
900 |
|
advised. In order to include the same distribution for snow, set |
901 |
|
\code{SEAICE\_useMultDimSnow = .TRUE.}; only then, the |
902 |
|
parameterization of always having a fraction of thin ice is efficient |
903 |
|
and generally thicker ice is produced \citep{castro-morales14}. |
904 |
|
|
905 |
|
|
906 |
The atmospheric heat flux is balanced by an oceanic heat flux from |
The atmospheric heat flux is balanced by an oceanic heat flux from |
907 |
below. The oceanic flux is proportional to |
below. The oceanic flux is proportional to |