175 |
\begin{verbatim} |
\begin{verbatim} |
176 |
C Write dynvars using the MNC package |
C Write dynvars using the MNC package |
177 |
CALL MNC_CW_SET_UDIM('state', -1, myThid) |
CALL MNC_CW_SET_UDIM('state', -1, myThid) |
178 |
CALL MNC_CW_RL_W('I','state',0,0,'iter', myIter, myThid) |
CALL MNC_CW_I_W('I','state',0,0,'iter', myIter, myThid) |
179 |
CALL MNC_CW_SET_UDIM('state', 0, myThid) |
CALL MNC_CW_SET_UDIM('state', 0, myThid) |
180 |
CALL MNC_CW_RL_W('D','state',0,0,'model_time',myTime, myThid) |
CALL MNC_CW_RL_W('D','state',0,0,'model_time',myTime, myThid) |
181 |
CALL MNC_CW_RL_W('D','state',0,0,'U', uVel, myThid) |
CALL MNC_CW_RL_W('D','state',0,0,'U', uVel, myThid) |
186 |
|
|
187 |
\subsubsection{Parameters} |
\subsubsection{Parameters} |
188 |
|
|
189 |
All the MNC parameters are contained within a file named |
Most of the MNC--related parameters are contained within a Fortran |
190 |
\texttt{data.mnc}. If this file does not exist, then the MNC package |
namelist file called \texttt{data.mnc}. If this file does not exist, |
191 |
will interpret that as an indication that it is not to be used. If |
then the MNC package will interpret that as an indication that it is |
192 |
the \texttt{data.mnc} does exist, then it may contain the following |
not to be used. If the \texttt{data.mnc} file does exist, then it may |
193 |
parameters: |
contain the following parameters: |
194 |
|
|
195 |
\begin{center} |
\begin{center} |
196 |
{\footnotesize |
{\footnotesize |
197 |
\begin{tabular}[htb]{|l|l|l|l|}\hline |
\begin{tabular}[htb]{|l|c|l|l|}\hline |
198 |
& & & \\ |
\textbf{Name} & \textbf{T} & |
|
\textbf{Name} & \textbf{Type} & |
|
199 |
\textbf{Default} & \textbf{Description} \\\hline |
\textbf{Default} & \textbf{Description} \\\hline |
200 |
& & & \\ |
& & & \\ |
201 |
\texttt{useMNC} & Logical & \texttt{.FALSE.} & |
\texttt{useMNC} & L & \texttt{.FALSE.} & |
202 |
\textbf{overall MNC ON/OFF switch} \\ |
\textbf{overall MNC ON/OFF switch} \\ |
203 |
\texttt{mnc\_echo\_gvtypes} & Logical & \texttt{.FALSE.} & |
\texttt{mnc\_echo\_gvtypes} & L & \texttt{.FALSE.} & |
204 |
echo pre-defined ``types'' to STDOUT? \\ |
echo pre-defined ``types'' (debugging) \\ |
205 |
\texttt{mnc\_use\_outdir} & Logical & \texttt{.FALSE.} & |
\texttt{mnc\_use\_outdir} & L & \texttt{.FALSE.} & |
206 |
create a directory for output? \\ |
create a directory for output \\ |
207 |
\texttt{mnc\_outdir\_str} & String & \texttt{'mnc\_'} & |
\texttt{mnc\_outdir\_str} & S & \texttt{'mnc\_'} & |
208 |
output directory name \\ |
output directory name \\ |
209 |
\texttt{mnc\_outdir\_date} & Logical & \texttt{.FALSE.} & |
\texttt{mnc\_outdir\_date} & L & \texttt{.FALSE.} & |
210 |
embed date in output directory name? \\ |
embed date in the output dir name \\ |
211 |
\texttt{mnc\_pickup\_write} & Logical & \texttt{.FALSE.} & |
\texttt{pickup\_write\_mnc} & L & \texttt{.FALSE.} & |
212 |
use MNC to write (create) pickup files? \\ |
use MNC to write (create) pickup files \\ |
213 |
\texttt{mnc\_pickup\_read} & Logical & \texttt{.FALSE.} & |
\texttt{pickup\_read\_mnc} & L & \texttt{.FALSE.} & |
214 |
use MNC to read pickup files? \\ |
use MNC to read pickup files \\ |
215 |
\texttt{mnc\_use\_indir} & Logical & \texttt{.FALSE.} & |
\texttt{mnc\_use\_indir} & L & \texttt{.FALSE.} & |
216 |
use a directory (path) for input? \\ |
use a directory (path) for input \\ |
217 |
\texttt{mnc\_indir\_str} & String & \texttt{''} & |
\texttt{mnc\_indir\_str} & S & \texttt{''} & |
218 |
input directory (or path) name \\ |
input directory (or path) name \\ |
219 |
\texttt{mnc\_use\_for\_mon} & Logical & \texttt{.FALSE.} & |
\texttt{snapshot\_mnc} & L & \texttt{.FALSE.} & |
220 |
write \texttt{monitor} output using MNC? \\\hline |
write \texttt{snapshot} (instantaneous) w/MNC \\ |
221 |
|
\texttt{monitor\_mnc} & L & \texttt{.FALSE.} & |
222 |
|
write \texttt{monitor} w/MNC \\ |
223 |
|
\texttt{timeave\_mnc} & L & \texttt{.FALSE.} & |
224 |
|
write \texttt{timeave} w/MNC \\\hline |
225 |
|
\end{tabular} |
226 |
|
} |
227 |
|
\end{center} |
228 |
|
|
229 |
|
Additional MNC--related parameters are contained within the main |
230 |
|
\texttt{data} namelist file and in some of the namelist files for |
231 |
|
individual packages. These options are: |
232 |
|
\begin{center} |
233 |
|
{\footnotesize |
234 |
|
\begin{tabular}[htb]{|l|c|l|l|}\hline |
235 |
|
\textbf{Name} & \textbf{T} & |
236 |
|
\textbf{Default} & \textbf{Description} \\\hline |
237 |
|
\multicolumn{4}{|c|}{\ } \\ |
238 |
|
\multicolumn{4}{|c|}{Main namelist file: |
239 |
|
``\textbf{data}''} \\\hline |
240 |
|
\texttt{snapshot\_ioinc} & L & \texttt{.FALSE.} & |
241 |
|
write \texttt{snapshot} ``inclusively'' \\ |
242 |
|
\texttt{timeave\_ioinc} & L & \texttt{.FALSE.} & |
243 |
|
write \texttt{timeave} ``inclusively'' \\ |
244 |
|
\texttt{monitor\_ioinc} & L & \texttt{.FALSE.} & |
245 |
|
write \texttt{monitor} ``inclusively'' \\\hline |
246 |
|
\multicolumn{4}{|c|}{\ } \\ |
247 |
|
\multicolumn{4}{|c|}{Diagnostics namelist file: |
248 |
|
``\textbf{data.diagnostics}''} \\\hline |
249 |
|
\texttt{diag\_mnc} & L & \texttt{.FALSE.} & |
250 |
|
write \texttt{diagnostics} w/MNC \\ |
251 |
|
\texttt{diag\_ioinc} & L & \texttt{.FALSE.} & |
252 |
|
write \texttt{diagnostics} ``inclusively'' \\\hline |
253 |
\end{tabular} |
\end{tabular} |
254 |
} |
} |
255 |
\end{center} |
\end{center} |
256 |
|
|
257 |
%\subsection{Package Reference} |
By default, turning on MNC for a particular output stream will result |
258 |
|
in turning off all the corresponding (usually, default) MDSIO or |
259 |
|
STDOUT output mechanisms. In other words, output defaults to being an |
260 |
|
exclusive selection. To enable multiple kinds of simultaneous output, |
261 |
|
flags of the form \texttt{NAME\_ioinc} can be used where \texttt{NAME} |
262 |
|
corresponds to the various MNC output flags. When a |
263 |
|
\texttt{NAME\_ioinc} flag is set to \texttt{.TRUE.}, then multiple |
264 |
|
forms of output are allowed for the \texttt{NAME} output mechanism. |
265 |
|
The intent of this design is that typical users will only want one |
266 |
|
kind of output while people debugging the code (particularly the I/O |
267 |
|
routines) may want simultaneous types of output. |
268 |
|
|
269 |
|
This ``inclusive'' versus ``exclusive'' design is easily applied in |
270 |
|
cases where three or more kinds of output may be generated. Thus, it |
271 |
|
can be readily extended to additional new output types (eg. HDF5). |
272 |
|
|
273 |
|
Input types are always exclusive. |