| 32 |
validity of the cube topology depends on the \file{SIZE.h} file as |
validity of the cube topology depends on the \file{SIZE.h} file as |
| 33 |
detailed below. The default files provided in the release configure a |
detailed below. The default files provided in the release configure a |
| 34 |
cubed sphere topology of six tiles, one per subdomain, each with |
cubed sphere topology of six tiles, one per subdomain, each with |
| 35 |
32$\times$32 grid points, all running on a single processor. Both |
32$\times$32 grid points, with all tiles running on a single processor. Both |
| 36 |
files are generated by Matlab scripts in |
files are generated by Matlab scripts in |
| 37 |
\file{utils/exch2/matlab-topology-generator}; see Section |
\file{utils/exch2/matlab-topology-generator}; see Section |
| 38 |
\ref{sec:topogen} \sectiontitle{Generating Topology Files for exch2} |
\ref{sec:topogen} \sectiontitle{Generating Topology Files for exch2} |
| 66 |
\file{tile00$n$.mitgrid} where $n$=\code{(1:6)} (one per subdomain), |
\file{tile00$n$.mitgrid} where $n$=\code{(1:6)} (one per subdomain), |
| 67 |
must be in the working directory when the MITgcm executable is run. |
must be in the working directory when the MITgcm executable is run. |
| 68 |
These files are provided in the example experiments for cubed sphere |
These files are provided in the example experiments for cubed sphere |
| 69 |
configurations with 32$\times$32 cube sides and are non-trivial to |
configurations with 32$\times$32 cube sides |
| 70 |
generate -- please contact MITgcm support if you want to generate |
-- please contact MITgcm support if you want to generate |
| 71 |
files for other configurations. \\ |
files for other configurations. \\ |
| 72 |
|
|
| 73 |
$\bullet$ As always when compiling MITgcm, the file \file{SIZE.h} must |
$\bullet$ As always when compiling MITgcm, the file \file{SIZE.h} must |
| 106 |
from the Matlab prompt (there are no parameters to pass) generates |
from the Matlab prompt (there are no parameters to pass) generates |
| 107 |
exch2 topology files \file{W2\_EXCH2\_TOPOLOGY.h} and |
exch2 topology files \file{W2\_EXCH2\_TOPOLOGY.h} and |
| 108 |
\file{w2\_e2setup.F} in the working directory and displays a figure of |
\file{w2\_e2setup.F} in the working directory and displays a figure of |
| 109 |
the topology via Matlab. The other m-files in the directory are |
the topology via Matlab -- figures \ref{fig:6tile}, \ref{fig:12tile}, |
| 110 |
|
and \ref{fig:24tile} are examples. The other m-files in the directory are |
| 111 |
subroutines of \file{driver.m} and should not be run ``bare'' except |
subroutines of \file{driver.m} and should not be run ``bare'' except |
| 112 |
for development purposes. \\ |
for development purposes. \\ |
| 113 |
|
|
| 118 |
The first three determine the size of the subdomains and |
The first three determine the size of the subdomains and |
| 119 |
hence the size of the overall domain. Each one determines the number |
hence the size of the overall domain. Each one determines the number |
| 120 |
of grid points, and therefore the resolution, along the subdomain |
of grid points, and therefore the resolution, along the subdomain |
| 121 |
sides in a ``great circle'' around an axis of the cube. At the time |
sides in a ``great circle'' around each the three spatial axes of the cube. At the time |
| 122 |
of this writing MITgcm requires these three parameters to be equal, |
of this writing MITgcm requires these three parameters to be equal, |
| 123 |
but they provide for future releases to accomodate different |
but they provide for future releases to accomodate different |
| 124 |
resolutions around the axes to allow (for example) greater resolution |
resolutions around the axes to allow (for example) greater resolution |
| 125 |
around the equator.\\ |
around the equator.\\ |
| 126 |
|
|
| 127 |
The parameters \code{tnx} and \code{tny} determine the dimensions of |
The parameters \code{tnx} and \code{tny} determine the width and height of |
| 128 |
the tiles into which the subdomains are decomposed, and must evenly |
the tiles into which the subdomains are decomposed, and must evenly |
| 129 |
divide the integer assigned to \code{nr}, \code{nb} and \code{ng}. |
divide the integer assigned to \code{nr}, \code{nb} and \code{ng}. |
| 130 |
The result is a rectangular tiling of the subdomain. Figure |
The result is a rectangular tiling of the subdomain. Figure |
| 140 |
|
|
| 141 |
\caption{Plot of a cubed sphere topology with a 32$\times$192 domain |
\caption{Plot of a cubed sphere topology with a 32$\times$192 domain |
| 142 |
divided into six 32$\times$32 subdomains, each of which is divided |
divided into six 32$\times$32 subdomains, each of which is divided |
| 143 |
into four tiles (\code{tnx=16, tny=16}) for a total of twenty-four |
into four tiles of width \code{tnx=16} and height \code{tny=16} for a |
| 144 |
tiles. } \label{fig:24tile} |
total of twenty-four tiles. The colored borders of the subdomains |
| 145 |
|
represent the parameters \code{nr} (red), \code{nb} (blue), and |
| 146 |
|
\code{ng} (green). } \label{fig:24tile} |
| 147 |
\end{figure} |
\end{figure} |
| 148 |
|
|
| 149 |
\begin{figure} |
\begin{figure} |
| 290 |
tile layout to allow global data files that are tile-layout-neutral |
tile layout to allow global data files that are tile-layout-neutral |
| 291 |
and have no bearing on the internal storage of the arrays. The tiles |
and have no bearing on the internal storage of the arrays. The tiles |
| 292 |
are stored internally in a range from \code{(1:\varlink{bi}{bi})} the |
are stored internally in a range from \code{(1:\varlink{bi}{bi})} the |
| 293 |
$x$ axis, and the $y$ axis variable \varlink{bj}{bj} generally is |
$x$ axis, and the $y$ axis variable \varlink{bj}{bj} is assumed to |
| 294 |
ignored within the package. \\ |
equal \code{1} throughout the package. \\ |
| 295 |
|
|
| 296 |
\subsubsection{Arrays Indexed to Tile Number} |
\subsubsection{Arrays Indexed to Tile Number} |
| 297 |
|
|
| 304 |
each tile. At present for each tile \texttt{exch2\_tnx=sNx} and |
each tile. At present for each tile \texttt{exch2\_tnx=sNx} and |
| 305 |
\texttt{exch2\_tny=sNy}, as assigned in \file{SIZE.h} and described in |
\texttt{exch2\_tny=sNy}, as assigned in \file{SIZE.h} and described in |
| 306 |
section \ref{sec:exch2mpi} \sectiontitle{exch2, SIZE.h, and |
section \ref{sec:exch2mpi} \sectiontitle{exch2, SIZE.h, and |
| 307 |
multiprocessing}. Future releases of MITgcm are to allow varying tile |
multiprocessing}. Future releases of MITgcm may allow varying tile |
| 308 |
sizes. \\ |
sizes. \\ |
| 309 |
|
|
| 310 |
The location of the tiles' Cartesian origin within a subdomain are |
The location of the tiles' Cartesian origin within a subdomain are |