<p><b>dwj07@fsu.edu</b> 2012-01-30 11:06:31 -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-27 21:55:38 UTC (rev 1432)
+++ branches/omp_blocks/docs/mpas_block_decomp_redesign.tex        2012-01-30 18:06:31 UTC (rev 1433)
@@ -172,12 +172,46 @@
 number of processors to enable the use of multiple blocks on a single
 processor. \\
 
-Within mpas\_block\_decomp.F a new private subroutine will be implemented,
-called mpas\_get\_blocks\_per\_proc. This routine takes as input the domain
-information and a processor number. On output blocks\_per\_proc contains the
-number of blocks a processor owns. \\
+The block\_type data structure will be extended to include the local block id.
+This can help make dynamic load balancing easier for implementation at a later
+time. This will change
 
-There will be two additions to the public interface of mpas\_block\_decomp.F
+\begin{lstlisting}[language=fortran,escapechar=@,frame=single]
+   type block_type
+
+#include &quot;block_group_members.inc&quot;
+
+      integer :: blockID   ! Unique global ID number for this block
+
+      type (domain_type), pointer :: domain
+
+      type (parallel_info), pointer :: parinfo
+
+      type (block_type), pointer :: prev, next
+   end type block_type
+
+\end{lstlisting}
+
+to
+
+\begin{lstlisting}[language=fortran,escapechar=@,frame=single]
+   type block_type
+
+#include &quot;block_group_members.inc&quot;
+
+      integer :: blockID   ! Unique global ID number for this block
+      @\colorbox{yellow}{integer :: localBlockID}@
+
+      type (domain_type), pointer :: domain
+
+      type (parallel_info), pointer :: parinfo
+
+      type (block_type), pointer :: prev, next
+   end type block_type
+
+\end{lstlisting}
+
+There will be three additions to the public interface of mpas\_block\_decomp.F
 The first adds the routine mpas\_get\_local\_block\_id which takes has three
 arguments. As input it takes the domain information and the global block
 number, and as output it provides the local block number on a processor. This
@@ -190,11 +224,15 @@
 owns the block. This allows other parts of MPAS to determine from a block
 number which MPI task it needs to communicate with to read/write this block. \\
 
+The third public routine is called mpas\_get\_blocks\_per\_proc. This routine
+takes as input the domain information and a processor number. On output
+blocks\_per\_proc contains the number of blocks a processor owns. \\
+
 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.
-If this option is true, a file (config\_proc\_decomp\_file\_prefix) will be
-provided, wher is the number of processors. This file will have number of
+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
 file can be created using metis externally. \\
 

</font>
</pre>