--- manual/s_phys_pkgs/text/exch2.tex 2004/05/10 21:39:11 1.19 +++ manual/s_phys_pkgs/text/exch2.tex 2005/07/18 20:45:27 1.24 @@ -1,4 +1,4 @@ -% $Header: /home/ubuntu/mnt/e9_copy/manual/s_phys_pkgs/text/exch2.tex,v 1.19 2004/05/10 21:39:11 afe Exp $ +% $Header: /home/ubuntu/mnt/e9_copy/manual/s_phys_pkgs/text/exch2.tex,v 1.24 2005/07/18 20:45:27 molod Exp $ % $Name: $ %% * Introduction @@ -10,11 +10,11 @@ %% o automatically inserted at \section{Reference} -\section{exch2: Extended Cubed Sphere \mbox{Topology}} +\subsection{exch2: Extended Cubed Sphere \mbox{Topology}} \label{sec:exch2} -\subsection{Introduction} +\subsubsection{Introduction} The \texttt{exch2} package extends the original cubed sphere topology configuration to allow more flexible domain decomposition and @@ -41,7 +41,7 @@ \file{utils/exch2/code-mods} along with the appropriate \file{SIZE.h} file for single-processor execution. -\subsection{Invoking exch2} +\subsubsection{Invoking exch2} To use exch2 with the cubed sphere, the following conditions must be met: \\ @@ -96,7 +96,7 @@ -\subsection{Generating Topology Files for exch2} +\subsubsection{Generating Topology Files for exch2} \label{sec:topogen} Alternate cubed sphere topologies may be created using the Matlab @@ -182,7 +182,7 @@ -\subsection{exch2, SIZE.h, and Multiprocessing} +\subsubsection{exch2, SIZE.h, and Multiprocessing} \label{sec:exch2mpi} Once the topology configuration files are created, the Fortran @@ -215,12 +215,20 @@ The number of tiles MITgcm allocates and how they are distributed between processors depends on \varlink{nPx}{nPx} and \varlink{nSx}{nSx}. \varlink{nSx}{nSx} is the number of tiles per -processor and \varlink{nPx}{nPx} is the number of processors. The total -number of tiles in the topology minus those listed in -\file{blanklist.txt} must equal \code{nSx*nPx}. Note that in order to +processor and \varlink{nPx}{nPx} is the number of processors. The +total number of tiles in the topology minus those listed in +\file{blanklist.txt} must equal \code{nSx*nPx}. Note that in order to obtain maximum usage from a given number of processors in some cases, -this restriction might entail sharing a processor with a tile that would -otherwise be excluded. \\ +this restriction might entail sharing a processor with a tile that +would otherwise be excluded because it is topographically outside of +the domain and therefore in \file{blanklist.txt}. For example, +suppose you have five processors and a domain decomposition of +thirty-six tiles that allows you to exclude seven tiles. To evenly +distribute the remaining twenty-nine tiles among five processors, you +would have to run one ``dummy'' tile to make an even six tiles per +processor. Such dummy tiles are \emph{not} listed in +\file{blanklist.txt}.\\ + The following is an example of \file{SIZE.h} for the twelve-tile configuration illustrated in figure \ref{fig:12tile} running on @@ -263,7 +271,7 @@ -\subsection{Key Variables} +\subsubsection{Key Variables} The descriptions of the variables are divided up into scalars, one-dimensional arrays indexed to the tile number, and two and @@ -273,7 +281,7 @@ arrays to individual tiles, and the arrays indexed by tile and neighbor to relationships between tiles and their neighbors. \\ -\subsubsection{Scalars} +Scalars: The number of tiles in a particular topology is set with the parameter \code{NTILES}, and the maximum number of neighbors of any tiles by @@ -296,7 +304,7 @@ $x$ axis, and the $y$ axis variable \varlink{bj}{bj} is assumed to equal \code{1} throughout the package. \\ -\subsubsection{Arrays indexed to tile number} +Arrays indexed to tile number: The following arrays are of length \code{NTILES} and are indexed to the tile number, which is indicated in the diagrams with the notation @@ -349,7 +357,7 @@ corners of the cube. \\ -\subsubsection{Arrays Indexed to Tile Number and Neighbor} +Arrays Indexed to Tile Number and Neighbor: The following arrays have vectors of length \code{MAX\_NEIGHBOURS} and \code{NTILES} and describe the orientations between the the tiles. \\ @@ -493,7 +501,7 @@ width of \code{T}'s northern edge, expanded by one into the halo. \\ -\subsection{Key Routines} +\subsubsection{Key Routines} Most of the subroutines particular to exch2 handle the exchanges themselves and are of the same format as those described in