<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), &
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) = &
@@ -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) = &
@@ -168,6 +169,7 @@
hRatioZLevelK(k) *tracers(iTracer,k-1,iCell) &
+ 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) = &
@@ -163,6 +164,7 @@
hRatioZLevelK(k) *tracers(iTracer,k-1,iCell) &
+ 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>