<p><b>mpetersen@lanl.gov</b> 2012-05-10 12:59:24 -0600 (Thu, 10 May 2012)</p><p>BRANCH COMMIT: Add the flag config_write_initial_output to all cores.  If true (default) an output file is written upon start-up.  For testing, this was compiled with ocean, sw, hyd_atmos, nhyd_atmos cores, and test ran with 120km global ocean core run.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/first_output_optional/namelist.input.hyd_atmos
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.hyd_atmos        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.hyd_atmos        2012-05-10 18:59:24 UTC (rev 1892)
@@ -28,6 +28,7 @@
    config_frames_per_outfile = 0
    config_pio_num_iotasks = 0
    config_pio_stride      = 1
+   config_write_initial_output = .true.
 /
 
 &amp;decomposition

Modified: branches/ocean_projects/first_output_optional/namelist.input.init_nhyd_atmos
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.init_nhyd_atmos        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.init_nhyd_atmos        2012-05-10 18:59:24 UTC (rev 1892)
@@ -37,6 +37,7 @@
    config_output_name        = 'x1.40962.init.2010-10-23.nc'
    config_pio_num_iotasks    = 0
    config_pio_stride         = 1
+   config_write_initial_output = .true.
 /
 
 &amp;decomposition

Modified: branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos        2012-05-10 18:59:24 UTC (rev 1892)
@@ -47,6 +47,7 @@
    config_frames_per_outfile = 1
    config_pio_num_iotasks = 0
    config_pio_stride      = 1
+   config_write_initial_output = .true.
 /
    config_sfc_update_name = 'sfc_update.nc'
 

Modified: branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_jw
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_jw        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_jw        2012-05-10 18:59:24 UTC (rev 1892)
@@ -44,6 +44,7 @@
    config_restart_name = 'restart.nc'
    config_pio_num_iotasks = 0
    config_pio_stride      = 1
+   config_write_initial_output = .true.
 /
 
 &amp;decomposition

Modified: branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_mtn_wave
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_mtn_wave        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_mtn_wave        2012-05-10 18:59:24 UTC (rev 1892)
@@ -40,6 +40,7 @@
    config_frames_per_outfile = 0
    config_pio_num_iotasks = 0
    config_pio_stride      = 1
+   config_write_initial_output = .true.
 /
 
 &amp;decomposition

Modified: branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_squall
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_squall        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.nhyd_atmos_squall        2012-05-10 18:59:24 UTC (rev 1892)
@@ -40,6 +40,7 @@
    config_frames_per_outfile = 0
    config_pio_num_iotasks = 0
    config_pio_stride      = 1
+   config_write_initial_output = .true.
 /
 
 &amp;decomposition

Modified: branches/ocean_projects/first_output_optional/namelist.input.ocean
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.ocean        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.ocean        2012-05-10 18:59:24 UTC (rev 1892)
@@ -15,6 +15,7 @@
    config_frames_per_outfile = 1000000
    config_pio_num_iotasks = 0
    config_pio_stride      = 1
+   config_write_initial_output = .true.
 /
 &amp;decomposition
    config_number_of_blocks = 0

Modified: branches/ocean_projects/first_output_optional/namelist.input.sw
===================================================================
--- branches/ocean_projects/first_output_optional/namelist.input.sw        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/namelist.input.sw        2012-05-10 18:59:24 UTC (rev 1892)
@@ -27,6 +27,7 @@
    config_frames_per_outfile = 0
    config_pio_num_iotasks = 0
    config_pio_stride      = 1
+   config_write_initial_output = .true.
 /
 &amp;decomposition
    config_number_of_blocks = 0

Modified: branches/ocean_projects/first_output_optional/src/core_hyd_atmos/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_hyd_atmos/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_hyd_atmos/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -29,6 +29,7 @@
 namelist integer   io       config_frames_per_outfile   0
 namelist integer   io       config_pio_num_iotasks      0 
 namelist integer   io       config_pio_stride           1
+namelist logical   io       config_write_initial_output true
 namelist character decomposition config_block_decomp_file_prefix  graph.info.part.
 namelist integer   decomposition config_number_of_blocks          0
 namelist logical   decomposition config_explicit_proc_decomp      .false.

Modified: branches/ocean_projects/first_output_optional/src/core_hyd_atmos/mpas_atmh_mpas_core.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_hyd_atmos/mpas_atmh_mpas_core.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_hyd_atmos/mpas_atmh_mpas_core.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -80,7 +80,9 @@
       call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)
       write(0,*) 'Initial time ', trim(timeStamp)
 
