11 |
|
|
12 |
%---------------------------------------------------------------------- |
%---------------------------------------------------------------------- |
13 |
\subsubsection{Introduction |
\subsubsection{Introduction |
14 |
\label{sec:pkg:exf:intro}} |
\label{sec:pkg:shelfice:intro}} |
15 |
|
|
16 |
|
|
17 |
Package ``shelfice'' provides a thermodynamic model for basal melting |
Package ``shelfice'' provides a thermodynamic model for basal melting |
20 |
CPP options enable or disable different aspects of the package |
CPP options enable or disable different aspects of the package |
21 |
(Section \ref{sec:pkg:shelfice:config}). |
(Section \ref{sec:pkg:shelfice:config}). |
22 |
Run-Time options, flags, filenames and field-related dates/times are |
Run-Time options, flags, filenames and field-related dates/times are |
23 |
set in \texttt{data.shelfice} |
set in \code{data.shelfice} |
24 |
(Section \ref{sec:pkg:shelfice:runtime}). |
(Section \ref{sec:pkg:shelfice:runtime}). |
25 |
A description of key subroutines is given in Section |
A description of key subroutines is given in Section |
26 |
\ref{sec:pkg:shelfice:subroutines}. |
\ref{sec:pkg:shelfice:subroutines}. |
27 |
Input fields, units and sign conventions are summarized in |
Input fields, units and sign conventions are summarized in |
28 |
Section \ref{sec:pkg:shelfice:fields_units}, and available diagnostics |
Section \ref{sec:pkg:shelfice:fields_units}, and available diagnostics |
29 |
output is listed in Section \ref{sec:pkg:shelfice:fields_diagnostics}. |
output is listed in Section \ref{sec:pkg:shelfice:diagnostics}. |
30 |
|
|
31 |
%---------------------------------------------------------------------- |
%---------------------------------------------------------------------- |
32 |
|
|
41 |
\begin{itemize} |
\begin{itemize} |
42 |
% |
% |
43 |
\item |
\item |
44 |
using the \texttt{packages.conf} file by adding \texttt{shelfice} to it, |
using the \code{packages.conf} file by adding \code{shelfice} to it, |
45 |
% |
% |
46 |
\item |
\item |
47 |
or using \texttt{genmake2} adding |
or using \code{genmake2} adding |
48 |
\texttt{-enable=shelfice} or \texttt{-disable=shelfice} switches |
\code{-enable=shelfice} or \code{-disable=shelfice} switches |
49 |
% |
% |
50 |
\item |
\item |
51 |
\textit{required packages and CPP options}: \\ |
\textit{required packages and CPP options}: \\ |
56 |
off, e.g.\ for KPP (\ref{sec:pkg:kpp}). |
off, e.g.\ for KPP (\ref{sec:pkg:kpp}). |
57 |
% |
% |
58 |
\end{itemize} |
\end{itemize} |
59 |
(see Section \ref{sect:buildingCode}). |
(see Section \ref{sec:buildingCode}). |
60 |
|
|
61 |
Parts of the SHELFICE code can be enabled or disabled at compile time |
Parts of the SHELFICE code can be enabled or disabled at compile time |
62 |
via CPP preprocessor flags. These options are set |
via CPP preprocessor flags. These options are set |
63 |
\texttt{SHELFICE\_OPTIONS.h}. |
\code{SHELFICE\_OPTIONS.h}. |
64 |
Table \ref{tab:pkg:shelfice:cpp} summarizes these options. |
Table \ref{tab:pkg:shelfice:cpp} summarizes these options. |
65 |
|
|
66 |
\begin{table}[h!] |
\begin{table}[!ht] |
67 |
\centering |
\centering |
68 |
\label{tab:pkg:shelfice:cpp} |
\label{tab:pkg:shelfice:cpp} |
69 |
{\footnotesize |
{\footnotesize |
71 |
\hline |
\hline |
72 |
\textbf{CPP option} & \textbf{Description} \\ |
\textbf{CPP option} & \textbf{Description} \\ |
73 |
\hline \hline |
\hline \hline |
74 |
\texttt{ALLOW\_SHELFICE\_DEBUG} & |
\code{ALLOW\_SHELFICE\_DEBUG} & |
75 |
Include code for enhanged diagnosis \\ |
Include code for enhanged diagnosis \\ |
76 |
\texttt{ALLOW\_ISOMIP\_TD} & |
\code{ALLOW\_ISOMIP\_TD} & |
77 |
Include code for simplifed ISOMIP thermodynamics \\ |
Include code for simplifed ISOMIP thermodynamics \\ |
78 |
\hline |
\hline |
79 |
\end{tabular} |
\end{tabular} |
80 |
} |
} |
81 |
\caption{Available CPP-flags to be set in \texttt{SHELFICE\_OPTIONS.h}} |
\caption{Available CPP-flags to be set in \code{SHELFICE\_OPTIONS.h}} |
82 |
\end{table} |
\end{table} |
83 |
|
|
84 |
%---------------------------------------------------------------------- |
%---------------------------------------------------------------------- |
87 |
\label{sec:pkg:shelfice:runtime}} |
\label{sec:pkg:shelfice:runtime}} |
88 |
|
|
89 |
Run-time parameters are set in files |
Run-time parameters are set in files |
90 |
\texttt{data.pkg} (read in \texttt{packages\_readparms.F}), |
\code{data.pkg} (read in \code{packages\_readparms.F}), |
91 |
and \texttt{data.shelfice} (read in \texttt{shelfice\_readparms.F}). |
and \code{data.shelfice} (read in \code{shelfice\_readparms.F}). |
92 |
|
|
93 |
\paragraph{Enabling the package} |
\paragraph{Enabling the package} |
94 |
~ \\ |
~ \\ |
95 |
% |
% |
96 |
A package is switched on/off at run-time by setting |
A package is switched on/off at run-time by setting |
97 |
(e.g. for SHELFICE) \texttt{useSHELFICE = .TRUE.} in \texttt{data.pkg}. |
(e.g.\ for SHELFICE) \code{useSHELFICE = .TRUE.} in \code{data.pkg}. |
98 |
|
|
99 |
\paragraph{General flags and parameters} |
\paragraph{General flags and parameters} |
100 |
~ \\ |
~ \\ |
101 |
% |
% |
102 |
Table~\ref{tab:pkg:shelfice:runtimeparms} lists all run-time parameters. |
Table~\ref{tab:pkg:shelfice:runtimeparms} lists all run-time parameters. |
103 |
\begin{table}[h!] |
\begin{table}[!ht] |
104 |
\caption{Run-time parameters and default values |
\caption{Run-time parameters and default values |
105 |
\label{tab:pkg:shelfice:runtimeparms}} |
\label{tab:pkg:shelfice:runtimeparms}} |
106 |
{\footnotesize |
{\footnotesize |
129 |
& %---ref--- |
& %---ref--- |
130 |
\\ |
\\ |
131 |
SHELFICEtopoFile & UNSET |
SHELFICEtopoFile & UNSET |
132 |
& under-ice topography of ice shelfes |
& under-ice topography of ice shelves |
133 |
& %---ref--- |
& %---ref--- |
134 |
\\ |
\\ |
135 |
SHELFICElatentHeat & 334.0E+03 |
SHELFICElatentHeat & 334.0E+03 |
137 |
& %---ref--- |
& %---ref--- |
138 |
\\ |
\\ |
139 |
SHELFICEHeatCapacity\_Cp & 2000.0E+00 |
SHELFICEHeatCapacity\_Cp & 2000.0E+00 |
140 |
& latent heat of fusion ($c_{p,I}$) |
& specific heat capacity of ice ($c_{p,I}$) |
141 |
& %---ref--- |
& %---ref--- |
142 |
\\ |
\\ |
143 |
rhoShelfIce & 917.0E+00 |
rhoShelfIce & 917.0E+00 |
199 |
} |
} |
200 |
\end{table} |
\end{table} |
201 |
|
|
202 |
|
\paragraph{Input fields and units\label{sec:pkg:shelfice:fields_units}} |
203 |
|
|
204 |
|
\begin{description} |
205 |
|
\item[\code{SHEFLICEtopoFile}:] under-ice topography of ice shelves in |
206 |
|
meters; upwards is positive, that as for the bathymetry files, |
207 |
|
negative values are required for topography below the sea-level; |
208 |
|
\item[\code{SHEFLICEloadAnomalyFile}:] pressure load anomaly at the bottom of |
209 |
|
the ice shelves in pressure units (Pa); this field is absolutely |
210 |
|
required to avoid large excursions of the free surface during |
211 |
|
initial adjustment processes; obtained by integrating an approximate |
212 |
|
density from the surface at $z=0$ down to the bottom of the last |
213 |
|
fully dry cell within the ice shelf, see |
214 |
|
Eq.~(\ref{eq:surfacepressure}); however, the file |
215 |
|
\code{SHEFLICEloadAnomalyFile} must not be $p_{top}$, but |
216 |
|
$p_{top}-g\sum_{k'=1}^{n-1}\rho_{0}\Delta{z}_{k'}$, with |
217 |
|
$\rho_{0}=$~\code{rhoConst}, so that in the absenses of a $\rho^{*}$ |
218 |
|
that is different from $\rho_{0}$, the anomaly is zero. |
219 |
|
\end{description} |
220 |
|
|
221 |
%---------------------------------------------------------------------- |
%---------------------------------------------------------------------- |
222 |
\subsubsection{Description |
\subsubsection{Description |
245 |
of the water column is the atmospheric pressure $p_{a}$ plus the |
of the water column is the atmospheric pressure $p_{a}$ plus the |
246 |
weight of the ice-shelf. It is this weight of the ice-shelf that has |
weight of the ice-shelf. It is this weight of the ice-shelf that has |
247 |
to be provided as a boundary condition at the top of the water column |
to be provided as a boundary condition at the top of the water column |
248 |
(in run-time parameter \texttt{SHELFICEloadAnomalyFile}). |
(in run-time parameter \code{SHELFICEloadAnomalyFile}). |
249 |
The weight is conveniently computed by integrating a density profile |
The weight is conveniently computed by integrating a density profile |
250 |
$\rho^*$, that is constant in time and corresponds to the sea-water |
$\rho^*$, that is constant in time and corresponds to the sea-water |
251 |
replaced by ice, from $z=0$ to a ``reference'' ice-shelf draft at |
replaced by ice, from $z=0$ to a ``reference'' ice-shelf draft at |
294 |
\end{equation} |
\end{equation} |
295 |
where $H(k'-k)=1$ for $k'<k$ and $0$ otherwise. |
where $H(k'-k)=1$ for $k'<k$ and $0$ otherwise. |
296 |
|
|
297 |
Setting \texttt{SHELFICEboundaryLayer=.true.} introduces a simple |
Setting \code{SHELFICEboundaryLayer=.true.} introduces a simple |
298 |
boundary layer that reduces the potential noise problem at the cost of |
boundary layer that reduces the potential noise problem at the cost of |
299 |
increased vertical mixing. For this purpose the water temperature at |
increased vertical mixing. For this purpose the water temperature at |
300 |
the $k$-th layer abutting ice shelf topography for use in the heat |
the $k$-th layer abutting ice shelf topography for use in the heat |
407 |
\begin{equation} |
\begin{equation} |
408 |
\label{eq:helmerfreeze} |
\label{eq:helmerfreeze} |
409 |
T_{f} = (0.0901 - 0.0575\ S_{b})^{\circ} |
T_{f} = (0.0901 - 0.0575\ S_{b})^{\circ} |
410 |
- 7.61 \times 10^{-4}\frac{^{\circ}}{\text{dBar}}\ p_{b} |
- 7.61 \times 10^{-4}\frac{\text{K}}{\text{dBar}}\ p_{b} |
411 |
\end{equation} |
\end{equation} |
412 |
with the salinity $S_{b}$ and the pressure $p_{b}$ (in dBar) in the |
with the salinity $S_{b}$ and the pressure $p_{b}$ (in dBar) in the |
413 |
cell at the ice-water interface. From the salt budget, the salt flux |
cell at the ice-water interface. From the salt budget, the salt flux |
469 |
formulation it is obvious that melting ($q<0$) leads to a reduction of |
formulation it is obvious that melting ($q<0$) leads to a reduction of |
470 |
salinity. |
salinity. |
471 |
|
|
472 |
The default value of \texttt{SHELFICEconserve=.false.} removes the |
The default value of \code{SHELFICEconserve=.false.} removes the |
473 |
contribution $q ( X_{b}-X )$ from Eq.~(\ref{eq:jenkinsbc}), making the |
contribution $q ( X_{b}-X )$ from Eq.~(\ref{eq:jenkinsbc}), making the |
474 |
boundary conditions for temperature non-conservative. |
boundary conditions for temperature non-conservative. |
475 |
|
|
491 |
q = - \frac{c_{p} \rho \gamma_T (T - T_{b})}{L}. |
q = - \frac{c_{p} \rho \gamma_T (T - T_{b})}{L}. |
492 |
\end{equation} |
\end{equation} |
493 |
In order to use this formulation, set run-time parameter |
In order to use this formulation, set run-time parameter |
494 |
\texttt{useISOMIPTD=.true.} in data.shelfice. |
\code{useISOMIPTD=.true.} in data.shelfice. |
495 |
|
|
496 |
\paragraph{Remark} The shelfice package and experiments demonstrating |
\paragraph{Remark} The shelfice package and experiments demonstrating |
497 |
its strenghts and weaknesses are also described in |
its strenghts and weaknesses are also described in |
504 |
\subsubsection{Key subroutines |
\subsubsection{Key subroutines |
505 |
\label{sec:pkg:shelfice:subroutines}} |
\label{sec:pkg:shelfice:subroutines}} |
506 |
|
|
507 |
Top-level routine: \texttt{shelfice\_model.F} |
Top-level routine: \code{shelfice\_model.F} |
508 |
|
|
509 |
{\footnotesize |
{\footnotesize |
510 |
\begin{verbatim} |
\begin{verbatim} |
522 |
C | | |-EXTERNAL_FORCING_T :: Problem specific forcing for temperature. |
C | | |-EXTERNAL_FORCING_T :: Problem specific forcing for temperature. |
523 |
C | | |-SHELFICE_FORCING_T :: apply heat fluxes from ice shelf model |
C | | |-SHELFICE_FORCING_T :: apply heat fluxes from ice shelf model |
524 |
C ... |
C ... |
525 |
C | | |-EXTERNAL_FORCING_S :: Problem specific forcing for temperature. |
C | | |-EXTERNAL_FORCING_S :: Problem specific forcing for salinity. |
526 |
C | | |-SHELFICE_FORCING_S :: apply fresh water fluxes from ice shelf model |
C | | |-SHELFICE_FORCING_S :: apply fresh water fluxes from ice shelf model |
527 |
C ... |
C ... |
528 |
C | |-DYNAMICS :: Momentum equations driver. |
C | |-DYNAMICS :: Momentum equations driver. |
552 |
Available output fields are summarized in |
Available output fields are summarized in |
553 |
Table \ref{tab:pkg:shelfice:diagnostics}. |
Table \ref{tab:pkg:shelfice:diagnostics}. |
554 |
|
|
555 |
\begin{table}[h!] |
\begin{table}[!ht] |
556 |
\centering |
\centering |
557 |
\label{tab:pkg:shelfice:diagnostics} |
\label{tab:pkg:shelfice:diagnostics} |
558 |
{\footnotesize |
{\footnotesize |
586 |
|
|
587 |
%%% Local Variables: |
%%% Local Variables: |
588 |
%%% mode: latex |
%%% mode: latex |
589 |
%%% TeX-master: "../manual" |
%%% TeX-master: "../../manual" |
590 |
%%% End: |
%%% End: |