--- manual/s_software/text/sarch.tex	2001/10/11 19:12:38	1.2
+++ manual/s_software/text/sarch.tex	2001/10/22 03:28:33	1.3
@@ -1,4 +1,4 @@
-% $Header: /home/ubuntu/mnt/e9_copy/manual/s_software/text/sarch.tex,v 1.2 2001/10/11 19:12:38 adcroft Exp $
+% $Header: /home/ubuntu/mnt/e9_copy/manual/s_software/text/sarch.tex,v 1.3 2001/10/22 03:28:33 cnh Exp $
 
 In this chapter we describe the software architecture and
 implementation strategy for the MITgcm code. The first part of this
@@ -842,6 +842,7 @@
 \end{figure}
 
 \subsubsection{Multi-threaded execution}
+\label{sec:multi-threaded-execution}
 Prior to transferring control to the procedure {\em THE\_MODEL\_MAIN()} the
 WRAPPER may cause several coarse grain threads to be initialized. The routine
 {\em THE\_MODEL\_MAIN()} is called once for each thread and is passed a single
@@ -929,6 +930,7 @@
 } \\
 
 \subsubsection{Multi-process execution}
+\label{sec:multi-process-execution}
 
 Despite its appealing programming model, multi-threaded execution remains
 less common then multi-process execution. One major reason for this
@@ -940,7 +942,8 @@
 
 Multi-process execution is more ubiquitous.
 In order to run code in a multi-process configuration a decomposition
-specification is given ( in which the at least one of the
+specification ( see section \ref{sec:specifying_a_decomposition})
+is given ( in which the at least one of the
 parameters {\em nPx} or {\em nPy} will be greater than one)
 and then, as for multi-threaded operation,
 appropriate compile time and run time steps must be taken.
