38 |
\end{equation} |
\end{equation} |
39 |
From the velocity field, thickness evolves according to the continuity equation: |
From the velocity field, thickness evolves according to the continuity equation: |
40 |
\begin{equation} |
\begin{equation} |
41 |
\label{eq:cont} |
\label{eq:contEq} |
42 |
h_t + \nabla\cdot(h\vec{u}) = -\dot{b}, |
h_t + \nabla\cdot(h\vec{u}) = -\dot{b}, |
43 |
\end{equation} |
\end{equation} |
44 |
Where $\dot{b}$ is a basal mass balance (e.g. melting due to contact with the |
Where $\dot{b}$ is a basal mass balance (e.g. melting due to contact with the |
121 |
|
|
122 |
In the hybrid formulation, $\overline{u}$ and $\overline{v}$, the depth-averaged |
In the hybrid formulation, $\overline{u}$ and $\overline{v}$, the depth-averaged |
123 |
$x-$ and $y-$ velocities, replace $u$ and $v$ in \eqref{eq:xmom}, |
$x-$ and $y-$ velocities, replace $u$ and $v$ in \eqref{eq:xmom}, |
124 |
\eqref{eq:ymom}, and \eqref{eq:cont}, and gradients such as $u_x$ are replaced |
\eqref{eq:ymom}, and \eqref{eq:contEq}, and gradients such as $u_x$ are replaced |
125 |
by $(\overline{u})_x$. Viscosity becomes |
by $(\overline{u})_x$. Viscosity becomes |
126 |
\begin{equation} |
\begin{equation} |
127 |
\nu = |
\nu = |
353 |
|
|
354 |
\paragraph{Thickness evolution} |
\paragraph{Thickness evolution} |
355 |
|
|
356 |
\eqref{eq:cont} is solved in the subroutine \texttt{STREAMICE\_ADVECT\_THICKNESS}, similarly to the advection routines in MITgcm. Mass fluxes are evaluated, first in the $x$-direction. This is done in the generic subroutine \texttt{STREAMICE\_ADV\_FLUX\_FL\_X}. Flux velocity in the $x-$direction at face ($i,j$) are generated by averaging $u_{i,j}$ and $u_{i,j+1}$. Assuming the flux velocity is positive, if $hmask_{i-2,j},\ mask{i-1,j}$ and $hmask_{i,j}$ are equal to 1, then flux thickness, i.e. the interpolation of $h$ at face ($i,j$), is through a minmod limiter as in the \texttt{generic\_advdiff} package. If these values are not available, then a zero-order upwind flux is used. The exception is when \texttt{STREAMICE\_ufacemask(i,j)} is equal to 4; then \texttt{u\_flux\_bdry\_SI(i,j)} is used for the flux. Fluxes are then differenced to update $h$ in cells that are active ($hmask=1$); a similar procedure follows for the $y-$direction. |
\eqref{eq:contEq} is solved in the subroutine \texttt{STREAMICE\_ADVECT\_THICKNESS}, similarly to the advection routines in MITgcm. Mass fluxes are evaluated, first in the $x$-direction. This is done in the generic subroutine \texttt{STREAMICE\_ADV\_FLUX\_FL\_X}. Flux velocity in the $x-$direction at face ($i,j$) are generated by averaging $u_{i,j}$ and $u_{i,j+1}$. Assuming the flux velocity is positive, if $hmask_{i-2,j},\ mask{i-1,j}$ and $hmask_{i,j}$ are equal to 1, then flux thickness, i.e. the interpolation of $h$ at face ($i,j$), is through a minmod limiter as in the \texttt{generic\_advdiff} package. If these values are not available, then a zero-order upwind flux is used. The exception is when \texttt{STREAMICE\_ufacemask(i,j)} is equal to 4; then \texttt{u\_flux\_bdry\_SI(i,j)} is used for the flux. Fluxes are then differenced to update $h$ in cells that are active ($hmask=1$); a similar procedure follows for the $y-$direction. |
357 |
|
|
358 |
\paragraph{Ice front advance} |
\paragraph{Ice front advance} |
359 |
|
|