% $Header: /home/ubuntu/mnt/e9_copy/manual/s_phys_pkgs/text/shelfice.tex,v 1.4 2010/08/30 23:09:22 jmc Exp $ % $Name: $ \subsection{SHELFICE Package} \label{sec:pkg:shelfice} \begin{rawhtml} \end{rawhtml} Authors: Martin Losch, Jean-Michel Campin %---------------------------------------------------------------------- \subsubsection{Introduction \label{sec:pkg:shelfice:intro}} Package ``shelfice'' provides a thermodynamic model for basal melting underneath floating ice shelves. CPP options enable or disable different aspects of the package (Section \ref{sec:pkg:shelfice:config}). Run-Time options, flags, filenames and field-related dates/times are set in \code{data.shelfice} (Section \ref{sec:pkg:shelfice:runtime}). A description of key subroutines is given in Section \ref{sec:pkg:shelfice:subroutines}. Input fields, units and sign conventions are summarized in Section \ref{sec:pkg:shelfice:fields_units}, and available diagnostics output is listed in Section \ref{sec:pkg:shelfice:diagnostics}. %---------------------------------------------------------------------- \subsubsection{SHELFICE configuration, compiling \& running} \paragraph{Compile-time options \label{sec:pkg:shelfice:config}} ~ As with all MITgcm packages, SHELFICE can be turned on or off at compile time % \begin{itemize} % \item using the \code{packages.conf} file by adding \code{shelfice} to it, % \item or using \code{genmake2} adding \code{-enable=shelfice} or \code{-disable=shelfice} switches % \item \textit{required packages and CPP options}: \\ SHELFICE does not require any additional packages, but it will only work with conventional vertical $z$-coordinates (pressure coordinates are not implemented, yet). If you use it together with vertical mixing schemes, be aware, that non-local parameterizations have been turned off, e.g.\ for KPP (\ref{sec:pkg:kpp}). % \end{itemize} (see Section \ref{sec:buildingCode}). Parts of the SHELFICE code can be enabled or disabled at compile time via CPP preprocessor flags. These options are set \code{SHELFICE\_OPTIONS.h}. Table \ref{tab:pkg:shelfice:cpp} summarizes these options. \begin{table}[!ht] \centering \label{tab:pkg:shelfice:cpp} {\footnotesize \begin{tabular}{|l|l|} \hline \textbf{CPP option} & \textbf{Description} \\ \hline \hline \code{ALLOW\_SHELFICE\_DEBUG} & Include code for enhanged diagnosis \\ \code{ALLOW\_ISOMIP\_TD} & Include code for simplifed ISOMIP thermodynamics \\ \hline \end{tabular} } \caption{Available CPP-flags to be set in \code{SHELFICE\_OPTIONS.h}} \end{table} %---------------------------------------------------------------------- \subsubsection{Run-time parameters \label{sec:pkg:shelfice:runtime}} Run-time parameters are set in files \code{data.pkg} (read in \code{packages\_readparms.F}), and \code{data.shelfice} (read in \code{shelfice\_readparms.F}). \paragraph{Enabling the package} ~ \\ % A package is switched on/off at run-time by setting (e.g. for SHELFICE) \code{useSHELFICE = .TRUE.} in \code{data.pkg}. \paragraph{General flags and parameters} ~ \\ % Table~\ref{tab:pkg:shelfice:runtimeparms} lists all run-time parameters. \begin{table}[!ht] \caption{Run-time parameters and default values \label{tab:pkg:shelfice:runtimeparms}} {\footnotesize % \hspace*{-1.5in} \begin{tabular}{|lp{4cm}p{4cm}c|} \hline & & & \\ \textbf{Name} & \textbf{Default value} & \textbf{Description} & \textbf{Reference} \\ & & & \\ \hline \hline useISOMIPTD & F & use simplified ISOMIP thermodynamics instead of default & %---ref--- \\ SHELFICEconserve & F & use conservative form of temperature boundary conditions & %---ref--- \\ SHELFICEboundaryLayer & F & use simple boundary layer mixing parameterization & %---ref--- \\ SHELFICEloadAnomalyFile & UNSET & inital geopotential anomaly & %---ref--- \\ SHELFICEtopoFile & UNSET & under-ice topography of ice shelves & %---ref--- \\ SHELFICElatentHeat & 334.0E+03 & latent heat of fusion ($L$) & %---ref--- \\ SHELFICEHeatCapacity\_Cp & 2000.0E+00 & latent heat of fusion ($c_{p,I}$) & %---ref--- \\ rhoShelfIce & 917.0E+00 & (constant) mean density of ice shelf ($\rho_{I}$) & %---ref--- \\ SHELFICEheatTransCoeff & 1.0E-04 & transfer coefficient (exchange velocity) for temperature ($\gamma_T$) & %---ref--- \\ SHELFICEsaltTransCoeff & 5.05E-03 $\times$~SHELFICEheatTransCoeff & transfer coefficient (exchange velocity) for salinity ($\gamma_S$) & %---ref--- \\ SHELFICEkappa & 1.54E-06 & temperature diffusion coefficient of the ice shelf ($kappa$) & %---ref--- \\ SHELFICEthetaSurface & -20.0E+00 & (constant) surface temperature above the ice shelf ($T_{S}$) & %---ref--- \\ no\_slip\_shelfice & no\_slip\_bottom (data) & flag for slip along bottom of ice shelf & %---ref--- \\ SHELFICEDragLinear & bottomDragLinear (data) & linear drag coefficient at bottom ice shelf & %---ref--- \\ SHELFICEDragQuadratic & bottomDragQuadratic (data) & quadratic drag coefficient at bottom ice shelf & %---ref--- \\ SHELFICEwriteState & F & write ice shelf state to file & %---ref--- \\ SHELFICE\_dumpFreq & dumpFreq (data) & dump frequency & %---ref--- \\ SHELFICE\_taveFreq & taveFreq (data) & time-averaging frequency & %---ref--- \\ SHELFICE\_tave\_mnc & timeave\_mnc (data.mnc) & write snap-shot using MNC & %---ref--- \\ SHELFICE\_dump\_mnc & snapshot\_mnc (data.mnc) & write TimeAverage using MNC & %---ref--- \\ \hline \end{tabular} } \end{table} \paragraph{Input fields and units\label{sec:pkg:shelfice:fields_units}} \begin{description} \item[\code{SHEFLICEtopoFile}:] under-ice topography of ice shelves in meters; upwards is positive, that as for the bathymetry files, negative values are required for topography below the sea-level; \item[\code{SHEFLICEloadAnomalyFile}:] pressure load anomaly at the bottom of the ice shelves in pressure units (Pa); this field is absolutely required to avoid large excursions of the free surface during initial adjustment processes; obtained by integrating an approximate density from the surface at $z=0$ down to the bottom of the last fully dry cell within the ice shelf, see Eq.~(\ref{eq:surfacepressure}); however, the file \code{SHEFLICEloadAnomalyFile} must not be $p_{top}$, but $p_{top}-g\sum_{k'=1}^{n-1}\rho_{0}\Delta{z}_{k'}$, with $\rho_{0}=$~\code{rhoConst}, so that in the absenses of a $\rho^{*}$ that is different from $\rho_{0}$, the anomaly is zero. \end{description} %---------------------------------------------------------------------- \subsubsection{Description \label{sec:pkg:shelfice:descr}} In the light of isomorphic equations for pressure and height coordinates, the ice shelf topography on top of the water column has a similar role as (and in the language of \citet{marshall:04} is isomorphic to) the orography and the pressure boundary conditions at the bottom of the fluid for atmospheric and oceanic models in pressure coordinates. % The total pressure $p_{tot}$ in the ocean can be divided into the pressure at the top of the water column $p_{top}$, the hydrostatic pressure and the non-hydrostatic pressure contribution $p_{NH}$: \begin{equation} \label{eq:pressureocean} p_{tot} = p_{top} + \int_z^{\eta-h} g\,\rho\,dz + p_{NH}, \end{equation} with the gravitational acceleration $g$, the density $\rho$, the vertical coordinate $z$ (positive upwards), and the dynamic sea-surface height $\eta$. For the open ocean, $p_{top}=p_{a}$ (atmospheric pressure) and $h=0$. Underneath an ice-shelf that is assumed to be floating in isostatic equilibrium, $p_{top}$ at the top of the water column is the atmospheric pressure $p_{a}$ plus the weight of the ice-shelf. It is this weight of the ice-shelf that has to be provided as a boundary condition at the top of the water column (in run-time parameter \code{SHELFICEloadAnomalyFile}). The weight is conveniently computed by integrating a density profile $\rho^*$, that is constant in time and corresponds to the sea-water replaced by ice, from $z=0$ to a ``reference'' ice-shelf draft at $z=-h$ \citep{beckmann99}, so that \begin{equation} \label{eq:ptop} p_{top} = p_{a} + \int_{-h}^{0}g\,\rho^{*}\,dz. \end{equation} Underneath the ice shelf, the ``sea-surface height'' $\eta$ is the deviation from the ``reference'' ice-shelf draft $h$. During a model integration, $\eta$ adjusts so that the isostatic equilibrium is maintained for sufficiently slow and large scale motion. In the MITgcm, the total pressure anomaly $p'_{tot}$ which is used for pressure gradient computations is defined by substracting a purely depth dependent contribution $-g\rho_{0}z$ with a constant reference density $\rho_{0}$ from $p_{tot}$. Eq.~(\ref{eq:pressureocean}) becomes \begin{alignat}{2} \label{eq:pressure} p_{tot} =& \,p_{top} - g\,\rho_0\,(z+h) &+ g\,\rho_0\,\eta + \int_z^{\eta-h} g\,(\rho-\rho_0)\,dz + p_{NH}, \\ \intertext{and after rearranging} p'_{tot} =& \,p'_{top} &+ g\,\rho_0\,\eta + \int_z^{\eta-h}g\,(\rho-\rho_0)\,dz + p_{NH}, \end{alignat} with $p'_{tot} = p_{tot} + g\,\rho_0\,z$ and $p'_{top} = p_{top} - g\,\rho_0\,h$. The non-hydrostatic pressure contribution $p_{NH}$ is neglected in the following. In practice, the ice shelf contribution to $p_{top}$ is computed by integrating Eq.~(\ref{eq:ptop}) from $z=0$ to the bottom of the last fully dry cell within the ice shelf: \begin{equation} \label{eq:surfacepressure} p_{top} = g\,\sum_{k'=1}^{n-1}\rho_{k'}^{*}\Delta{z_{k'}} + p_{a} \end{equation} where $n$ is the vertical index of the first (at least partially) ``wet'' cell and $\Delta{z_{k'}}$ is the thickness of the $k'$-th layer (counting downwards). The pressure anomaly for evaluating the pressure gradient is computed in the center of the ``wet'' cell $k$ as \begin{equation} \label{eq:discretizedpressure} p'_{k} = p'_{top} + g\rho_{n}\eta + g\,\sum_{k'=n}^{k}\left((\rho_{k'}-\rho_{0})\Delta{z_{k'}} \frac{1+H(k'-k)}{2}\right) \end{equation} where $H(k'-k)=1$ for $k'|Levs|grid|<-- Units -->|<- Tile (max=80c) ---------+----+----+----------------+----------------- SHIfwFlx| 1 |SM |kg/m^2/s |Ice shelf fresh water flux (positive upward) SHIhtFlx| 1 |SM |W/m^2 |Ice shelf heat flux (positive upward) SHIUDrag| 30 |UU |m/s^2 |U momentum tendency from ice shelf drag SHIVDrag| 30 |VV |m/s^2 |V momentum tendency from ice shelf drag SHIForcT| 1 |SM |W/m^2 |Ice shelf forcing for theta, >0 increases theta SHIForcS| 1 |SM |g/m^2/s |Ice shelf forcing for salt, >0 increases salt \end{verbatim} } \caption{Available diagnostics of the shelfice-package} \end{table} %\subsubsection{Package Reference} \subsubsection{Experiments and tutorials that use shelfice} \label{sec:pkg:shelfice:experiments} \begin{itemize} \item{ISOMIP, Experiment 1 (\url{http://efdl.cims.nyu.edu/project_oisi/isomip/overview.html}) in isomip verification directory.} \end{itemize} %%% Local Variables: %%% mode: latex %%% TeX-master: "../manual" %%% End: