<p><b>duda</b> 2011-11-14 18:50:07 -0700 (Mon, 14 Nov 2011)</p><p>BRANCH COMMIT<br>
<br>
- Switch from serial netCDF ioform to pNetCDF ioform<br>
- Enable multiple time slices per output file<br>
<br>
<br>
M    src/framework/mpas_io_output.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/pio/src/framework/mpas_io_output.F
===================================================================
--- branches/pio/src/framework/mpas_io_output.F        2011-11-14 22:10:12 UTC (rev 1194)
+++ branches/pio/src/framework/mpas_io_output.F        2011-11-15 01:50:07 UTC (rev 1195)
@@ -6,6 +6,7 @@
    use mpas_configure
    use mpas_timer
    use pio
+   use piolib_mod
    use pio_types
 
    integer, parameter :: OUTPUT = 1
@@ -187,6 +188,7 @@
 
 !MGD-REGISTRY will need to generate compdof info for each combination of dimensions
 !MGD hard-wired for initial PIO testing
+      integer(kind=PIO_Offset) :: pio_time
       integer, dimension(:), pointer :: compdof
       integer, dimension(2) :: dimids2
       integer, dimension(3) :: dimids3
@@ -341,12 +343,8 @@
          dimids2(1) = nVertLevelsGlobal
          dimids2(2) = nCellsGlobal
 
-         dimids3(1) = nVertLevelsGlobal
-         dimids3(2) = nCellsGlobal
-         dimids3(3) = 1                    ! Time dimension
-
          call PIO_initdecomp(output_obj % pio_iosystem, PIO_DOUBLE, &amp;
-                             dimids3, compdof, output_obj % iodesc_nVertLevels_nCells)
+                             dimids2, compdof, output_obj % iodesc_nVertLevels_nCells)
          deallocate(compdof)
 !MGD end PIO_initdecomp call
 
@@ -397,6 +395,11 @@
 
 !include &quot;io_output_fields.inc&quot;
 
+      pio_time = output_obj % time
+write(0,*) 'MGD PIO_setframe ', pio_time
+      call PIO_setframe(output_obj % pioVarIDtheta, pio_time)
+      call PIO_setframe(output_obj % pioVarIDrho, pio_time)
+
 !MGD-REGISTRY will need to generate write calls for each field
 write(0,*) 'MGD PIO_write_darray'
 call mpas_timer_start(&quot;pio theta&quot;)
@@ -408,6 +411,7 @@
            domain % blocklist % diag % rho % array(:,1:domain%blocklist%mesh%nCellsSolve), i1)
 call mpas_timer_stop(&quot;pio rho&quot;)
 
+
       domain % blocklist % mesh % cellsOnCell % array =&gt; cellsOnCell_save
       domain % blocklist % mesh % edgesOnCell % array =&gt; edgesOnCell_save
       domain % blocklist % mesh % verticesOnCell % array =&gt; verticesOnCell_save
@@ -466,7 +470,7 @@
 write(0,*) 'MGD *** calling mpas_io_output_init ***'
 
 write(0,*) 'MGD PIO_createfile'
-      nferr = PIO_createfile(output_obj % pio_iosystem, output_obj % pio_file, PIO_iotype_netcdf, 'pio_output.nc')
+      nferr = PIO_createfile(output_obj % pio_iosystem, output_obj % pio_file, PIO_iotype_pnetcdf, 'pio_output.nc')
  
       if (dminfo % my_proc_id == 0) then
 #ifdef OFFSET64BIT

</font>
</pre>