[Yt-svn] yt-commit r1494 - trunk/yt/lagos
mturk at wrangler.dreamhost.com
mturk at wrangler.dreamhost.com
Thu Oct 22 07:31:55 PDT 2009
Author: mturk
Date: Thu Oct 22 07:31:54 2009
New Revision: 1494
URL: http://yt.enzotools.org/changeset/1494
Log:
Substantially improved performance of covering grids by removing calls to
na.all.
Modified:
trunk/yt/lagos/BaseDataTypes.py
Modified: trunk/yt/lagos/BaseDataTypes.py
==============================================================================
--- trunk/yt/lagos/BaseDataTypes.py (original)
+++ trunk/yt/lagos/BaseDataTypes.py Thu Oct 22 07:31:54 2009
@@ -2514,12 +2514,13 @@
obtain_fields, len(self._grids))
if self._use_pbar: pbar = \
get_pbar('Searching grids for values ', len(self._grids))
+ count = self.ActiveDimensions.prod()
for i, grid in enumerate(self._grids):
if self._use_pbar: pbar.update(i)
- self._get_data_from_grid(grid, obtain_fields)
- if not na.any(self[obtain_fields[0]] == -999): break
+ count -= self._get_data_from_grid(grid, obtain_fields)
+ if count <= 0: break
if self._use_pbar: pbar.finish()
- if na.any(self[obtain_fields[0]] == -999):
+ if count > 0 or na.any(self[obtain_fields[0]] == -999):
# and self.dx < self.hierarchy.grids[0].dx:
n_bad = na.where(self[obtain_fields[0]]==-999)[0].size
mylog.error("Covering problem: %s cells are uncovered", n_bad)
@@ -2554,11 +2555,12 @@
ref_ratio = self.pf["RefineBy"]**(self.level - grid.Level)
g_fields = [grid[field] for field in fields]
c_fields = [self[field] for field in fields]
- PointCombine.FillRegion(ref_ratio,
+ count = PointCombine.FillRegion(ref_ratio,
grid.get_global_startindex(), self.global_startindex,
c_fields, g_fields,
self.ActiveDimensions, grid.ActiveDimensions,
grid.child_mask, self.domain_width, ll, 0)
+ return count
def _flush_data_to_grid(self, grid, fields):
ll = int(grid.Level == self.level)
More information about the yt-svn
mailing list