<p><b>mpetersen@lanl.gov</b> 2012-06-06 10:58:06 -0600 (Wed, 06 Jun 2012)</p><p>BRANCH COMMIT: Just some clean up.  Removing unused variables and pointers.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/vol_cons_RK_imp_mix/src/core_ocean/mpas_ocn_time_integration_rk4.F
===================================================================
--- branches/ocean_projects/vol_cons_RK_imp_mix/src/core_ocean/mpas_ocn_time_integration_rk4.F        2012-06-06 16:32:21 UTC (rev 1966)
+++ branches/ocean_projects/vol_cons_RK_imp_mix/src/core_ocean/mpas_ocn_time_integration_rk4.F        2012-06-06 16:58:06 UTC (rev 1967)
@@ -81,21 +81,15 @@
       type (state_type), target :: provis
       type (state_type), pointer :: provis_ptr
 
-      integer :: rk_step, iEdge, cell1, cell2
+      integer :: rk_step
 
       real (kind=RKIND), dimension(4) :: rk_weights, rk_substep_weights
 
-      integer :: nCells, nEdges, nVertLevels, num_tracers
-      real (kind=RKIND) :: coef
-      real (kind=RKIND), dimension(:,:), pointer :: &amp;
-        u, h, h_edge, vertViscTopOfEdge, vertDiffTopOfCell, ke_edge
+      integer :: nCells
+      real (kind=RKIND), dimension(:,:), pointer :: u, h, h_edge, vertViscTopOfEdge, vertDiffTopOfCell, ke_edge
       real (kind=RKIND), dimension(:,:,:), pointer :: tracers
-      integer, dimension(:), pointer :: &amp; 
-        maxLevelCell, maxLevelEdgeTop
-      real (kind=RKIND), dimension(:), allocatable:: A,C,uTemp
-      real (kind=RKIND), dimension(:,:), allocatable:: tracersTemp
+      integer, dimension(:), pointer :: maxLevelCell
 
-
       block =&gt; domain % blocklist
       call mpas_allocate_state(block, provis, &amp;
                           block % mesh % nCells, block % mesh % nEdges, block % mesh % maxEdges, block % mesh % maxEdges2, &amp;
@@ -171,7 +165,7 @@
            ! mrp 110718 filter btr mode out of u_tend
            ! still got h perturbations with just this alone.  Try to set uBtr=0 after full u computation
            if (config_rk_filter_btr_mode) then
-               call filter_btr_mode_tend_u(block % tend, provis, block % diagnostics, block % mesh)
+               call filter_btr_mode_tend_u(block % tend, provis, block % mesh)
            endif
 
            call ocn_tend_scalar(block % tend, provis, block % diagnostics, block % mesh, dt)
@@ -276,15 +270,11 @@
          h           =&gt; block % state % time_levs(2) % state % h % array
          h_edge      =&gt; block % state % time_levs(2) % state % h_edge % array
          ke_edge     =&gt; block % state % time_levs(2) % state % ke_edge % array
-         num_tracers = block % state % time_levs(2) % state % num_tracers
          vertViscTopOfEdge =&gt; block % diagnostics % vertViscTopOfEdge % array
          vertDiffTopOfCell =&gt; block % diagnostics % vertDiffTopOfCell % array
          maxLevelCell    =&gt; block % mesh % maxLevelCell % array
-         maxLevelEdgeTop =&gt; block % mesh % maxLevelEdgeTop % array
                   
          nCells      = block % mesh % nCells
-         nEdges      = block % mesh % nEdges
-         nVertLevels = block % mesh % nVertLevels
 
          do iCell=1,nCells
             do k=1,maxLevelCell(iCell)
@@ -300,7 +290,7 @@
             !
             !  Implicit vertical solve for momentum
             !
-            call ocn_vel_vmix_tend_implicit(block % mesh, dt, ke_edge, vertvisctopofedge, h, h_edge, u, err)
+            call ocn_vel_vmix_tend_implicit(block % mesh, dt, ke_edge, vertViscTopOfEdge, h, h_edge, u, err)
 
           !  mrp 110718 filter btr mode out of u
            if (config_rk_filter_btr_mode) then
@@ -312,7 +302,7 @@
             !  Implicit vertical solve for tracers
             !
 
-            call ocn_tracer_vmix_tend_implicit(block % mesh, dt, vertdifftopofcell, h, tracers, err)
+            call ocn_tracer_vmix_tend_implicit(block % mesh, dt, vertDiffTopOfCell, h, tracers, err)
             call mpas_timer_stop(&quot;RK4-implicit vert mix&quot;)
          end if
 
@@ -379,7 +369,7 @@
 
    end subroutine ocn_time_integrator_rk4!}}}
 
