<p><b>mpetersen@lanl.gov</b> 2011-11-15 14:48:30 -0700 (Tue, 15 Nov 2011)</p><p>Fixing tracerTop initialization bug that causes errors on hopper with 240procs and up.<br>
</p><hr noshade><pre><font color="gray">Modified: trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_spline2.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_spline2.F        2011-11-15 17:01:46 UTC (rev 1196)
+++ trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_spline2.F        2011-11-15 21:48:30 UTC (rev 1197)
@@ -139,6 +139,7 @@
       allocate(tracerTop(num_tracers,nVertLevels+1,nCells))
 
       do iCell=1,nCellsSolve 
+         tracerTop(:,1,iCell) = tracers(:,1,iCell) 
          do k=2,maxLevelCell(iCell)
             do iTracer=1,num_tracers
                ! Note hRatio on the k side is multiplied by tracer at k-1
@@ -148,6 +149,7 @@
                   + hRatioZLevelKm1(k)*tracers(iTracer,k  ,iCell)
             end do
          end do
+         tracerTop(:,maxLevelCell(iCell)+1,iCell) = tracers(:,maxLevelCell(iCell),iCell)
       end do
 
       do iCell=1,nCellsSolve 

Modified: trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_spline3.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_spline3.F        2011-11-15 17:01:46 UTC (rev 1196)
+++ trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_spline3.F        2011-11-15 21:48:30 UTC (rev 1197)
@@ -172,8 +172,9 @@
                posZMidZLevel, tracersIn, tracer2ndDer, maxLevelCell(iCell), &amp;
                posZTopZLevel, tracersOut, maxLevelCell(iCell)-1 )
 
+            tracerTop(itracer,1,iCell) = tracers(iTracer,1,iCell)
             tracerTop(iTracer,2:maxLevelCell(iCell),iCell) = tracersOut(1:maxLevelCell(iCell)-1)
-
+            tracerTop(itracer,maxLevelCell(iCell)+1,iCell) = tracers(iTracer,maxLevelCell(iCell),iCell)
          end do
       end do
 

Modified: trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_stencil2.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_stencil2.F        2011-11-15 17:01:46 UTC (rev 1196)
+++ trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_stencil2.F        2011-11-15 21:48:30 UTC (rev 1197)
@@ -138,6 +138,7 @@
       ! Compute tracerTop using centered stencil, a simple average.
 
       do iCell=1,nCellsSolve 
+         tracerTop(:,1,iCell) = tracers(:,1,iCell)
          do k=2,maxLevelCell(iCell)
             do iTracer=1,num_tracers
                tracerTop(iTracer,k,iCell) = &amp;
@@ -145,6 +146,7 @@
                    +tracers(iTracer,k  ,iCell))/2.0
             end do
          end do
+        tracerTop(:,maxLevelCell(iCell)+1,iCell) = tracers(:,maxLevelCell(iCell),iCell)
       end do
 
       do iCell=1,nCellsSolve 

Modified: trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_stencil3.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_stencil3.F        2011-11-15 17:01:46 UTC (rev 1196)
+++ trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_stencil3.F        2011-11-15 21:48:30 UTC (rev 1197)
@@ -145,6 +145,7 @@
       ! namelist, if desired.
       flux3Coef = 1.0
       do iCell=1,nCellsSolve 
+         tracerTop(:,1,iCell) = tracers(:,1,iCell)
          k=2
          do iTracer=1,num_tracers
            tracerTop(iTracer,k,iCell) = &amp;
@@ -168,6 +169,7 @@
                    hRatioZLevelK(k)  *tracers(iTracer,k-1,iCell) &amp;
                  + hRatioZLevelKm1(k)*tracers(iTracer,k  ,iCell)
             end do
+        tracerTop(:,maxLevelCell(iCell)+1,iCell) = tracers(:,maxLevelCell(iCell),iCell)
       end do
 
       do iCell=1,nCellsSolve 

Modified: trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_stencil4.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_stencil4.F        2011-11-15 17:01:46 UTC (rev 1196)
+++ trunk/mpas/src/core_ocean/mpas_ocn_tracer_vadv_stencil4.F        2011-11-15 21:48:30 UTC (rev 1197)
@@ -141,6 +141,7 @@
       ! Compute tracerTop using 4rd order stencil [-1 7 7 -1]
 
       do iCell=1,nCellsSolve 
+         tracerTop(:,1,iCell) = tracers(:,1,iCell)
          k=2
             do iTracer=1,num_tracers
               tracerTop(iTracer,k,iCell) = &amp;
@@ -163,6 +164,7 @@
                    hRatioZLevelK(k)  *tracers(iTracer,k-1,iCell) &amp;
                  + hRatioZLevelKm1(k)*tracers(iTracer,k  ,iCell)
             end do
+        tracerTop(:,maxLevelCell(iCell)+1,iCell) = tracers(:,maxLevelCell(iCell),iCell)
       end do
 
       do iCell=1,nCellsSolve 

</font>
</pre>