<p><b>duda</b> 2012-04-03 12:01:44 -0600 (Tue, 03 Apr 2012)</p><p>BRANCH COMMIT<br>
<br>
Add logic to initialize the new IO layer from the main framework module, and to use<br>
the new stream layer in the existing mpas_io_input and mpas_io_output modules.<br>
<br>
<br>
M    Makefile<br>
M    mpas_framework.F<br>
M    mpas_io_output.F<br>
M    mpas_io_input.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/omp_blocks/io/src/framework/Makefile
===================================================================
--- branches/omp_blocks/io/src/framework/Makefile        2012-04-03 01:05:22 UTC (rev 1742)
+++ branches/omp_blocks/io/src/framework/Makefile        2012-04-03 18:01:44 UTC (rev 1743)
@@ -29,7 +29,7 @@
 framework: $(OBJS)
         ar -ru libframework.a $(OBJS)
 
-mpas_framework.o: mpas_dmpar.o mpas_io_input.o mpas_io_output.o mpas_grid_types.o mpas_configure.o mpas_timer.o
+mpas_framework.o: mpas_dmpar.o mpas_io_input.o mpas_io_output.o mpas_io.o mpas_grid_types.o mpas_configure.o mpas_timer.o
 
 mpas_configure.o: mpas_dmpar.o
 
@@ -55,9 +55,9 @@
 
 mpas_io_streams.o: mpas_attlist.o mpas_io.o
 
-mpas_io_input.o: mpas_grid_types.o mpas_dmpar.o mpas_block_decomp.o mpas_sort.o mpas_configure.o mpas_timekeeping.o $(ZOLTANOBJ)
+mpas_io_input.o: mpas_grid_types.o mpas_dmpar.o mpas_block_decomp.o mpas_sort.o mpas_configure.o mpas_timekeeping.o mpas_io_streams.o $(ZOLTANOBJ)
 
-mpas_io_output.o: mpas_grid_types.o mpas_dmpar.o mpas_sort.o mpas_configure.o
+mpas_io_output.o: mpas_grid_types.o mpas_dmpar.o mpas_sort.o mpas_configure.o mpas_io_streams.o
 
 clean:
         $(RM) *.o *.mod *.f90 libframework.a

Modified: branches/omp_blocks/io/src/framework/mpas_framework.F
===================================================================
--- branches/omp_blocks/io/src/framework/mpas_framework.F        2012-04-03 01:05:22 UTC (rev 1742)
+++ branches/omp_blocks/io/src/framework/mpas_framework.F        2012-04-03 18:01:44 UTC (rev 1743)
@@ -7,6 +7,7 @@
    use mpas_configure
    use mpas_timer
    use mpas_timekeeping
+   use mpas_io
 
 
    contains
@@ -19,6 +20,9 @@
       type (dm_info), pointer :: dminfo
       type (domain_type), pointer :: domain
 
+      integer :: pio_num_iotasks
+      integer :: pio_stride
+
       allocate(dminfo)
       call mpas_dmpar_init(dminfo)
 
@@ -28,6 +32,13 @@
       
       call mpas_timekeeping_init(config_calendar_type)
 
+      pio_num_iotasks = config_pio_num_iotasks
+      pio_stride = config_pio_stride
+      if (pio_num_iotasks == 0) then
+         pio_num_iotasks = domain % dminfo % nprocs
+      end if
+      call MPAS_io_init(dminfo, pio_num_iotasks, pio_stride)
+
    end subroutine mpas_framework_init
 
    
@@ -38,6 +49,8 @@
       type (dm_info), pointer :: dminfo
       type (domain_type), pointer :: domain
 
+      call MPAS_io_finalize()
+
       call mpas_deallocate_domain(domain)
 
       call mpas_dmpar_finalize(dminfo)

Modified: branches/omp_blocks/io/src/framework/mpas_io_input.F
===================================================================
--- branches/omp_blocks/io/src/framework/mpas_io_input.F        2012-04-03 01:05:22 UTC (rev 1742)
+++ branches/omp_blocks/io/src/framework/mpas_io_input.F        2012-04-03 18:01:44 UTC (rev 1743)
@@ -6,6 +6,7 @@
    use mpas_sort
    use mpas_configure
    use mpas_timekeeping
+   use mpas_io_streams
 
 
 #ifdef HAVE_ZOLTAN
@@ -21,6 +22,8 @@
 
       integer :: time
 
+      type (MPAS_Stream_type) :: io_stream
+
 #include &quot;io_input_obj_decls.inc&quot;
    end type io_input_object
 

Modified: branches/omp_blocks/io/src/framework/mpas_io_output.F
===================================================================
--- branches/omp_blocks/io/src/framework/mpas_io_output.F        2012-04-03 01:05:22 UTC (rev 1742)
+++ branches/omp_blocks/io/src/framework/mpas_io_output.F        2012-04-03 18:01:44 UTC (rev 1743)
@@ -4,6 +4,7 @@
    use mpas_dmpar
    use mpas_sort
    use mpas_configure
+   use mpas_io_streams
 
    integer, parameter :: OUTPUT = 1
    integer, parameter :: RESTART = 2
@@ -12,10 +13,11 @@
    type io_output_object
       integer :: wr_ncid
       character (len=1024) :: filename
+      integer :: stream
 
       integer :: time
 
-      integer :: stream
+      type (MPAS_Stream_type) :: io_stream
 
       integer :: wrDimIDStrLen
 #include &quot;io_output_obj_decls.inc&quot;

</font>
</pre>