<p><b>dwj07@fsu.edu</b> 2012-02-22 10:41:48 -0700 (Wed, 22 Feb 2012)</p><p>        <br>
        -- BRANCH COMMIT --<br>
<br>
        Adding a fix in split explicit to allow monotonic advection.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_time_integration_split.F        2012-02-22 04:12:00 UTC (rev 1527)
+++ branches/ocean_projects/monotonic_advection/src/core_ocean/mpas_ocn_time_integration_split.F        2012-02-22 17:41:48 UTC (rev 1528)
@@ -716,13 +716,12 @@
          !TDR: at this point, I am suggesting just pushing some of this code into subroutines. 
          !TDR: see comments farther down
 
+         ! dwj: 02/22/12 splitting thickness and tracer tendency computations and halo updates to allow monotonic advection.
          block =&gt; domain % blocklist
          do while (associated(block))
             call ocn_wtop(block % state % time_levs(1) % state,block % state % time_levs(2) % state, block % mesh)
 
             call ocn_tend_h     (block % tend, block % state % time_levs(2) % state , block % diagnostics, block % mesh)
-            call ocn_tend_scalar(block % tend, block % state % time_levs(2) % state , block % diagnostics, block % mesh, dt)
-
             block =&gt; block % next
          end do
 
@@ -733,7 +732,21 @@
             call mpas_dmpar_exch_halo_field2d_real(domain % dminfo, block % tend % h % array(:,:), &amp;
                block % mesh % nVertLevels, block % mesh % nCells, &amp;
                block % parinfo % cellsToSend, block % parinfo % cellsToRecv)
+            block =&gt; block % next
+         end do
+         call mpas_timer_stop(&quot;se halo h&quot;, timer_halo_h)
 
+         block =&gt; domain % blocklist
+         do while (associated(block))
+            call ocn_tend_scalar(block % tend, block % state % time_levs(2) % state , block % diagnostics, block % mesh, dt)
+
+            block =&gt; block % next
+         end do
+
+         ! update halo for thickness and tracer tendencies
+         call mpas_timer_start(&quot;se halo h&quot;, .false., timer_halo_h)
+         block =&gt; domain % blocklist
+         do while (associated(block))
             call mpas_dmpar_exch_halo_field3d_real(domain % dminfo, block % tend % tracers % array(:,:,:), &amp;
                block % tend % num_tracers, block % mesh % nVertLevels, block % mesh % nCells, &amp;
                block % parinfo % cellsToSend, block % parinfo % cellsToRecv)

</font>
</pre>