[Yt-svn] yt: interim commit to fix FLASH2 support -- longer-term, will ad...
hg at spacepope.org
hg at spacepope.org
Wed Jul 28 19:40:35 PDT 2010
hg Repository: yt
details: yt/rev/ac2ed81a8084
changeset: 1892:ac2ed81a8084
user: Matthew Turk <matthewturk at gmail.com>
date:
Wed Jul 28 19:40:30 2010 -0700
description:
interim commit to fix FLASH2 support -- longer-term, will add more data_styles.
diffstat:
yt/extensions/volume_rendering/grid_partitioner.py | 9 ++++++++-
yt/lagos/DataReadingFuncs.py | 7 ++++---
yt/lagos/HierarchyType.py | 18 ++++++++++++------
3 files changed, 24 insertions(+), 10 deletions(-)
diffs (93 lines):
diff -r d3fe9dbcfaf3 -r ac2ed81a8084 yt/extensions/volume_rendering/grid_partitioner.py
--- a/yt/extensions/volume_rendering/grid_partitioner.py Wed Jul 28 10:46:12 2010 -0700
+++ b/yt/extensions/volume_rendering/grid_partitioner.py Wed Jul 28 19:40:30 2010 -0700
@@ -55,13 +55,17 @@
self.log_fields = log_fields
def traverse(self, back_point, front_point):
+ mylog.info("Traversing %s bricks between %s and %s",
+ len(self.bricks), back_point, front_point)
if self.bricks is None: self.initialize_source()
vec = front_point - back_point
dist = na.minimum(
na.sum((self.brick_left_edges - back_point) * vec, axis=1),
na.sum((self.brick_right_edges - back_point) * vec, axis=1))
ind = na.argsort(dist)
- for b in self.bricks[ind]: yield b
+ for b in self.bricks[ind]:
+ #print b.LeftEdge, b.RightEdge
+ yield b
def _partition_grid(self, grid):
@@ -100,6 +104,9 @@
bricks += self._partition_grid(g)
pbar.finish()
bricks = na.array(bricks, dtype='object')
+ self.initialize_bricks(bricks)
+
+ def initialize_bricks(self, bricks):
NB = len(bricks)
# Now we set up our (local for now) hierarchy. Note that to calculate
# intersection, we only need to do the left edge & right edge.
diff -r d3fe9dbcfaf3 -r ac2ed81a8084 yt/lagos/DataReadingFuncs.py
--- a/yt/lagos/DataReadingFuncs.py Wed Jul 28 10:46:12 2010 -0700
+++ b/yt/lagos/DataReadingFuncs.py Wed Jul 28 19:40:30 2010 -0700
@@ -508,11 +508,12 @@
def _read_data_set(self, grid, field):
f = h5py.File(grid.pf.parameter_filename, "r")
- return f["/%s" % field][grid.id - grid._id_offset,:,:,:].transpose()
+ tr = f["/%s" % field][grid.id - grid._id_offset,:,:,:].transpose()
+ return tr.astype("float64")
def _read_data_slice(self, grid, field, axis, coord):
sl = [slice(None), slice(None), slice(None)]
sl[axis] = slice(coord, coord + 1)
f = h5py.File(grid.pf.parameter_filename, "r")
- dd = f["/%s" % field][grid.id - grid._id_offset][sl].transpose()
- return dd
+ tr = f["/%s" % field][grid.id - grid._id_offset].transpose()[sl]
+ return tr.astype("float64")
diff -r d3fe9dbcfaf3 -r ac2ed81a8084 yt/lagos/HierarchyType.py
--- a/yt/lagos/HierarchyType.py Wed Jul 28 10:46:12 2010 -0700
+++ b/yt/lagos/HierarchyType.py Wed Jul 28 19:40:30 2010 -0700
@@ -1447,8 +1447,11 @@
self.object_types.sort()
def _count_grids(self):
- self.num_grids = self.parameter_file._find_parameter(
- "integer", "globalnumblocks", True, self._handle)
+ try:
+ self.num_grids = self.parameter_file._find_parameter(
+ "integer", "globalnumblocks", True, self._handle)
+ except KeyError:
+ self.num_grids = self._handle["/simulation parameters"][0][0]
def _parse_hierarchy(self):
f = self._handle # shortcut
@@ -1457,9 +1460,13 @@
self.grid_left_edge[:] = f["/bounding box"][:,:,0]
self.grid_right_edge[:] = f["/bounding box"][:,:,1]
# Move this to the parameter file
- nxb = pf._find_parameter("integer", "nxb", True, f)
- nyb = pf._find_parameter("integer", "nyb", True, f)
- nzb = pf._find_parameter("integer", "nzb", True, f)
+ try:
+ nxb = pf._find_parameter("integer", "nxb", True, f)
+ nyb = pf._find_parameter("integer", "nyb", True, f)
+ nzb = pf._find_parameter("integer", "nzb", True, f)
+ except KeyError:
+ nxb, nyb, nzb = [int(f["/simulation parameters"]['n%sb' % ax])
+ for ax in 'xyz']
self.grid_dimensions[:] *= (nxb, nyb, nzb)
# particle count will need to be fixed somehow:
# by getting access to the particle file we can get the number of
@@ -1474,7 +1481,6 @@
for i in xrange(self.num_grids)]
self.grids = na.array(g, dtype='object')
-
def _populate_grid_objects(self):
# We only handle 3D data, so offset is 7 (nfaces+1)
offset = 7
More information about the yt-svn
mailing list