[yt-svn] commit/yt: ngoldbaum: Make smoothed_covering_grid work correctly with reduced dimensionality data. Closes #1266
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Tue Aug 30 11:12:54 PDT 2016
1 new commit in yt:
https://bitbucket.org/yt_analysis/yt/commits/58f60e6a6799/
Changeset: 58f60e6a6799
Branch: yt
User: ngoldbaum
Date: 2016-08-29 22:28:59+00:00
Summary: Make smoothed_covering_grid work correctly with reduced dimensionality data. Closes #1266
Affected #: 2 files
diff -r e339dc97f6672cc461078a780c05f535615b9e38 -r 58f60e6a6799a2ee44bd18ebd5619814307a4c99 yt/data_objects/construction_data_containers.py
--- a/yt/data_objects/construction_data_containers.py
+++ b/yt/data_objects/construction_data_containers.py
@@ -941,8 +941,12 @@
if level < min_level:
self._update_level_state(ls)
continue
- domain_dims = self.ds.domain_dimensions.astype("int64") \
- * self.ds.relative_refinement(0, ls.current_level)
+ nd = self.ds.dimensionality
+ refinement = np.zeros_like(ls.base_dx)
+ refinement += self.ds.relative_refinement(0, ls.current_level)
+ refinement[nd:] = 1
+ domain_dims = self.ds.domain_dimensions * refinement
+ domain_dims = domain_dims.astype("int64")
tot = ls.current_dims.prod()
for chunk in ls.data_source.chunks(fields, "io"):
chunk[fields[0]]
@@ -956,7 +960,8 @@
raise RuntimeError
self._update_level_state(ls)
for name, v in zip(fields, ls.fields):
- if self.level > 0: v = v[1:-1,1:-1,1:-1]
+ if self.level > 0:
+ v = v[1:-1, 1:-1, 1:-1]
fi = self.ds._get_field_info(*name)
self[name] = self.ds.arr(v, fi.units)
@@ -1010,8 +1015,11 @@
rf = float(self.ds.relative_refinement(
ls.current_level, ls.current_level + 1))
ls.current_level += 1
- ls.current_dx = ls.base_dx / \
- self.ds.relative_refinement(0, ls.current_level)
+ nd = self.ds.dimensionality
+ refinement = np.zeros_like(ls.base_dx)
+ refinement += self.ds.relative_refinement(0, ls.current_level)
+ refinement[nd:] = 1
+ ls.current_dx = ls.base_dx / refinement
ls.old_global_startindex = ls.global_startindex
ls.global_startindex, end_index, ls.current_dims = \
self._minimal_box(ls.current_dx)
diff -r e339dc97f6672cc461078a780c05f535615b9e38 -r 58f60e6a6799a2ee44bd18ebd5619814307a4c99 yt/data_objects/tests/test_covering_grid.py
--- a/yt/data_objects/tests/test_covering_grid.py
+++ b/yt/data_objects/tests/test_covering_grid.py
@@ -131,3 +131,11 @@
cgrid = ds.covering_grid(0, left_edge=ds.domain_left_edge, dims=ds.domain_dimensions)
density_field = cgrid["density"]
assert_equal((density_field == 0.0).sum(), 0)
+
+ekh = 'EnzoKelvinHelmholtz/DD0011/DD0011'
+ at requires_file(ekh)
+def test_smoothed_covering_grid_2d_dataset():
+ ds = load(ekh)
+ ds.periodicity = (True, True, True)
+ scg = ds.smoothed_covering_grid(1, [0, 0, 0], [128, 128, 1])
+ assert_equal(scg['density'].shape, [128, 128, 1])
Repository URL: https://bitbucket.org/yt_analysis/yt/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the yt-svn
mailing list