-      call atmh_write_output_frame(output_obj, output_frame, domain)
+      if (config_write_initial_output) then
+         call atmh_write_output_frame(output_obj, output_frame, domain)
+      end if
    
       ! During integration, time level 1 stores the model state at the beginning of the
       !   time step, and time level 2 stores the state advanced dt in time by timestep(...)
@@ -103,7 +105,9 @@
             call mpas_reset_clock_alarm(clock, outputAlarmID, ierr=ierr)
             ! output_frame will always be &gt; 1 here unless it was reset after the maximum number of frames per outfile was reached
             if(output_frame == 1) then
-               call mpas_output_state_finalize(output_obj, domain % dminfo)
+               if (config_write_initial_output) then
+                  call mpas_output_state_finalize(output_obj, domain % dminfo)
+               end if
                call mpas_output_state_init(output_obj, domain, &quot;OUTPUT&quot;, trim(timeStamp)) 
             end if
             call atmh_write_output_frame(output_obj, output_frame, domain)

Modified: branches/ocean_projects/first_output_optional/src/core_init_nhyd_atmos/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_init_nhyd_atmos/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_init_nhyd_atmos/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -31,6 +31,7 @@
 namelist integer   io         config_frames_per_outfile   0
 namelist integer   io         config_pio_num_iotasks      0 
 namelist integer   io         config_pio_stride           1
+namelist logical   io       config_write_initial_output true
 namelist character decomposition config_block_decomp_file_prefix  graph.info.part.
 namelist integer   decomposition config_number_of_blocks          0
 namelist logical   decomposition config_explicit_proc_decomp      .false.

Modified: branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -46,6 +46,7 @@
 namelist integer   io         config_frames_per_outfile   0
 namelist integer   io         config_pio_num_iotasks      0 
 namelist integer   io         config_pio_stride           1
+namelist logical   io       config_write_initial_output true
 namelist character decomposition config_block_decomp_file_prefix  graph.info.part.
 namelist integer   decomposition config_number_of_blocks          0
 namelist logical   decomposition config_explicit_proc_decomp      .false.

Modified: branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/mpas_atm_mpas_core.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/mpas_atm_mpas_core.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_nhyd_atmos/mpas_atm_mpas_core.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -249,7 +249,9 @@
       ! Eventually, dt should be domain specific
       dt = config_dt
 
-      call atm_write_output_frame(output_obj, output_frame, domain)
+      if (config_write_initial_output) then
+         call atm_write_output_frame(output_obj, output_frame, domain)
+      end if
 
       ! During integration, time level 1 stores the model state at the beginning of the
       !   time step, and time level 2 stores the state advanced dt in time by timestep(...)
@@ -287,7 +289,9 @@
             call mpas_reset_clock_alarm(clock, outputAlarmID, ierr=ierr)
             ! output_frame will always be &gt; 1 here unless it was reset after the maximum number of frames per outfile was reached
             if(output_frame == 1) then
-               call mpas_output_state_finalize(output_obj, domain % dminfo)
+               if (config_write_initial_output) then
+                  call mpas_output_state_finalize(output_obj, domain % dminfo)
+               end if
                call mpas_output_state_init(output_obj, domain, &quot;OUTPUT&quot;, trim(timeStamp))
             end if
             call atm_write_output_frame(output_obj, output_frame, domain)

Modified: branches/ocean_projects/first_output_optional/src/core_ocean/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_ocean/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_ocean/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -20,6 +20,7 @@
 namelist integer   io       config_frames_per_outfile  0
 namelist integer   io       config_pio_num_iotasks      0 
 namelist integer   io       config_pio_stride           1
+namelist logical   io       config_write_initial_output true
 namelist character decomposition config_block_decomp_file_prefix  graph.info.part.
 namelist integer   decomposition config_number_of_blocks          0
 namelist logical   decomposition config_explicit_proc_decomp      .false.
@@ -208,9 +209,9 @@
 var persistent real    salinityRestore ( nCells ) 0 iro salinityRestore mesh - -
 
 % mrp trying to figure out why these do not appear
-var persistent real    windStressMonthly ( nMonths nEdges ) 0 iro windStressMonthly mesh - -
-var persistent real    temperatureRestoreMonthly ( nMonths nCells ) 0 iro temperatureRestoreMonthly mesh - -
-var persistent real    salinityRestoreMonthly ( nMonths nCells ) 0 iro salinityRestoreMonthly mesh - -
+var persistent real    windStressMonthly ( nMonths nEdges ) 0 - windStressMonthly mesh - -
+var persistent real    temperatureRestoreMonthly ( nMonths nCells ) 0 - temperatureRestoreMonthly mesh - -
+var persistent real    salinityRestoreMonthly ( nMonths nCells ) 0 - salinityRestoreMonthly mesh - -
 
 % Prognostic variables: read from input, saved in restart, and written to output
 var persistent real    u ( nVertLevels nEdges Time ) 2 ir u state - -