-   subroutine filter_btr_mode_tend_u(tend, s, d, grid)!{{{
+   subroutine filter_btr_mode_tend_u(tend, s, grid)!{{{
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ! Filter and remove barotropic mode from the tendencies
    !
@@ -393,105 +383,40 @@
 
       type (tend_type), intent(inout) :: tend
       type (state_type), intent(in) :: s
-      type (diagnostics_type), intent(in) :: d
       type (mesh_type), intent(in) :: grid
 
-! mrp 110512 I just split compute_tend into compute_tend_u and compute_tend_h.
-!  Some of these variables can be removed, but at a later time.
-      integer :: iEdge, iCell, iVertex, k, cell1, cell2, &amp;
-        vertex1, vertex2, eoe, i, j
+      integer :: iEdge, k, nEdges
+      real (kind=RKIND) :: vertSum, uhSum, hSum
+      real (kind=RKIND), dimension(:,:), pointer :: h_edge, tend_u
 
-      integer :: nCells, nEdges, nVertices, nVertLevels, nEdgesSolve
-      real (kind=RKIND) :: vertSum, uhSum, hSum, sshEdge
-      real (kind=RKIND), dimension(:), pointer :: &amp;
-        h_s, dvEdge, dcEdge, areaCell, areaTriangle, &amp;
-        meshScalingDel2, meshScalingDel4
-      real (kind=RKIND), dimension(:,:), pointer :: &amp;
-        weightsOnEdge, kiteAreasOnVertex, h_edge, h, u, v, pressure, &amp;
-        tend_u, circulation, vorticity, ke, ke_edge, Vor_edge, &amp;
-        MontPot, wTop, divergence, vertViscTopOfEdge
-      type (dm_info) :: dminfo
+      integer, dimension(:), pointer :: maxLevelEdgeTop
 
-      integer, dimension(:), pointer :: nEdgesOnCell, nEdgesOnEdge, &amp;
-        maxLevelCell, maxLevelEdgeTop, maxLevelVertexBot
-      integer, dimension(:,:), pointer :: &amp;
-        cellsOnEdge, cellsOnVertex, verticesOnEdge, edgesOnCell, &amp;
-        edgesOnEdge, edgesOnVertex
-      real (kind=RKIND) :: u_diffusion
-      real (kind=RKIND), dimension(:), allocatable:: fluxVertTop,w_dudzTopEdge
-
-      real (kind=RKIND), allocatable, dimension(:,:) :: delsq_divergence
-      real (kind=RKIND), allocatable, dimension(:,:) :: delsq_u
-      real (kind=RKIND), allocatable, dimension(:,:) :: delsq_circulation, delsq_vorticity
-
-
-      real (kind=RKIND), dimension(:,:), pointer :: u_src
-      real (kind=RKIND), parameter :: rho_ref = 1000.0
-
       call mpas_timer_start(&quot;filter_btr_mode_tend_u&quot;)
 
-      h           =&gt; s % h % array
-      u           =&gt; s % u % array
-      v           =&gt; s % v % array
-      wTop        =&gt; s % wTop % array
       h_edge      =&gt; s % h_edge % array
-      circulation =&gt; s % circulation % array
-      vorticity   =&gt; s % vorticity % array
-      divergence  =&gt; s % divergence % array
-      ke          =&gt; s % ke % array
-      ke_edge     =&gt; s % ke_edge % array
-      Vor_edge     =&gt; s % Vor_edge % array
-      MontPot     =&gt; s % MontPot % array
-      pressure    =&gt; s % pressure % array
-      vertViscTopOfEdge =&gt; d % vertViscTopOfEdge % array
-
-      weightsOnEdge     =&gt; grid % weightsOnEdge % array
-      kiteAreasOnVertex =&gt; grid % kiteAreasOnVertex % array
-      cellsOnEdge       =&gt; grid % cellsOnEdge % array
-      cellsOnVertex     =&gt; grid % cellsOnVertex % array
-      verticesOnEdge    =&gt; grid % verticesOnEdge % array
-      nEdgesOnCell      =&gt; grid % nEdgesOnCell % array
-      edgesOnCell       =&gt; grid % edgesOnCell % array
-      nEdgesOnEdge      =&gt; grid % nEdgesOnEdge % array
-      edgesOnEdge       =&gt; grid % edgesOnEdge % array
-      edgesOnVertex     =&gt; grid % edgesOnVertex % array
-      dcEdge            =&gt; grid % dcEdge % array
-      dvEdge            =&gt; grid % dvEdge % array
-      areaCell          =&gt; grid % areaCell % array
-      areaTriangle      =&gt; grid % areaTriangle % array
-      h_s               =&gt; grid % h_s % array
-      maxLevelCell      =&gt; grid % maxLevelCell % array
       maxLevelEdgeTop      =&gt; grid % maxLevelEdgeTop % array
-      maxLevelVertexBot    =&gt; grid % maxLevelVertexBot % array
-
       tend_u      =&gt; tend % u % array
-                  
-      nCells      = grid % nCells
       nEdges      = grid % nEdges
-      nEdgesSolve = grid % nEdgesSolve
-      nVertices   = grid % nVertices
-      nVertLevels = grid % nVertLevels
 
-      u_src =&gt; grid % u_src % array
+      do iEdge=1,nEdges
 
-           do iEdge=1,grid % nEdges
+        ! hSum is initialized outside the loop because on land boundaries 
+        ! maxLevelEdgeTop=0, but I want to initialize hSum with a 
+        ! nonzero value to avoid a NaN.
+        uhSum = h_edge(1,iEdge) * tend_u(1,iEdge)
+        hSum  = h_edge(1,iEdge)
 
-              uhSum = (h_edge(1,iEdge)) * tend_u(1,iEdge)
-              hSum  =  h_edge(1,iEdge)
+        do k=2,maxLevelEdgeTop(iEdge)
+          uhSum = uhSum + h_edge(k,iEdge) * tend_u(k,iEdge)
+          hSum  =  hSum + h_edge(k,iEdge)
+        enddo
 
-              do k=2,grid % maxLevelEdgeTop % array(iEdge)
-                 uhSum = uhSum + h_edge(k,iEdge) * tend_u(k,iEdge)
-                 hSum  =  hSum + h_edge(k,iEdge)
-              enddo
+        vertSum = uhSum/hSum
+        do k=1,maxLevelEdgeTop(iEdge)
+          tend_u(k,iEdge) = tend_u(k,iEdge) - vertSum
+        enddo
+      enddo ! iEdge
 
-              vertSum = uhSum/hSum
-
-              do k=1,grid % maxLevelEdgeTop % array(iEdge)
-                 tend_u(k,iEdge) = tend_u(k,iEdge) - vertSum
-              enddo
-
-           enddo ! iEdge
-
       call mpas_timer_stop(&quot;filter_btr_mode_tend_u&quot;)
 
    end subroutine filter_btr_mode_tend_u!}}}

Modified: branches/ocean_projects/vol_cons_RK_imp_mix/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- branches/ocean_projects/vol_cons_RK_imp_mix/src/core_ocean/mpas_ocn_time_integration_split.F        2012-06-06 16:32:21 UTC (rev 1966)
+++ branches/ocean_projects/vol_cons_RK_imp_mix/src/core_ocean/mpas_ocn_time_integration_split.F        2012-06-06 16:58:06 UTC (rev 1967)
@@ -898,7 +898,7 @@
 
    end subroutine ocn_time_integrator_split!}}}
 
