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}. |
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}: \\ |
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}[h!] |
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 |
~ \\ |
~ \\ |
228 |
of the water column is the atmospheric pressure $p_{a}$ plus the |
of the water column is the atmospheric pressure $p_{a}$ plus the |
229 |
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 |
230 |
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 |
231 |
(in run-time parameter \texttt{SHELFICEloadAnomalyFile}). |
(in run-time parameter \code{SHELFICEloadAnomalyFile}). |
232 |
The weight is conveniently computed by integrating a density profile |
The weight is conveniently computed by integrating a density profile |
233 |
$\rho^*$, that is constant in time and corresponds to the sea-water |
$\rho^*$, that is constant in time and corresponds to the sea-water |
234 |
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 |
277 |
\end{equation} |
\end{equation} |
278 |
where $H(k'-k)=1$ for $k'<k$ and $0$ otherwise. |
where $H(k'-k)=1$ for $k'<k$ and $0$ otherwise. |
279 |
|
|
280 |
Setting \texttt{SHELFICEboundaryLayer=.true.} introduces a simple |
Setting \code{SHELFICEboundaryLayer=.true.} introduces a simple |
281 |
boundary layer that reduces the potential noise problem at the cost of |
boundary layer that reduces the potential noise problem at the cost of |
282 |
increased vertical mixing. For this purpose the water temperature at |
increased vertical mixing. For this purpose the water temperature at |
283 |
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 |
452 |
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 |
453 |
salinity. |
salinity. |
454 |
|
|
455 |
The default value of \texttt{SHELFICEconserve=.false.} removes the |
The default value of \code{SHELFICEconserve=.false.} removes the |
456 |
contribution $q ( X_{b}-X )$ from Eq.~(\ref{eq:jenkinsbc}), making the |
contribution $q ( X_{b}-X )$ from Eq.~(\ref{eq:jenkinsbc}), making the |
457 |
boundary conditions for temperature non-conservative. |
boundary conditions for temperature non-conservative. |
458 |
|
|
474 |
q = - \frac{c_{p} \rho \gamma_T (T - T_{b})}{L}. |
q = - \frac{c_{p} \rho \gamma_T (T - T_{b})}{L}. |
475 |
\end{equation} |
\end{equation} |
476 |
In order to use this formulation, set run-time parameter |
In order to use this formulation, set run-time parameter |
477 |
\texttt{useISOMIPTD=.true.} in data.shelfice. |
\code{useISOMIPTD=.true.} in data.shelfice. |
478 |
|
|
479 |
\paragraph{Remark} The shelfice package and experiments demonstrating |
\paragraph{Remark} The shelfice package and experiments demonstrating |
480 |
its strenghts and weaknesses are also described in |
its strenghts and weaknesses are also described in |
487 |
\subsubsection{Key subroutines |
\subsubsection{Key subroutines |
488 |
\label{sec:pkg:shelfice:subroutines}} |
\label{sec:pkg:shelfice:subroutines}} |
489 |
|
|
490 |
Top-level routine: \texttt{shelfice\_model.F} |
Top-level routine: \code{shelfice\_model.F} |
491 |
|
|
492 |
{\footnotesize |
{\footnotesize |
493 |
\begin{verbatim} |
\begin{verbatim} |