Modified: branches/ocean_projects/first_output_optional/src/core_ocean/mpas_ocn_mpas_core.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_ocean/mpas_ocn_mpas_core.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_ocean/mpas_ocn_mpas_core.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -351,7 +351,10 @@
       call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)
       write(0,*) 'Initial time ', trim(timeStamp)
 
-      call ocn_write_output_frame(output_obj, output_frame, domain)
+      if (config_write_initial_output) then
+         call ocn_write_output_frame(output_obj, output_frame, domain)
+      end if
+
       block_ptr =&gt; domain % blocklist
 
       do while(associated(block_ptr))
@@ -388,7 +391,9 @@
             call mpas_reset_clock_alarm(clock, outputAlarmID, ierr=ierr)
             ! output_frame will always be &gt; 1 here unless it was reset after the maximum number of frames per outfile was reached
             if(output_frame == 1) then
-               call mpas_output_state_finalize(output_obj, domain % dminfo)
+               if (config_write_initial_output) then
+                  call mpas_output_state_finalize(output_obj, domain % dminfo)
+               end if
                call mpas_output_state_init(output_obj, domain, &quot;OUTPUT&quot;, trim(timeStamp))
             end if
 

Modified: branches/ocean_projects/first_output_optional/src/core_sw/Registry
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_sw/Registry        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_sw/Registry        2012-05-10 18:59:24 UTC (rev 1892)
@@ -28,6 +28,7 @@
 namelist integer     io        config_frames_per_outfile    0
 namelist integer     io        config_pio_num_iotasks       0 
 namelist integer     io        config_pio_stride            1
+namelist logical     io       config_write_initial_output true
 namelist character   decomposition config_block_decomp_file_prefix  graph.info.part.
 namelist integer     decomposition config_number_of_blocks          0
 namelist logical     decomposition config_explicit_proc_decomp      .false.

Modified: branches/ocean_projects/first_output_optional/src/core_sw/mpas_sw_mpas_core.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/core_sw/mpas_sw_mpas_core.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/core_sw/mpas_sw_mpas_core.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -168,7 +168,9 @@
       call mpas_get_time(curr_time=currTime, dateTimeString=timeStamp, ierr=ierr)         
       write(0,*) 'Initial timestep ', trim(timeStamp)
 
-      call write_output_frame(output_obj, output_frame, domain)
+      if (config_write_initial_output) then
+         call write_output_frame(output_obj, output_frame, domain)
+      end if
 
       ! During integration, time level 1 stores the model state at the beginning of the
       !   time step, and time level 2 stores the state advanced dt in time by timestep(...)
@@ -195,7 +197,9 @@
             call mpas_reset_clock_alarm(clock, outputAlarmID, ierr=ierr)
             ! output_frame will always be &gt; 1 here unless it was reset after the maximum number of frames per outfile was reached
             if(output_frame == 1) then
-               call mpas_output_state_finalize(output_obj, domain % dminfo)
+               if (config_write_initial_output) then
+                  call mpas_output_state_finalize(output_obj, domain % dminfo)
+               end if
                call mpas_output_state_init(output_obj, domain, &quot;OUTPUT&quot;, trim(timeStamp))
             end if
             call write_output_frame(output_obj, output_frame, domain)

Modified: branches/ocean_projects/first_output_optional/src/driver/mpas_subdriver.F
===================================================================
--- branches/ocean_projects/first_output_optional/src/driver/mpas_subdriver.F        2012-05-10 17:05:21 UTC (rev 1891)
+++ branches/ocean_projects/first_output_optional/src/driver/mpas_subdriver.F        2012-05-10 18:59:24 UTC (rev 1892)
@@ -44,10 +44,12 @@
       !
       output_frame = 1
 
-      if(config_frames_per_outfile &gt; 0) then
-         call mpas_output_state_init(output_obj, domain, &quot;OUTPUT&quot;, trim(timeStamp))
-      else
-         call mpas_output_state_init(output_obj, domain, &quot;OUTPUT&quot;)         
+      if (config_write_initial_output) then
+         if(config_frames_per_outfile &gt; 0) then
+            call mpas_output_state_init(output_obj, domain, &quot;OUTPUT&quot;, trim(timeStamp))
+         else
+            call mpas_output_state_init(output_obj, domain, &quot;OUTPUT&quot;)         
+         end if
       end if
 
 

</font>
</pre>