<p><b>mpetersen@lanl.gov</b> 2012-10-18 12:13:23 -0600 (Thu, 18 Oct 2012)</p><p>branch commit: partial_bottom_cells   Changed a few names of variables and flags due to Doug's suggestions.  Added config_write_output_on_startup flag.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/partial_bottom_cells/namelist.input.ocean
===================================================================
--- branches/ocean_projects/partial_bottom_cells/namelist.input.ocean        2012-10-17 20:12:09 UTC (rev 2220)
+++ branches/ocean_projects/partial_bottom_cells/namelist.input.ocean        2012-10-18 18:13:23 UTC (rev 2221)
@@ -9,12 +9,13 @@
 /
 &amp;io
    config_input_name = 'grid.nc'
-   config_output_name = 'output..nc'
+   config_output_name = 'output.nc'
    config_restart_name = 'restart.nc'
    config_output_interval = '1_00:00:00'
    config_frames_per_outfile = 1000000
    config_pio_num_iotasks = 0
    config_pio_stride      = 1
+   config_write_output_on_startup = .true.
 /
 &amp;decomposition
    config_number_of_blocks = 0
@@ -32,8 +33,9 @@
    config_rho0 = 1014.65
 /
 &amp;partial_bottom_cells
-   config_alter_ICs_for_pbcs = 'no'
+   config_alter_ICs_for_pbcs = 'off'
    config_min_pbc_fraction = 0.10
+   config_check_ssh_consistency = .true.
    config_check_zlevel_consistency = .false.
 /
 &amp;split_explicit_ts

Modified: branches/ocean_projects/partial_bottom_cells/src/core_ocean/Registry
===================================================================
--- branches/ocean_projects/partial_bottom_cells/src/core_ocean/Registry        2012-10-17 20:12:09 UTC (rev 2220)
+++ branches/ocean_projects/partial_bottom_cells/src/core_ocean/Registry        2012-10-18 18:13:23 UTC (rev 2221)
@@ -21,6 +21,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 integer   io       config_write_output_on_startup   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.
@@ -33,7 +34,8 @@
 namelist logical   grid     config_enforce_zstar_at_restart false
 namelist character partial_bottom_cells config_alter_ICs_for_pbcs no
 namelist real      partial_bottom_cells config_min_pbc_fraction  0.10
-namelist logical   partial_bottom_cells config_check_zlevel_consistency true
+namelist logical   partial_bottom_cells config_check_ssh_consistency true
+namelist logical   partial_bottom_cells config_check_zlevel_consistency false
 namelist integer   split_explicit_ts config_n_ts_iter     2
 namelist integer   split_explicit_ts config_n_bcl_iter_beg   2
 namelist integer   split_explicit_ts config_n_bcl_iter_mid   2

Modified: branches/ocean_projects/partial_bottom_cells/src/core_ocean/mpas_ocn_mpas_core.F
===================================================================
--- branches/ocean_projects/partial_bottom_cells/src/core_ocean/mpas_ocn_mpas_core.F        2012-10-17 20:12:09 UTC (rev 2220)
+++ branches/ocean_projects/partial_bottom_cells/src/core_ocean/mpas_ocn_mpas_core.F        2012-10-18 18:13:23 UTC (rev 2221)
@@ -106,7 +106,7 @@
 
       if (.not. config_do_restart) call setup_sw_test_case(domain)
 
-      if (config_vert_grid_type.ne.'isopycnal') call ocn_init_z_level(domain)
+      if (config_vert_grid_type.ne.'isopycnal') call ocn_init_vert_coord(domain)
 
       call ocn_compute_max_level(domain)
 
@@ -351,7 +351,9 @@
       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_output_on_startup) then
+         call ocn_write_output_frame(output_obj, output_frame, domain)
+      endif
       block_ptr =&gt; domain % blocklist
 
       do while(associated(block_ptr))
@@ -390,8 +392,9 @@
       
          if (mpas_is_alarm_ringing(clock, outputAlarmID, ierr=ierr)) then
             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
+            ! 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.and.config_write_output_on_startup) then
                call mpas_output_state_finalize(output_obj, domain % dminfo)
                call mpas_output_state_init(output_obj, domain, &quot;OUTPUT&quot;, trim(timeStamp))
             end if
@@ -531,8 +534,9 @@
 
    end subroutine mpas_timestep!}}}
 
-   subroutine ocn_init_z_level(domain)!{{{
-   ! Initialize zlevel-type variables
+   subroutine ocn_init_vert_coord(domain)!{{{
+   ! Initialize zlevel-type variables and adjust initial conditions for
+   ! partial bottom cells.
 
       use mpas_grid_types
       use mpas_configure
@@ -681,7 +685,7 @@
                bottomDepth(iCell) = refBottomDepth(maxLevelCell(iCell))
             enddo
 
-          elseif (config_alter_ICs_for_pbcs.eq.'no') then
+          elseif (config_alter_ICs_for_pbcs.eq.'off') then
             ! No action taken.  This is for isopycnal or sigma coordinates,
             !  or if ICs were already altered upon start-up.
 
@@ -693,9 +697,8 @@
           endif
          endif
 
-         if (config_check_zlevel_consistency) then
+         if (config_check_ssh_consistency) then
             do iCell = 1,nCells
-
                ! Check if abs(ssh)&gt;2m.  If so, print warning.
                if (abs(sum(h(1:maxLevelCell(iCell),iCell))-bottomDepth(iCell))&gt;2.0) then
                   write (0,*) ' Warning: abs(sum(h)-bottomDepth)&gt;2m.  Most likely, initial h does not match bottomDepth.'
@@ -703,7 +706,11 @@
                                 iCell, maxLevelCell(iCell), bottomDepth(iCell),sum(h(1:maxLevelCell(iCell),iCell)),bottomDepth(iCell), &amp;
                                 hZLevel(maxLevelCell(iCell)), h(maxLevelCell(iCell),iCell)
                endif
+            enddo
+         endif
 
+         if (config_check_zlevel_consistency) then
+            do iCell = 1,nCells
                ! Check that bottomDepth and maxLevelCell match.  Some older grids do not have the bottomDepth variable.
                if (bottomDepth(iCell) &gt; refBottomDepth(maxLevelCell(iCell)).or. &amp;
                    bottomDepth(iCell) &lt; refBottomDepthTopOfCell(maxLevelCell(iCell))) then
@@ -721,7 +728,7 @@
       block =&gt; block % next
       end do
 
-   end subroutine ocn_init_z_level!}}}
+   end subroutine ocn_init_vert_coord!}}}
 
    subroutine ocn_init_split_timestep(domain)!{{{
    ! Initialize splitting variables

</font>
</pre>