<p><b>duda</b> 2009-11-17 14:15:20 -0700 (Tue, 17 Nov 2009)</p><p>Add fix to allow variables with nVertLevels as their outer-most <br>
dimension to be read properly for multi-processor runs. This<br>
change essentailly does for reading what the change in r70 did <br>
for writing. <br>
<br>
M swmodel/src/module_io_input.F<br>
</p><hr noshade><pre><font color="gray">Modified: trunk/swmodel/src/module_io_input.F
===================================================================
--- trunk/swmodel/src/module_io_input.F        2009-11-16 23:17:45 UTC (rev 72)
+++ trunk/swmodel/src/module_io_input.F        2009-11-17 21:15:20 UTC (rev 73)
@@ -75,6 +75,7 @@
integer, dimension(:,:), pointer :: vertexIDSorted
integer, dimension(:), pointer :: local_cell_list, local_edge_list, local_vertex_list
+ integer, dimension(:), pointer :: local_vertlevel_list, needed_vertlevel_list
integer :: nlocal_edges, nlocal_vertices
type (exchange_list), pointer :: sendCellList, recvCellList
type (exchange_list), pointer :: sendEdgeList, recvEdgeList
@@ -411,7 +412,28 @@
indexToVertexIDField % array, local_vertex_list, &
sendVertexList, recvVertexList)
+ if (domain % dminfo % my_proc_id == 0) then
+ allocate(local_vertlevel_list(nVertLevels))
+ do i=1,nVertLevels
+ local_vertlevel_list(i) = i
+ end do
+ else
+ allocate(local_vertlevel_list(0))
+ end if
+ allocate(needed_vertlevel_list(nVertLevels))
+ do i=1,nVertLevels
+ needed_vertlevel_list(i) = i
+ end do
+ call dmpar_get_owner_list(domain % dminfo, &
+ size(local_vertlevel_list), size(needed_vertlevel_list), &
+ local_vertlevel_list, needed_vertlevel_list, &
+ sendVertLevelList, recvVertLevelList)
+
+ deallocate(local_vertlevel_list)
+ deallocate(needed_vertlevel_list)
+
+
!
! Read and distribute all fields given ownership lists and exchange lists (maybe already in block?)
!
@@ -464,9 +486,6 @@
end if
- nullify(sendVertLevelList)
- nullify(recvVertLevelList)
-
call read_and_distribute_fields(domain % dminfo, input_obj, domain % blocklist, &
readCellStart, nReadCells, readEdgeStart, nReadEdges, readVertexStart, nReadVertices, &
readVertLevelStart, nReadVertLevels, &
</font>
</pre>