<p><b>dwj07@fsu.edu</b> 2012-01-30 14:11:04 -0700 (Mon, 30 Jan 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Updating design document.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/omp_blocks/docs/mpas_block_decomp_redesign.pdf
===================================================================
(Binary files differ)

Modified: branches/omp_blocks/docs/mpas_block_decomp_redesign.tex
===================================================================
--- branches/omp_blocks/docs/mpas_block_decomp_redesign.tex        2012-01-30 20:08:03 UTC (rev 1436)
+++ branches/omp_blocks/docs/mpas_block_decomp_redesign.tex        2012-01-30 21:11:04 UTC (rev 1437)
@@ -127,13 +127,21 @@
 where there are multiple blocks per MPI task a namelist parameter needs to be
 added that will allow these two values to differ. \\
 
-The namelist.input files will have the value config\_number\_of\_blocks added
-as an integer field to the io section. This option will have a default value of
+First, changes to the namelist.input file include a new section called
+decomposition. This section will include four parameters. The first being
+config\_number\_of\_blocks which is an integer representation of the number of
+blocks a run should use. Second is config\_block\_decomp\_file\_prefix, which
+represents the path and prefix (before the .N) of the file for the block
+decomposition. Third is config\_proc\_decomp\_file\_prefix representing the
+path and prefix (before the .Np) to the file for the processor decomposition.
+Finally is config\_explicit\_proc\_decomp which is logical and tells MPAS to
+use the config\_proc\_decomp\_file for the distribution of blocks, or to use
+the built in method of distributing the blocks to processors.\\
+
+config\_number\_of\_blocks option will have a default value of
 0. A value of 0 in this field means there should be nProcs blocks, or one block
-for ever MPI task, which is the default behavior currently.
-config\_decomp\_file\_prefix will be separated into
-config\_proc\_decomp\_file\_prefix and config\_block\_decomp\_file\_prefix.
-Where config\_block\_decomp\_file\_prefix is read by default and
+for every MPI task, which is the default behavior currently.
+config\_block\_decomp\_file\_prefix is read by default and
 config\_proc\_decomp\_file\_prefix is only read for external block assignment,
 as will be described later.\\
 
@@ -161,12 +169,14 @@
 
 \begin{lstlisting}[language=fortran,escapechar=@,frame=single]
 subroutine mpas_block_decomp_cells_for_proc(dminfo, &amp;
-           partial_global_graph_info, local_cell_list, @\colorbox{yellow}{local\_block\_list}@)
+           partial_global_graph_info, local_cell_list, @\colorbox{yellow}{block\_id}@, &amp;
+                   @\colorbox{yellow}{block\_start}@, @\colorbox{yellow}{block\_count}@)
 \end{lstlisting}
 
-where local\_cell\_list is a list of cells owned by a processor, and
-local\_block\_list is a list of global block ids that describes which block
-owns a cell. \\
+where local\_cell\_list is a list of cells owned by a processor that is sorted
+by local block id, block\_id is a list of global block id's that an MPI task
+owns, block\_start is a list of offsets in local\_cell\_list for the contiguous
+cells a block owns, and block\_count is a the number of cells each block owns. \\
 
 mpas\_block\_decomp\_cells\_for\_proc will perform the same regardless of
 number of processors to enable the use of multiple blocks on a single
@@ -230,7 +240,7 @@
 
 In addition to the ad-hoc method of determining which blocks belong to which
 processors, a file based method will be added. This method will be toggelable
-by a namelist option named config\_block\_decomp\_file, which will be logical.
+by a namelist option named config\_explicit\_proc\_decomp, which will be logical.
 If this option is true, a file (config\_proc\_decomp\_file\_prefix.N) will be
 provided, where N is the number of processors. This file will have number of
 blocks lines, and each line will say what processor should own the block. This

</font>
</pre>