23 |
|
|
24 |
\subsection{Using MNC} |
\subsection{Using MNC} |
25 |
|
|
26 |
\subsubsection{MNC Configuration and Inputs} |
\subsubsection{MNC Configuration} |
27 |
|
|
28 |
As with all MITgcm packages, MNC can be turned on/off at compile time |
As with all MITgcm packages, MNC can be turned on or off at compile time |
29 |
using the \texttt{packages.conf} file or the genmake2 |
using the \texttt{packages.conf} file or the \texttt{genmake2} |
30 |
\texttt{-enable=mnc} or \texttt{-disable=mnc} switches. |
\texttt{-enable=mnc} or \texttt{-disable=mnc} switches. |
31 |
|
|
32 |
|
While MNC is likely to work ``as is'', there are a few compile--time |
33 |
|
constants that may need to be increased for simulations that employ |
34 |
|
large numbers of tiles within each process. Note that the important |
35 |
|
quantity is the maximum number of tiles \textbf{per process}. Since |
36 |
|
MPI configurations tend to distribute large numbers of tiles over |
37 |
|
relatively large numbers of MPI processes, these constants will rarely |
38 |
|
need to be increased. |
39 |
|
|
40 |
|
If MNC runs out of space within its ``lookup'' tables during a |
41 |
|
simulation, then it will provide an error message along with a |
42 |
|
recommendation of which parameter to increase. The parameters are all |
43 |
|
located within \filelink{pkg/mnc/mnc\_common.h}{pkg-mnc-mnc_common.h} |
44 |
|
and the ones that may need to be increased are: |
45 |
|
|
46 |
|
\begin{center} |
47 |
|
{\footnotesize |
48 |
|
\begin{tabular}[htb]{|l|r|l|}\hline |
49 |
|
\textbf{Name} & |
50 |
|
\textbf{Default} & \textbf{Description} \\\hline |
51 |
|
& & \\ |
52 |
|
\texttt{MNC\_MAX\_ID} & 1000 & |
53 |
|
\textbf{IDs for various low-level entities} \\ |
54 |
|
\texttt{MNC\_MAX\_INFO} & 400 & |
55 |
|
\textbf{IDs (mostly for object sizes)} \\ |
56 |
|
\texttt{MNC\_CW\_MAX\_I} & 150 & |
57 |
|
\textbf{IDs for the ``wrapper'' layer} \\\hline |
58 |
|
\end{tabular} |
59 |
|
} |
60 |
|
\end{center} |
61 |
|
|
62 |
|
In those rare cases where MNC ``out-of-memory'' error messages are |
63 |
|
encountered, it is a good idea to increase the too-small parameter by |
64 |
|
a factor of \textbf{2--10} in order to avoid wasting time on an |
65 |
|
iterative compile--test sequence. |
66 |
|
|
67 |
|
|
68 |
|
\subsubsection{MNC Inputs} |
69 |
|
|
70 |
For run-time configuration, most of the MNC--related model parameters |
For run-time configuration, most of the MNC--related model parameters |
71 |
are contained within a Fortran namelist file called \texttt{data.mnc}. |
are contained within a Fortran namelist file called \texttt{data.mnc}. |
72 |
If this file does not exist, then the MNC package will interpret that |
If this file does not exist, then the MNC package will interpret that |
186 |
which is a very powerful and convenient set of tools for working |
which is a very powerful and convenient set of tools for working |
187 |
with all NetCDF files. |
with all NetCDF files. |
188 |
|
|
189 |
|
\item On many systems, NetCDF has practical file size limits on the |
190 |
|
order of 2--4GB (the maximium memory addressable with 32bit |
191 |
|
pointers) due to a lack of operating system, compiler, and/or |
192 |
|
library support. In cases where this limit is reached, it is |
193 |
|
generally a good idea to reduce write frequencies or restart from |
194 |
|
pickups. |
195 |
|
|
196 |
\item MNC does not (yet) provide a mechanism for reading information |
\item MNC does not (yet) provide a mechanism for reading information |
197 |
from a single ``global'' file as can be done with the MDSIO |
from a single ``global'' file as can be done with the MDSIO |
198 |
package. |
package. This is in progress. |
199 |
|
|
200 |
\end{itemize} |
\end{itemize} |
201 |
|
|