<p><b>duda</b> 2012-03-23 15:02:31 -0600 (Fri, 23 Mar 2012)</p><p>BRANCH COMMIT<br>
<br>
Fix logic in tests for matching I/O decompositions to avoid unnecessarily <br>
re-computing any identical decompositions.<br>
<br>
<br>
M src/framework/mpas_io.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/omp_blocks/io/src/framework/mpas_io.F
===================================================================
--- branches/omp_blocks/io/src/framework/mpas_io.F        2012-03-23 20:53:51 UTC (rev 1705)
+++ branches/omp_blocks/io/src/framework/mpas_io.F        2012-03-23 21:02:31 UTC (rev 1706)
@@ -962,7 +962,10 @@
write(0,*) 'Number of dimensions matches...'
do i=1,field_cursor % fieldhandle % ndims
write(0,*) 'Checking dimension ', decomp_cursor % decomphandle % dims(i), field_cursor % fieldhandle % dims(i) % dimsize
- if (decomp_cursor % decomphandle % dims(i) /= field_cursor % fieldhandle % dims(i) % dimsize) exit DECOMP_LOOP
+ if (decomp_cursor % decomphandle % dims(i) /= field_cursor % fieldhandle % dims(i) % dimsize) then
+ decomp_cursor => decomp_cursor % next
+ cycle DECOMP_LOOP
+ end if
end do
! Type and dimensions match... what about indices?
@@ -978,7 +981,10 @@
do i=1,field_cursor % fieldhandle % ndims
if (field_cursor % fieldhandle % dims(i) % is_unlimited_dim) cycle
write(0,*) 'Checking dimension ', decomp_cursor % decomphandle % dims(i), field_cursor % fieldhandle % dims(i) % dimsize
- if (decomp_cursor % decomphandle % dims(i) /= field_cursor % fieldhandle % dims(i) % dimsize) exit DECOMP_LOOP
+ if (decomp_cursor % decomphandle % dims(i) /= field_cursor % fieldhandle % dims(i) % dimsize) then
+ decomp_cursor => decomp_cursor % next
+ cycle DECOMP_LOOP
+ end if
end do
! Type and dimensions match... what about indices?
</font>
</pre>