<p><b>ringler@lanl.gov</b> 2011-11-01 20:36:16 -0600 (Tue, 01 Nov 2011)</p><p><br>
add code to compute KE @ cell centers with contribution from vertices.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/kevc/src/core_ocean/Registry
===================================================================
--- branches/ocean_projects/kevc/src/core_ocean/Registry        2011-11-01 20:59:05 UTC (rev 1161)
+++ branches/ocean_projects/kevc/src/core_ocean/Registry        2011-11-02 02:36:16 UTC (rev 1162)
@@ -42,6 +42,7 @@
 namelist real      hmix     config_h_mom_eddy_visc2     0.0
 namelist real      hmix     config_h_mom_eddy_visc4     0.0
 namelist logical   hmix     config_visc_vorticity_term true
+namelist logical   hmix     config_include_KE_vertex false
 namelist real      hmix     config_h_tracer_eddy_diff2  0.0
 namelist real      hmix     config_h_tracer_eddy_diff4  0.0
 namelist real      hmix     config_apvm_upwinding       0.5
@@ -222,6 +223,8 @@
 var persistent real    h_edge ( nVertLevels nEdges Time ) 2 - h_edge state - -
 var persistent real    h_vertex ( nVertLevels nVertices Time ) 2 - h_vertex state - -
 var persistent real    ke ( nVertLevels nCells Time ) 2 o ke state - -
+var persistent real    kev ( nVertLevels nVertices Time ) 2 o kev state - -
+var persistent real    kevc ( nVertLevels nCells Time ) 2 o kevc state - -
 var persistent real    ke_edge ( nVertLevels nEdges Time ) 2 - ke_edge state - -
 var persistent real    pv_vertex ( nVertLevels nVertices Time ) 2 - pv_vertex state - -
 var persistent real    pv_cell ( nVertLevels nCells Time ) 2 - pv_cell state - -

Modified: branches/ocean_projects/kevc/src/core_ocean/mpas_ocn_tendency.F
===================================================================
--- branches/ocean_projects/kevc/src/core_ocean/mpas_ocn_tendency.F        2011-11-01 20:59:05 UTC (rev 1161)
+++ branches/ocean_projects/kevc/src/core_ocean/mpas_ocn_tendency.F        2011-11-02 02:36:16 UTC (rev 1162)
@@ -620,7 +620,7 @@
         weightsOnEdge, kiteAreasOnVertex, h_edge, h, u, v, w, pressure,&amp;
         circulation, vorticity, ke, ke_edge, MontPot, wTop, &amp;
         pv_edge, pv_vertex, pv_cell, gradPVn, gradPVt, divergence, &amp;
-        rho, temperature, salinity
+        rho, temperature, salinity, kev, kevc
       real (kind=RKIND), dimension(:,:,:), pointer :: tracers
       real (kind=RKIND), dimension(:), allocatable:: pTop
       real (kind=RKIND), dimension(:,:), allocatable:: div_u
@@ -648,6 +648,8 @@
       vorticity   =&gt; s % vorticity % array
       divergence  =&gt; s % divergence % array
       ke          =&gt; s % ke % array
+      kev         =&gt; s % kev % array
+      kevc        =&gt; s % kevc % array
       ke_edge     =&gt; s % ke_edge % array
       pv_edge     =&gt; s % pv_edge % array
       pv_vertex   =&gt; s % pv_vertex % array
@@ -880,6 +882,41 @@
       enddo
 
       !
+      ! Compute kinetic energy in each vertex
+      !
+      kev(:,:) = 0.0; kevc(:,:) = 0.0
+      do iEdge=1,nEdges
+         do k=1,nVertLevels
+            kev(k,verticesOnEdge(1,iEdge)) = kev(k,verticesOnEdge(1,iEdge)) + dcEdge(iEdge) * dvEdge(iEdge) * u(k,iEdge)**2
+            kev(k,verticesOnEdge(2,iEdge)) = kev(k,verticesOnEdge(2,iEdge)) + dcEdge(iEdge) * dvEdge(iEdge) * u(k,iEdge)**2
+         end do
+      end do
+      do iVertex = 1,nVertices
+         do k=1,nVertLevels
+           kev(k,iVertex) = kev(k,iVertex) / areaTriangle(iVertex) / 4.0
+         enddo
+      enddo
+      do iVertex = 1, nVertices
+       do i=1,grid % vertexDegree
+         iCell = cellsOnVertex(i,iVertex)
+         do k=1,nVertLevels
+           kevc(k,iCell) = kevc(k,iCell) + kiteAreasOnVertex(i, iVertex) * kev(k, iVertex) / areaCell(iCell)
+         enddo
+       enddo
+      enddo
+
+      !
+      ! Compute kinetic energy in each cell by blending ke and kevc
+      !
+      if(config_include_KE_vertex) then
+      do iCell=1,nCells
+         do k=1,nVertLevels
+            ke(k,iCell) = 5.0/8.0*ke(k,iCell) + 3.0/8.0*kevc(k,iCell)
+         end do
+      end do
+      endif
+
+      !
       ! Compute v (tangential) velocities
       !
       v(:,:) = 0.0

</font>
</pre>