<p><b>ringler@lanl.gov</b> 2012-03-02 23:04:08 -0700 (Fri, 02 Mar 2012)</p><p><br>
a working version of the Leith turblence closure.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix.F
===================================================================
--- branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix.F        2012-03-03 04:07:41 UTC (rev 1586)
+++ branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix.F        2012-03-03 06:04:08 UTC (rev 1587)
@@ -134,6 +134,7 @@
       call mpas_timer_stop(&quot;leith&quot;, leithTimer)
 
       err = ior(err1, err2)
+      err = ior(err,  err3)
 
    !--------------------------------------------------------------------
 
@@ -167,12 +168,14 @@
 
       integer, intent(out) :: err !&lt; Output: error flag
 
-      integer :: err1, err2
+      integer :: err1, err2, err3
 
       call ocn_vel_hmix_del2_init(err1)
       call ocn_vel_hmix_del4_init(err2)
+      call ocn_vel_hmix_leith_init(err3)
 
       err = ior(err1, err2)
+      err = ior(err,  err3)
 
    !--------------------------------------------------------------------
 

Modified: branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix_leith.F
===================================================================
--- branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix_leith.F        2012-03-03 04:07:41 UTC (rev 1586)
+++ branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix_leith.F        2012-03-03 06:04:08 UTC (rev 1587)
@@ -104,14 +104,12 @@
       !
       !-----------------------------------------------------------------
 
-      integer :: iEdge, nEdgesSolve, vertex1, vertex2, cell1, cell2
-      integer :: k
+      integer :: k, iEdge, nEdgesSolve, vertex1, vertex2
       integer, dimension(:), pointer :: maxLevelEdgeTop
-      integer, dimension(:,:), pointer :: cellsOnEdge, verticesOnEdge, edgeMask
+      integer, dimension(:,:), pointer :: verticesOnEdge, edgeMask
 
-      real (kind=RKIND) :: u_diffusion, invLength1, invLength2
-      real (kind=RKIND), dimension(:), pointer :: meshScalingLeith, &amp;
-              dcEdge, dvEdge
+      real (kind=RKIND) :: u_diffusion
+      real (kind=RKIND), dimension(:), pointer :: meshScalingLeith
 
       !-----------------------------------------------------------------
       !
@@ -125,22 +123,16 @@
 
       nEdgesSolve = grid % nEdgesSolve
       maxLevelEdgeTop =&gt; grid % maxLevelEdgeTop % array
-      cellsOnEdge =&gt; grid % cellsOnEdge % array
       verticesOnEdge =&gt; grid % verticesOnEdge % array
       meshScalingLeith =&gt; grid % meshScalingLeith % array
       edgeMask =&gt; grid % edgeMask % array
-      dcEdge =&gt; grid % dcEdge % array
-      dvEdge =&gt; grid % dvEdge % array
 
+      !write(0,*) ' min/max before Leith : ', minval(tend), maxval(tend)
+
       do iEdge=1,nEdgesSolve
-         cell1 = cellsOnEdge(1,iEdge)
-         cell2 = cellsOnEdge(2,iEdge)
          vertex1 = verticesOnEdge(1,iEdge)
          vertex2 = verticesOnEdge(2,iEdge)
 
-         invLength1 = 1.0 / dcEdge(iEdge)
-         invLength2 = 1.0 / dvEdge(iEdge)
-
          do k=1,maxLevelEdgeTop(iEdge)
 
             u_diffusion =  -leith_parameter**3 * leith_dx * meshScalingLeith(iEdge) * &amp;
@@ -152,6 +144,10 @@
          end do
       end do
 
+      !write(0,*) ' min/max after  Leith : ', minval(tend), maxval(tend)
+      !write(0,*) leith_parameter, leith_dx
+      !write(0,*) minval(meshScalingLeith), maxval(meshScalingLeith)
+
    !--------------------------------------------------------------------
 
    end subroutine ocn_vel_hmix_leith_tend!}}}
@@ -187,6 +183,7 @@
       hmixLeithOn = .true.
       leith_parameter = config_leith_parameter
       leith_dx = config_leith_dx
+      write(0,*) ' Leith ', hmixLeithOn, leith_parameter, leith_dx
    endif
 
 

</font>
</pre>