<p><b>dwj07@fsu.edu</b> 2012-04-16 20:14:19 -0600 (Mon, 16 Apr 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Turning off writing of grid data with every frame of an output file.<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-04-16 21:57:31 UTC (rev 1781)
+++ branches/omp_blocks/io/src/framework/mpas_io.F        2012-04-17 02:14:19 UTC (rev 1782)
@@ -1177,6 +1177,7 @@
       !
       ! Check whether the field has been defined
       !
+      write(0,*) 'Checking if field is define'
       field_cursor =&gt; handle % fieldlist_head
       do while (associated(field_cursor))
          if (trim(fieldname) == trim(field_cursor % fieldhandle % fieldname)) then
@@ -1193,6 +1194,7 @@
       !
       ! Check that we have a decomposition for this field
       !
+      write(0,*) 'Checking for decomposition'
       if (.not.present(intVal) .and. .not.present(realVal) .and. .not.present(charVal)) then
          if (.not. associated(field_cursor % fieldhandle % decomp)) then
             if (present(ierr)) ierr = MPAS_IO_ERR_NO_DECOMP
@@ -1202,6 +1204,7 @@
 
 !!!! Assume array was already allocated by the user
 
+      write(0,*) 'Checking for unlimited dim'
       if (field_cursor % fieldhandle % has_unlimited_dim) then
          call PIO_setframe(field_cursor % fieldhandle % field_desc, handle % frame_number)
          start1(1) = handle % frame_number
@@ -1212,19 +1215,23 @@
          count2(2) = 1
       end if
 
+      write(0,*) 'Checking for real, int, char, etc'
       if (present(realVal)) then
+         write (0,*) '  value is real'
          if (field_cursor % fieldhandle % has_unlimited_dim) then
             pio_ierr = PIO_get_var(handle % pio_file, field_cursor % fieldhandle % field_desc, start1, realVal)
          else
             pio_ierr = PIO_get_var(handle % pio_file, field_cursor % fieldhandle % field_desc, realVal)
          end if
       else if (present(intVal)) then
+         write (0,*) '  value is int'
          if (field_cursor % fieldhandle % has_unlimited_dim) then
             pio_ierr = PIO_get_var(handle % pio_file, field_cursor % fieldhandle % field_desc, start1, intVal)
          else
             pio_ierr = PIO_get_var(handle % pio_file, field_cursor % fieldhandle % field_desc, intVal)
          end if
       else if (present(charVal)) then
+         write (0,*) '  value is char'
          if (field_cursor % fieldhandle % has_unlimited_dim) then
             count2(1) = field_cursor % fieldhandle % dims(1) % dimsize
             pio_ierr = PIO_get_var(handle % pio_file, field_cursor % fieldhandle % fieldid, start2, count2, tempchar)
@@ -1233,30 +1240,40 @@
             pio_ierr = PIO_get_var(handle % pio_file, field_cursor % fieldhandle % field_desc, charVal)
          end if
       else if (present(realArray1d)) then
+         write (0,*) '  value is real1'
          call PIO_read_darray(handle % pio_file, field_cursor % fieldhandle % field_desc, field_cursor % fieldhandle % decomp % pio_iodesc, &amp;
                               realArray1d, pio_ierr)
       else if (present(realArray2d)) then
+         write (0,*) '  value is real2'
          call PIO_read_darray(handle % pio_file, field_cursor % fieldhandle % field_desc, field_cursor % fieldhandle % decomp % pio_iodesc, &amp;
                               realArray2d, pio_ierr)
       else if (present(realArray3d)) then
+         write (0,*) '  value is real3'
          call PIO_read_darray(handle % pio_file, field_cursor % fieldhandle % field_desc, field_cursor % fieldhandle % decomp % pio_iodesc, &amp;
                               realArray3d, pio_ierr)
       else if (present(realArray4d)) then
+         write (0,*) '  value is real4'
          call PIO_read_darray(handle % pio_file, field_cursor % fieldhandle % field_desc, field_cursor % fieldhandle % decomp % pio_iodesc, &amp;
                               realArray4d, pio_ierr)
       else if (present(intArray1d)) then
+         write (0,*) '  value is int1'
          call PIO_read_darray(handle % pio_file, field_cursor % fieldhandle % field_desc, field_cursor % fieldhandle % decomp % pio_iodesc, &amp;
                               intArray1d, pio_ierr)
       else if (present(intArray2d)) then
+         write (0,*) '  value is int2'
          call PIO_read_darray(handle % pio_file, field_cursor % fieldhandle % field_desc, field_cursor % fieldhandle % decomp % pio_iodesc, &amp;
                               intArray2d, pio_ierr)
       else if (present(intArray3d)) then
+         write (0,*) '  value is int3'
          call PIO_read_darray(handle % pio_file, field_cursor % fieldhandle % field_desc, field_cursor % fieldhandle % decomp % pio_iodesc, &amp;
                               intArray3d, pio_ierr)
       else if (present(intArray4d)) then
+         write (0,*) '  value is int4'
          call PIO_read_darray(handle % pio_file, field_cursor % fieldhandle % field_desc, field_cursor % fieldhandle % decomp % pio_iodesc, &amp;
                               intArray4d, pio_ierr)
       end if
+
+      write (0,*) 'Checking for error'
       if (pio_ierr /= PIO_noerr) then
          if (present(ierr)) ierr = MPAS_IO_ERR_PIO
          return
@@ -1568,6 +1585,9 @@
          start2(1) = 1
          start2(2) = handle % frame_number
          count2(2) = 1
+      else if (handle % frame_number &gt; 1) then
+         if(present(ierr)) ierr = MPAS_IO_NOERR
+         return
       end if
 
       if (present(realVal)) then

</font>
</pre>