19 |
(``binary'') Fortran files. The \texttt{mdsio} routines are used by |
(``binary'') Fortran files. The \texttt{mdsio} routines are used by |
20 |
the \texttt{rw} package. |
the \texttt{rw} package. |
21 |
|
|
22 |
|
The \texttt{mdsio} package is currently the primary method for MITgcm |
23 |
|
I/O, but it is not being actively extended or enhanced. Instead, the |
24 |
|
\texttt{mnc} netCDF package (see Section \ref{sec:pkg:mnc}) is |
25 |
|
expected to gain all of the current \texttt{mdsio} functionality and, |
26 |
|
eventually, replace it. For the short term, every effort has been |
27 |
|
made to allow \texttt{mnc} and \texttt{mdsio} to peacefully co-exist. |
28 |
|
In may cases, the model can read one format and write to the other. |
29 |
|
This side-by-side functionality can be used to, for instance, help |
30 |
|
convert pickup files or other data sets between the two formats. |
31 |
|
|
32 |
|
|
33 |
\subsubsection{Using MDSIO} |
\subsubsection{Using MDSIO} |
34 |
The \texttt{mdsio} package is geared toward the reading and writing of |
The \texttt{mdsio} package is geared toward the reading and writing of |
35 |
floating point (Fortran \texttt{REAL*4} or \texttt{REAL*8}) arrays. |
floating point (Fortran \texttt{REAL*4} or \texttt{REAL*8}) arrays. |
141 |
``fit'' within these assumed sizes can be challenging to read or |
``fit'' within these assumed sizes can be challenging to read or |
142 |
write with \texttt{mdsio}. |
write with \texttt{mdsio}. |
143 |
|
|
144 |
\item[Tiling] or domain decomposition is, for logically rectangular |
\item[Tiling] or domain decomposition is automatically handled by |
145 |
grid topologies and ``standard'' cubesphere topologies, gracefully |
\texttt{mdsio} for logically rectangular grid topologies |
146 |
handled by \texttt{mdsio}. The \texttt{mdsio} package can, without |
(\textit{eg.} lat-lon grids) and ``standard'' cubesphere topologies. |
147 |
any coding changes, read and write to/from files that were run on |
More complicated topologies will probably not be supported. The |
148 |
the same global grid but with different tiling (grid decomposition) |
\texttt{mdsio} package can, without any coding changes, read and |
149 |
schemes. For example, \texttt{mdsio} can use and/or create |
write to/from files that were run on the same global grid but with |
150 |
identical input/output files for a ``C32'' cube when the model is |
different tiling (grid decomposition) schemes. For example, |
151 |
run with either 6, 12, or 24 tiles (corresponding to 1, 2 or 4 tiles |
\texttt{mdsio} can use and/or create identical input/output files |
152 |
per cubesphere face). Currently, this is one of the primary |
for a ``C32'' cube when the model is run with either 6, 12, or 24 |
153 |
advantages that the \texttt{mdsio} package has over \texttt{mnc}. |
tiles (corresponding to 1, 2 or 4 tiles per cubesphere face). |
154 |
|
Currently, this is one of the primary advantages that the |
155 |
|
\texttt{mdsio} package has over \texttt{mnc}. |
156 |
|
|
157 |
|
\item[Single-CPU I/O] can be specified with the flag |
158 |
|
\begin{verbatim} |
159 |
|
useSingleCpuIO = .TRUE., |
160 |
|
\end{verbatim} |
161 |
|
in the \texttt{PARM01} namelist within the main \texttt{data} file. |
162 |
|
Single--CPU I/O mode is appropriate for computers (\textit{eg.} some |
163 |
|
SGI systems) where it can either speed overall I/O or solve problems |
164 |
|
where the operating system or file systems cannot correctly handle |
165 |
|
multiple threads or MPI processes simultaneously writing to the same |
166 |
|
file. |
167 |
|
|
168 |
\item[Meta-data] is written on a per-file basis using a second file |
\item[Meta-data] is written on a per-file basis using a second file |
169 |
with a \texttt{.meta} extension as described above. One should be |
with a \texttt{.meta} extension as described above. One should be |