<p><b>mhecht@lanl.gov</b> 2010-05-03 12:04:00 -0600 (Mon, 03 May 2010)</p><p>Including 4th order scheme now.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/port_adv_mwh/src/core_sw/module_time_integration.F
===================================================================
--- branches/ocean_projects/port_adv_mwh/src/core_sw/module_time_integration.F        2010-04-30 20:54:54 UTC (rev 233)
+++ branches/ocean_projects/port_adv_mwh/src/core_sw/module_time_integration.F        2010-05-03 18:04:00 UTC (rev 234)
@@ -601,6 +601,41 @@
             end if
          end do
 
+      else  if (config_tracer_adv_order == 4) then
+
+         do iEdge=1,grid%nEdges
+            cell1 = cellsOnEdge(1,iEdge)
+            cell2 = cellsOnEdge(2,iEdge)
+            if (cell1 &gt; 0 .and. cell2 &gt; 0) then
+
+               do k=1,grid % nVertLevels
+
+                  do iTracer=3,grid % nTracers
+                     d2fdx2_cell1 = deriv_two(1,1,iEdge) * tracer_new(iTracer,k,cell1)
+                     d2fdx2_cell2 = deriv_two(1,2,iEdge) * tracer_new(iTracer,k,cell2)
+                     do i=1, grid % nEdgesOnCell % array (cell1)
+                        if ( grid % CellsOnCell % array (i,cell1) &gt; 0) &amp;
+                             d2fdx2_cell1 = d2fdx2_cell1 + &amp;
+                             deriv_two(i+1,1,iEdge) * tracer_new(iTracer,k,grid % CellsOnCell % array (i,cell1))
+                     end do
+                     do i=1, grid % nEdgesOnCell % array (cell2)
+                        if ( grid % CellsOnCell % array (i,cell2) &gt; 0) &amp;
+                             d2fdx2_cell2 = d2fdx2_cell2 + &amp;
+                             deriv_two(i+1,2,iEdge) * tracer_new(iTracer,k,grid % CellsOnCell % array (i,cell2))
+                     end do
+
+                     flux = dvEdge(iEdge) *  s % u % array(k,iEdge) * s % h_edge % array(k,iEdge) * (          &amp;
+                          0.5*(tracer_new(iTracer,k,cell1) + tracer_new(iTracer,k,cell2))      &amp;
+                          -(dcEdge(iEdge) **2) * (d2fdx2_cell1 + d2fdx2_cell2) / 12. )
+
+                     tracer_tend(iTracer,k,cell1) = tracer_tend(iTracer,k,cell1) - flux/areaCell(cell1)
+                     tracer_tend(iTracer,k,cell2) = tracer_tend(iTracer,k,cell2) + flux/areaCell(cell2)
+                  end do
+               end do
+            end if
+
+         end do
+
       endif
 
    end subroutine compute_scalar_tend_gt2

</font>
</pre>