<p><b>mpetersen@lanl.gov</b> 2012-03-27 10:31:27 -0600 (Tue, 27 Mar 2012)</p><p>Remove redundant loops to zero out velocity on land edges.  This is accomplished using the edgeMask coefficient.  Bit-for-bit match before and after, split exp and unsplit. (p84q,r)<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/gmvar/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- branches/ocean_projects/gmvar/src/core_ocean/mpas_ocn_time_integration_split.F        2012-03-26 20:54:38 UTC (rev 1724)
+++ branches/ocean_projects/gmvar/src/core_ocean/mpas_ocn_time_integration_split.F        2012-03-27 16:31:27 UTC (rev 1725)
@@ -313,7 +313,7 @@
                block % state % time_levs(2) % state % u % array(:,:)  = block % state % time_levs(2) % state % uBcl % array(:,:) 
 
                do iEdge=1,block % mesh % nEdges
-                  do k=1,block % mesh % maxLevelEdgeTop % array(iEdge)
+                  do k=1,block % mesh % nVertLevels
 
                      ! uTranport = uBcl + uBolus 
                      ! This is u used in advective terms for h and tracers 
@@ -324,9 +324,6 @@
                        + block % state % time_levs(1) % state % uBolusGM   % array(k,iEdge) )
 
                   enddo
-                  do k=block % mesh % maxLevelEdgeTop % array(iEdge)+1,block % mesh % nVertLevels
-                     block % state % time_levs(2) % state % uTransport % array(k,iEdge) = 0.0
-                  end do
                end do  ! iEdge
    
                block =&gt; block % next
@@ -699,7 +696,7 @@
 
                   uCorr =   ucorr_coef*(( block % state % time_levs(1) % state % FBtr % array(iEdge) - uhSum)/hSum)
 
-                  do k=1,block % mesh % maxLevelEdgeTop % array(iEdge)
+                  do k=1,block % mesh % nVertLevels
 
                      ! uTranport = uBtr + uBcl + uBolus + uCorrection
                      ! This is u used in advective terms for h and tracers 
@@ -712,9 +709,6 @@
                        + uCorr )
 
                   enddo
-                  do k=block % mesh % maxLevelEdgeTop % array(iEdge)+1,block % mesh % nVertLevels
-                     block % state % time_levs(2) % state % uTransport % array(k,iEdge) = 0.0
-                  end do
 
                end do ! iEdge
 
@@ -826,7 +820,7 @@
 
                do iEdge=1,block % mesh % nEdges
 
-                  do k=1,block % mesh % maxLevelEdgeTop % array(iEdge)
+                  do k=1,block % mesh % nVertLevels
 
                      ! u = uBtr + uBcl 
                      ! here uBcl is at time n+1/2
@@ -837,9 +831,6 @@
                        + block % state % time_levs(2) % state % uBcl % array(k,iEdge) )
 
                   enddo
-                  do k=block % mesh % maxLevelEdgeTop % array(iEdge)+1,block % mesh % nVertLevels
-                     block % state % time_levs(2) % state % u % array(k,iEdge) = 0.0
-                  end do
 
                end do ! iEdge
 

</font>
</pre>