<p><b>dwj07@fsu.edu</b> 2012-06-01 15:26:16 -0600 (Fri, 01 Jun 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Fixing IO layer to read in multiple blocks.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/omp_blocks/multiple_blocks/src/framework/mpas_io_input.F
===================================================================
--- branches/omp_blocks/multiple_blocks/src/framework/mpas_io_input.F        2012-06-01 20:17:58 UTC (rev 1955)
+++ branches/omp_blocks/multiple_blocks/src/framework/mpas_io_input.F        2012-06-01 21:26:16 UTC (rev 1956)
@@ -298,11 +298,11 @@
      call mpas_block_creator_finalize_block_init(domain % blocklist, maxEdges, maxEdges2, vertexDegree, nVertLevels, nCellsSolveField, nEdgesSolveField, nVerticesSolveField, indexToCellID_0Halo, indexToEdgeID_0Halo, indexToVertexID_0Halo)
 
 !     write(6,*) 'initializing input object'
-      block_ptr =&gt; domain % blocklist
-      do while(associated(block_ptr))
-        call mpas_io_input_init(input_obj, block_ptr, domain % dminfo)
-        block_ptr =&gt; block_ptr % next
-      end do
+!     block_ptr =&gt; domain % blocklist
+!     do while(associated(block_ptr))
+      call mpas_io_input_init(input_obj, domain % blocklist, domain % dminfo)
+!       block_ptr =&gt; block_ptr % next
+!     end do
 
       write(6,*) 'getting file attributes'
       call MPAS_readStreamAtt(input_obj % io_stream, 'sphere_radius', r_sphere_radius, ierr)

Modified: branches/omp_blocks/multiple_blocks/src/framework/mpas_io_streams.F
===================================================================
--- branches/omp_blocks/multiple_blocks/src/framework/mpas_io_streams.F        2012-06-01 20:17:58 UTC (rev 1955)
+++ branches/omp_blocks/multiple_blocks/src/framework/mpas_io_streams.F        2012-06-01 21:26:16 UTC (rev 1956)
@@ -1406,16 +1406,17 @@
                   ! Distribute field to multiple blocks
                   field_1dint_ptr =&gt; field_cursor % int1dField
                   i = 1
-                  if (trim(field_1dint_ptr % dimNames(1)) == 'nCells') then
-                     ownedSize = field_1dint_ptr % block % mesh % nCellsSolve
-                  else if (trim(field_1dint_ptr % dimNames(1)) == 'nEdges') then
-                     ownedSize = field_1dint_ptr % block % mesh % nEdgesSolve
-                  else if (trim(field_1dint_ptr % dimNames(1)) == 'nVertices') then
-                     ownedSize = field_1dint_ptr % block % mesh % nVerticesSolve
-                  else
-                     ownedSize = field_1dint_ptr % dimSizes(1)
-                  end if
                   do while (associated(field_1dint_ptr))
+                     if (trim(field_1dint_ptr % dimNames(1)) == 'nCells') then
+                        ownedSize = field_1dint_ptr % block % mesh % nCellsSolve
+                     else if (trim(field_1dint_ptr % dimNames(1)) == 'nEdges') then
+                        ownedSize = field_1dint_ptr % block % mesh % nEdgesSolve
+                     else if (trim(field_1dint_ptr % dimNames(1)) == 'nVertices') then
+                        ownedSize = field_1dint_ptr % block % mesh % nVerticesSolve
+                     else
+                        ownedSize = field_1dint_ptr % dimSizes(1)
+                     end if
+
                      if (field_cursor % int1dField % isSuperArray) then
                         field_1dint_ptr % array(j) = int0d_temp
                      else
@@ -1483,16 +1484,17 @@
                   ! Distribute field to multiple blocks
                   field_2dint_ptr =&gt; field_cursor % int2dField
                   i = 1
-                  if (trim(field_2dint_ptr % dimNames(2)) == 'nCells') then
-                     ownedSize = field_2dint_ptr % block % mesh % nCellsSolve
-                  else if (trim(field_2dint_ptr % dimNames(2)) == 'nEdges') then
-                     ownedSize = field_2dint_ptr % block % mesh % nEdgesSolve
-                  else if (trim(field_2dint_ptr % dimNames(2)) == 'nVertices') then
-                     ownedSize = field_2dint_ptr % block % mesh % nVerticesSolve
-                  else
-                     ownedSize = field_2dint_ptr % dimSizes(2)
-                  end if
                   do while (associated(field_2dint_ptr))
+                     if (trim(field_2dint_ptr % dimNames(2)) == 'nCells') then
+                        ownedSize = field_2dint_ptr % block % mesh % nCellsSolve
+                     else if (trim(field_2dint_ptr % dimNames(2)) == 'nEdges') then
+                        ownedSize = field_2dint_ptr % block % mesh % nEdgesSolve
+                     else if (trim(field_2dint_ptr % dimNames(2)) == 'nVertices') then
+                        ownedSize = field_2dint_ptr % block % mesh % nVerticesSolve
+                     else
+                        ownedSize = field_2dint_ptr % dimSizes(2)
+                     end if
+
                      if (field_cursor % int2dField % isSuperArray) then
                         field_2dint_ptr % array(j,1:ownedSize) = int1d_temp(i:i+ownedSize-1)
                      else
@@ -1564,16 +1566,17 @@
                   ! Distribute field to multiple blocks
                   field_3dint_ptr =&gt; field_cursor % int3dField
                   i = 1
-                  if (trim(field_3dint_ptr % dimNames(3)) == 'nCells') then
-                     ownedSize = field_3dint_ptr % block % mesh % nCellsSolve
-                  else if (trim(field_3dint_ptr % dimNames(3)) == 'nEdges') then
-                     ownedSize = field_3dint_ptr % block % mesh % nEdgesSolve
-                  else if (trim(field_3dint_ptr % dimNames(3)) == 'nVertices') then
-                     ownedSize = field_3dint_ptr % block % mesh % nVerticesSolve
-                  else
-                     ownedSize = field_3dint_ptr % dimSizes(3)
-                  end if
                   do while (associated(field_3dint_ptr))
+                     if (trim(field_3dint_ptr % dimNames(3)) == 'nCells') then
+                        ownedSize = field_3dint_ptr % block % mesh % nCellsSolve
+                     else if (trim(field_3dint_ptr % dimNames(3)) == 'nEdges') then
+                        ownedSize = field_3dint_ptr % block % mesh % nEdgesSolve
+                     else if (trim(field_3dint_ptr % dimNames(3)) == 'nVertices') then
+                        ownedSize = field_3dint_ptr % block % mesh % nVerticesSolve
+                     else
+                        ownedSize = field_3dint_ptr % dimSizes(3)
+                     end if
+
                      if (field_cursor % int3dField % isSuperArray) then
                         field_3dint_ptr % array(j,:,1:ownedSize) = int2d_temp(:,i:i+ownedSize-1)
                      else
@@ -1663,16 +1666,18 @@
                   ! Distribute field to multiple blocks
                   field_1dreal_ptr =&gt; field_cursor % real1dField
                   i = 1
-                  if (trim(field_1dreal_ptr % dimNames(1)) == 'nCells') then
-                     ownedSize = field_1dreal_ptr % block % mesh % nCellsSolve
-                  else if (trim(field_1dreal_ptr % dimNames(1)) == 'nEdges') then
-                     ownedSize = field_1dreal_ptr % block % mesh % nEdgesSolve
-                  else if (trim(field_1dreal_ptr % dimNames(1)) == 'nVertices') then
-                     ownedSize = field_1dreal_ptr % block % mesh % nVerticesSolve
-                  else
-                     ownedSize = field_1dreal_ptr % dimSizes(1)
-                  end if
+
                   do while (associated(field_1dreal_ptr))
+                     if (trim(field_1dreal_ptr % dimNames(1)) == 'nCells') then
+                        ownedSize = field_1dreal_ptr % block % mesh % nCellsSolve
+                     else if (trim(field_1dreal_ptr % dimNames(1)) == 'nEdges') then
+                        ownedSize = field_1dreal_ptr % block % mesh % nEdgesSolve
+                     else if (trim(field_1dreal_ptr % dimNames(1)) == 'nVertices') then
+                        ownedSize = field_1dreal_ptr % block % mesh % nVerticesSolve
+                     else
+                        ownedSize = field_1dreal_ptr % dimSizes(1)
+                     end if
+
                      if (field_cursor % real1dField % isSuperArray) then
                         field_1dreal_ptr % array(j) = real0d_temp
                      else
@@ -1740,16 +1745,17 @@
                   ! Distribute field to multiple blocks
                   field_2dreal_ptr =&gt; field_cursor % real2dField
                   i = 1
-                  if (trim(field_2dreal_ptr % dimNames(2)) == 'nCells') then
-                     ownedSize = field_2dreal_ptr % block % mesh % nCellsSolve
-                  else if (trim(field_2dreal_ptr % dimNames(2)) == 'nEdges') then
-                     ownedSize = field_2dreal_ptr % block % mesh % nEdgesSolve
-                  else if (trim(field_2dreal_ptr % dimNames(2)) == 'nVertices') then
-                     ownedSize = field_2dreal_ptr % block % mesh % nVerticesSolve
-                  else
-                     ownedSize = field_2dreal_ptr % dimSizes(2)
-                  end if
                   do while (associated(field_2dreal_ptr))
+                     if (trim(field_2dreal_ptr % dimNames(2)) == 'nCells') then
+                        ownedSize = field_2dreal_ptr % block % mesh % nCellsSolve
+                     else if (trim(field_2dreal_ptr % dimNames(2)) == 'nEdges') then
+                        ownedSize = field_2dreal_ptr % block % mesh % nEdgesSolve
+                     else if (trim(field_2dreal_ptr % dimNames(2)) == 'nVertices') then
+                        ownedSize = field_2dreal_ptr % block % mesh % nVerticesSolve
+                     else
+                        ownedSize = field_2dreal_ptr % dimSizes(2)
+                     end if
+
                      if (field_cursor % real2dField % isSuperArray) then
                         field_2dreal_ptr % array(j,1:ownedSize) = real1d_temp(i:i+ownedSize-1)
                      else
@@ -1824,16 +1830,17 @@
                   ! Distribute field to multiple blocks
                   field_3dreal_ptr =&gt; field_cursor % real3dField
                   i = 1
-                  if (trim(field_3dreal_ptr % dimNames(3)) == 'nCells') then
-                     ownedSize = field_3dreal_ptr % block % mesh % nCellsSolve
-                  else if (trim(field_3dreal_ptr % dimNames(3)) == 'nEdges') then
-                     ownedSize = field_3dreal_ptr % block % mesh % nEdgesSolve
-                  else if (trim(field_3dreal_ptr % dimNames(3)) == 'nVertices') then
-                     ownedSize = field_3dreal_ptr % block % mesh % nVerticesSolve
-                  else
-                     ownedSize = field_3dreal_ptr % dimSizes(3)
-                  end if
                   do while (associated(field_3dreal_ptr))
+                     if (trim(field_3dreal_ptr % dimNames(3)) == 'nCells') then
+                        ownedSize = field_3dreal_ptr % block % mesh % nCellsSolve
+                     else if (trim(field_3dreal_ptr % dimNames(3)) == 'nEdges') then
+                        ownedSize = field_3dreal_ptr % block % mesh % nEdgesSolve
+                     else if (trim(field_3dreal_ptr % dimNames(3)) == 'nVertices') then
+                        ownedSize = field_3dreal_ptr % block % mesh % nVerticesSolve
+                     else
+                        ownedSize = field_3dreal_ptr % dimSizes(3)
+                     end if
+
                      if (field_cursor % real3dField % isSuperArray) then
 !write(0,*) 'DEBUGGING : copying the temporary array'
                         field_3dreal_ptr % array(j,:,1:ownedSize) = real2d_temp(:,i:i+ownedSize-1)

</font>
</pre>