-   subroutine filter_btr_mode_tend_u(tend, s, d, grid)!{{{
+   subroutine filter_btr_mode_tend_u(tend, s, grid)!{{{
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ! Filter and remove barotropic mode from the tendencies
    !
@@ -912,32 +912,20 @@
 
       type (tend_type), intent(inout) :: tend
       type (state_type), intent(in) :: s
-      type (diagnostics_type), intent(in) :: d
       type (mesh_type), intent(in) :: grid
 
-      integer :: iEdge, k
-
-      integer :: nCells, nEdges, nVertices, nVertLevels, nEdgesSolve
+      integer :: iEdge, k, nEdges
       real (kind=RKIND) :: vertSum, uhSum, hSum
-      real (kind=RKIND), dimension(:,:), pointer :: &amp;
-        h_edge, h, u,tend_u
-      type (dm_info) :: dminfo
+      real (kind=RKIND), dimension(:,:), pointer :: h_edge, tend_u
 
       integer, dimension(:), pointer :: maxLevelEdgeTop
 
       call mpas_timer_start(&quot;filter_btr_mode_tend_u&quot;)
 
-      h           =&gt; s % h % array
-      u           =&gt; s % u % array
-      h_edge      =&gt; s % h_edge % array
-
-      maxLevelEdgeTop      =&gt; grid % maxLevelEdgeTop % array
-
       tend_u      =&gt; tend % u % array
-                  
-      nCells      = grid % nCells
+      h_edge      =&gt; s % h_edge % array
+      maxLevelEdgeTop =&gt; grid % maxLevelEdgeTop % array
       nEdges      = grid % nEdges
-      nVertLevels = grid % nVertLevels
 
       do iEdge=1,nEdges
 
@@ -977,27 +965,17 @@
       type (state_type), intent(inout) :: s
       type (mesh_type), intent(in) :: grid
 
-      integer :: iEdge, k
-
-      integer :: nCells, nEdges, nVertices, nVertLevels, nEdgesSolve
+      integer :: iEdge, k, nEdges
       real (kind=RKIND) :: vertSum, uhSum, hSum
-      real (kind=RKIND), dimension(:,:), pointer :: &amp;
-        h_edge, h, u
-      type (dm_info) :: dminfo
-
+      real (kind=RKIND), dimension(:,:), pointer :: h_edge, u
       integer, dimension(:), pointer :: maxLevelEdgeTop
 
       call mpas_timer_start(&quot;filter_btr_mode_u&quot;)
 
-      h           =&gt; s % h % array
       u           =&gt; s % u % array
       h_edge      =&gt; s % h_edge % array
-
-      maxLevelEdgeTop      =&gt; grid % maxLevelEdgeTop % array
-
-      nCells      = grid % nCells
+      maxLevelEdgeTop =&gt; grid % maxLevelEdgeTop % array
       nEdges      = grid % nEdges
-      nVertLevels = grid % nVertLevels
 
       do iEdge=1,nEdges
 

</font>
</pre>