<p><b>dwj07@fsu.edu</b> 2012-11-29 13:50:09 -0700 (Thu, 29 Nov 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Some small cleanups to the coupling branch.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/cesm_coupling/src/framework/mpas_configure.F
===================================================================
--- branches/ocean_projects/cesm_coupling/src/framework/mpas_configure.F        2012-11-29 00:06:44 UTC (rev 2327)
+++ branches/ocean_projects/cesm_coupling/src/framework/mpas_configure.F        2012-11-29 20:50:09 UTC (rev 2328)
@@ -12,7 +12,7 @@
implicit none
type (dm_info), intent(in) :: dminfo
- character (len=StrKIND), optional :: nml_filename
+ character (len=*), optional :: nml_filename
character (len=StrKIND) :: filename
Modified: branches/ocean_projects/cesm_coupling/src/framework/mpas_dmpar.F
===================================================================
--- branches/ocean_projects/cesm_coupling/src/framework/mpas_dmpar.F        2012-11-29 00:06:44 UTC (rev 2327)
+++ branches/ocean_projects/cesm_coupling/src/framework/mpas_dmpar.F        2012-11-29 20:50:09 UTC (rev 2328)
@@ -83,9 +83,7 @@
dminfo % comm = mpi_comm
dminfo % using_external_comm = .true.
else
-#ifndef MPAS_CESM
call MPI_Init(mpi_ierr)
-#endif
dminfo % comm = MPI_COMM_WORLD
dminfo % using_external_comm = .false.
end if
@@ -100,7 +98,9 @@
write(0,'(a,i5,a,i5,a)') 'task ', mpi_rank, ' of ', mpi_size, &
' is running'
+#ifndef MPAS_CESM
call open_streams(dminfo % my_proc_id)
+#endif
dminfo % info = MPI_INFO_NULL
#else
Modified: branches/ocean_projects/cesm_coupling/src/framework/mpas_framework.F
===================================================================
--- branches/ocean_projects/cesm_coupling/src/framework/mpas_framework.F        2012-11-29 00:06:44 UTC (rev 2327)
+++ branches/ocean_projects/cesm_coupling/src/framework/mpas_framework.F        2012-11-29 20:50:09 UTC (rev 2328)
@@ -13,7 +13,7 @@
contains
- subroutine mpas_framework_init(dminfo, domain, mpi_comm, nml_filename)
+ subroutine mpas_framework_init(dminfo, domain, mpi_comm, nml_filename, io_system)
implicit none
@@ -21,7 +21,8 @@
type (domain_type), pointer :: domain
integer, intent(in), optional :: mpi_comm
- character (len=StrKIND), optional :: nml_filename
+ character (len=*), optional :: nml_filename
+ type (iosystem_desc_t), optional, pointer :: io_system
integer :: pio_num_iotasks
integer :: pio_stride
@@ -29,11 +30,7 @@
allocate(dminfo)
call mpas_dmpar_init(dminfo, mpi_comm)
- if(present(nml_filename)) then
- call mpas_read_namelist(dminfo, nml_filename)
- else
- call mpas_read_namelist(dminfo)
- end if
+ call mpas_read_namelist(dminfo, nml_filename)
call mpas_allocate_domain(domain, dminfo)
@@ -44,19 +41,20 @@
if (pio_num_iotasks == 0) then
pio_num_iotasks = domain % dminfo % nprocs
end if
- call MPAS_io_init(dminfo, pio_num_iotasks, pio_stride)
+ call MPAS_io_init(dminfo, pio_num_iotasks, pio_stride, io_system)
end subroutine mpas_framework_init
- subroutine mpas_framework_finalize(dminfo, domain)
+ subroutine mpas_framework_finalize(dminfo, domain, io_system)
implicit none
type (dm_info), pointer :: dminfo
type (domain_type), pointer :: domain
+ type (iosystem_desc_t), optional, pointer :: io_system
- call MPAS_io_finalize()
+ call MPAS_io_finalize(io_system)
call mpas_deallocate_domain(domain)
Modified: branches/ocean_projects/cesm_coupling/src/framework/mpas_io.F
===================================================================
--- branches/ocean_projects/cesm_coupling/src/framework/mpas_io.F        2012-11-29 00:06:44 UTC (rev 2327)
+++ branches/ocean_projects/cesm_coupling/src/framework/mpas_io.F        2012-11-29 20:50:09 UTC (rev 2328)
@@ -187,37 +187,34 @@
contains
- subroutine MPAS_io_set_iosys(io_system)
- type (iosystem_desc_t), pointer :: io_system
+ subroutine MPAS_io_init(dminfo, io_task_count, io_task_stride, io_system, ierr)
- pio_iosystem => io_system
- end subroutine MPAS_io_set_iosys
-
- subroutine MPAS_io_init(dminfo, io_task_count, io_task_stride, ierr)
-
implicit none
type (dm_info), intent(in) :: dminfo
integer, intent(in) :: io_task_count
integer, intent(in) :: io_task_stride
+ type (iosystem_desc_t), optional, pointer :: io_system
integer, intent(out), optional :: ierr
if (present(ierr)) ierr = MPAS_IO_NOERR
local_dminfo = dminfo
-#ifndef MPAS_CESM
- call PIO_init(local_dminfo % my_proc_id, & ! comp_rank
- local_dminfo % comm, & ! comp_comm
- io_task_count, & ! num_iotasks
- 0, & ! num_aggregator
- io_task_stride, & ! stride
- PIO_rearr_box, & ! rearr
- pio_iosystem) ! iosystem
+ if(present(io_system)) then
+ pio_iosystem => io_system
+ else
+ call PIO_init(local_dminfo % my_proc_id, & ! comp_rank
+ local_dminfo % comm, & ! comp_comm
+ io_task_count, & ! num_iotasks
+ 0, & ! num_aggregator
+ io_task_stride, & ! stride
+ PIO_rearr_box, & ! rearr
+ pio_iosystem) ! iosystem
+
+ call pio_seterrorhandling(pio_iosystem, PIO_BCAST_ERROR)
+ end if
- call pio_seterrorhandling(pio_iosystem, PIO_BCAST_ERROR)
-#endif
-
end subroutine MPAS_io_init
@@ -3390,10 +3387,11 @@
end subroutine MPAS_io_close
- subroutine MPAS_io_finalize(ierr)
+ subroutine MPAS_io_finalize(io_system, ierr)
implicit none
+ type (iosystem_desc_t), optional, pointer :: io_system
integer, intent(out), optional :: ierr
integer :: pio_ierr
@@ -3416,13 +3414,13 @@
end do
!write(0,*) 'MGD PIO_finalize'
-#ifndef MPAS_CESM
- call PIO_finalize(pio_iosystem, pio_ierr)
- if (pio_ierr /= PIO_noerr) then
- if (present(ierr)) ierr = MPAS_IO_ERR_PIO
- return
+ if(.not.present(io_system)) then
+ call PIO_finalize(pio_iosystem, pio_ierr)
+ if (pio_ierr /= PIO_noerr) then
+ if (present(ierr)) ierr = MPAS_IO_ERR_PIO
+ return
+ end if
end if
-#endif
end subroutine MPAS_io_finalize
Modified: branches/ocean_projects/cesm_coupling/src/framework/streams.c
===================================================================
--- branches/ocean_projects/cesm_coupling/src/framework/streams.c        2012-11-29 00:06:44 UTC (rev 2327)
+++ branches/ocean_projects/cesm_coupling/src/framework/streams.c        2012-11-29 20:50:09 UTC (rev 2328)
@@ -20,7 +20,6 @@
#ifndef MPAS_DEBUG
if(*id == 0){
-#ifndef MPAS_CESM
         sprintf(fname, "log.%4.4i.err", *id);
         fd_err = open(fname,O_CREAT|O_WRONLY|O_TRUNC,0644);
         if (dup2(fd_err, 2) < 0) {
@@ -34,7 +33,6 @@
                 printf("Error duplicating STDOUT</font>
<font color="gray">");
                 return;
         }
-#endif
} else {
         sprintf(fname, "/dev/null", *id);
         fd_err = open(fname,O_CREAT|O_WRONLY|O_TRUNC,0644);
Modified: branches/ocean_projects/cesm_coupling/src/ocean_cesm_driver/ocn_comp_mct.F
===================================================================
--- branches/ocean_projects/cesm_coupling/src/ocean_cesm_driver/ocn_comp_mct.F        2012-11-29 00:06:44 UTC (rev 2327)
+++ branches/ocean_projects/cesm_coupling/src/ocean_cesm_driver/ocn_comp_mct.F        2012-11-29 20:50:09 UTC (rev 2328)
@@ -76,6 +76,7 @@
character(len=StrKIND) :: runtype
type(seq_infodata_type), pointer :: infodata
+ type (iosystem_desc_t), pointer :: io_system
!! MPAS-O Datatypes
type (dm_info), pointer :: dminfo
@@ -137,9 +138,6 @@
integer :: lbnum
-! type (iosystem_desc_t), pointer, private :: io_system
- type (iosystem_desc_t), pointer :: io_system
-
!-----------------------------------------------------------------------
!
! set cdata pointers
@@ -208,9 +206,8 @@
nml_filename = "mpaso.in"
io_system => shr_pio_getiosys(ocnid)
- call mpas_io_set_iosys(io_system)
- call mpas_framework_init(dminfo, domain, mpi_communicator_ocn, nml_filename)
+ call mpas_framework_init(dminfo, domain, mpi_communicator_ocn, nml_filename, io_system)
my_task = dminfo % my_proc_id
call mpas_timer_start("total time")
@@ -711,7 +708,7 @@
call mpas_timer_stop("total time")
call mpas_timer_write()
call mpas_core_finalize(domain)
- call mpas_framework_finalize(dminfo, domain)
+ call mpas_framework_finalize(dminfo, domain, io_system)
end subroutine ocn_final_mct!}}}
</font>
</pre>