<p><b>duda</b> 2009-11-13 17:17:20 -0700 (Fri, 13 Nov 2009)</p><p>Add fix to allow variables with nVertLevels as their outer-most <br>
dimension to be written properly for multi-processor runs.<br>
<br>
M    module_io_output.F<br>
</p><hr noshade><pre><font color="gray">Modified: trunk/swmodel/src/module_io_output.F
===================================================================
--- trunk/swmodel/src/module_io_output.F        2009-10-29 17:01:25 UTC (rev 69)
+++ trunk/swmodel/src/module_io_output.F        2009-11-14 00:17:20 UTC (rev 70)
@@ -107,6 +107,7 @@
       integer, dimension(:), pointer :: neededCellList
       integer, dimension(:), pointer :: neededEdgeList
       integer, dimension(:), pointer :: neededVertexList
+      integer, dimension(:), pointer :: neededVertLevelList
       integer, dimension(:,:), pointer :: cellsOnCell, edgesOnCell, verticesOnCell, &amp;
                                           cellsOnEdge, verticesOnEdge, edgesOnEdge, cellsOnVertex, edgesOnVertex
       integer, dimension(:,:), pointer :: cellsOnCell_save, edgesOnCell_save, verticesOnCell_save, &amp;
@@ -193,6 +194,7 @@
          allocate(neededCellList(nCellsGlobal))
          allocate(neededEdgeList(nEdgesGlobal))
          allocate(neededVertexList(nVerticesGlobal))
+         allocate(neededVertLevelList(nVertLevelsGlobal))
          do i=1,nCellsGlobal
             neededCellList(i) = i
          end do
@@ -202,10 +204,14 @@
          do i=1,nVerticesGlobal
             neededVertexList(i) = i
          end do
+         do i=1,nVertLevelsGlobal
+            neededVertLevelList(i) = i
+         end do
       else
          allocate(neededCellList(0))
          allocate(neededEdgeList(0))
          allocate(neededVertexList(0))
+         allocate(neededVertLevelList(0))
       end if
 
       if (.not. output_obj % validExchangeLists) then
@@ -224,6 +230,11 @@
                                    domain % blocklist % mesh % indexToVertexID % array, neededVertexList, &amp;
                                    output_obj % sendVerticesList, output_obj % recvVerticesList)
 
+         call dmpar_get_owner_list(domain % dminfo, &amp;
+                                   size(neededVertLevelList), size(neededVertLevelList), &amp;
+                                   neededVertLevelList, neededVertLevelList, &amp;
+                                   output_obj % sendVertLevelsList, output_obj % recvVertLevelsList)
+
          output_obj % validExchangeLists = .true.
       end if
 

</font>
</pre>