<p><b>dwj07@fsu.edu</b> 2012-11-06 09:57:21 -0700 (Tue, 06 Nov 2012)</p><p><br>
        -- TRUNK COMMIT --<br>
        core_ocean only<br>
<br>
        2 bug fixes, a comment removal, and a clarification for delsq_vorticity computation.<br>
<br>
        Bug fixes are in FCT advectionm and del4 tracer.<br>
        Comment removal is in split explicit<br>
</p><hr noshade><pre><font color="gray">Modified: trunk/mpas/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_time_integration_split.F        2012-11-05 12:05:48 UTC (rev 2298)
+++ trunk/mpas/src/core_ocean/mpas_ocn_time_integration_split.F        2012-11-06 16:57:21 UTC (rev 2299)
@@ -991,12 +991,6 @@
           = block % state % time_levs(2) % state % u % array(:,:) &amp;
           + block % state % time_levs(2) % state % uBolusGM % array(:,:)
 
-!!!!!!!!!!!!!!!!!!!!!!!!!! mrp
-         ! Recompute wTop with all updated information.  The wTop in stage 3 used 
-         ! the previous h and u before implicit vertical mixing.
-!!!!!!
-! remove:         call ocn_wtop(block % state % time_levs(2) % state,block % state % time_levs(2) % state, block % mesh)
-
          call mpas_reconstruct(block % mesh, block % state % time_levs(2) % state % u % array,          &amp;
                           block % state % time_levs(2) % state % uReconstructX % array,            &amp;
                           block % state % time_levs(2) % state % uReconstructY % array,            &amp;

Modified: trunk/mpas/src/core_ocean/mpas_ocn_tracer_advection_mono.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_tracer_advection_mono.F        2012-11-05 12:05:48 UTC (rev 2298)
+++ trunk/mpas/src/core_ocean/mpas_ocn_tracer_advection_mono.F        2012-11-06 16:57:21 UTC (rev 2299)
@@ -207,8 +207,6 @@
           end do ! i loop over nAdvCellsForEdge
         end do ! iEdge loop
 
-        call mpas_dmpar_exch_halo_field(high_order_horiz_flux_field)
-
         !  low order upwind vertical flux (monotonic and diffused)
         !  Remove low order flux from the high order flux.
         !  Store left over high order flux in high_order_vert_flux array.
@@ -266,8 +264,8 @@
               upwind_tendency(k,iCell) = upwind_tendency(k,iCell) + edgeSignOncell(i, iCell) * flux_upwind * invAreaCell1
 
               ! Accumulate remaining high order fluxes
-              flux_outgoing(k,iCell) = flux_outgoing(k,iCell) + edgeSignOnCell(i, iCell) * high_order_horiz_flux(k, iEdge) * invAreaCell1
-              flux_incoming(k,iCell) = flux_incoming(k,iCell) - edgeSignOnCell(i, iCell) * high_order_horiz_flux(k, iEdge) * invAreaCell1
+              flux_outgoing(k,iCell) = flux_outgoing(k,iCell) + min(0.0_RKIND, edgeSignOnCell(i, iCell) * high_order_horiz_flux(k, iEdge)) * invAreaCell1
+              flux_incoming(k,iCell) = flux_incoming(k,iCell) + max(0.0_RKIND, edgeSignOnCell(i, iCell) * high_order_horiz_flux(k, iEdge)) * invAreaCell1
             end do
           end do
         end do

Modified: trunk/mpas/src/core_ocean/mpas_ocn_tracer_hmix_del4.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_tracer_hmix_del4.F        2012-11-05 12:05:48 UTC (rev 2298)
+++ trunk/mpas/src/core_ocean/mpas_ocn_tracer_hmix_del4.F        2012-11-06 16:57:21 UTC (rev 2299)
@@ -193,7 +193,7 @@
                 
               flux = tracer_turb_flux * invdcEdge
 
-              tend(iTracer, k, iCell) = tend(iTracer, k, iCell) + edgeSignOnCell(i, iCell) * invAreaCell1
+              tend(iTracer, k, iCell) = tend(iTracer, k, iCell) + edgeSignOnCell(i, iCell) * flux * invAreaCell1
             end do
           end do
         end do

Modified: trunk/mpas/src/core_ocean/mpas_ocn_vel_hmix_del4.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_vel_hmix_del4.F        2012-11-05 12:05:48 UTC (rev 2298)
+++ trunk/mpas/src/core_ocean/mpas_ocn_vel_hmix_del4.F        2012-11-06 16:57:21 UTC (rev 2299)
@@ -116,7 +116,7 @@
       integer :: iCell, iVertex
       integer :: nVertices, nVertLevels, nCells, nEdges, nEdgesSolve, vertexDegree
 
-      integer, dimension(:), pointer :: maxLevelEdgeTop, maxLevelVertexBot, &amp;
+      integer, dimension(:), pointer :: maxLevelEdgeTop, maxLevelVertexTop, &amp;
             maxLevelCell, nEdgesOnCell
       integer, dimension(:,:), pointer :: cellsOnEdge, verticesOnEdge, edgeMask, edgesOnVertex, edgesOnCell, edgeSignOnVertex, edgeSignOnCell
 
@@ -141,7 +141,7 @@
       vertexDegree = grid % vertexDegree
 
       maxLevelEdgeTop =&gt; grid % maxLevelEdgeTop % array
-      maxLevelVertexBot =&gt; grid % maxLevelVertexBot % array
+      maxLevelVertexTop =&gt; grid % maxLevelVertexTop % array
       maxLevelCell =&gt; grid % maxLevelCell % array
       cellsOnEdge =&gt; grid % cellsOnEdge % array
       verticesOnEdge =&gt; grid % verticesOnEdge % array
@@ -188,7 +188,7 @@
          invAreaTri1 = 1.0 / areaTriangle(iVertex)
          do i = 1, vertexDegree
             iEdge = edgesOnVertex(i, iVertex)
-            do k = 1, maxLevelVertexBot(iVertex)
+            do k = 1, maxLevelVertexTop(iVertex)
                delsq_vorticity(k, iVertex) = delsq_vorticity(k, iVertex) + edgeSignOnVertex(i, iVertex) * dcEdge(iEdge) * delsq_u(k, iEdge) * invAreaTri1
             end do
          end do

</font>
</pre>