[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