[yt-svn] commit/yt: 3 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Tue Apr 11 06:50:32 PDT 2017
3 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/632e31e077bc/
Changeset: 632e31e077bc
Branch: yt
User: ngoldbaum
Date: 2017-03-30 20:50:04+00:00
Summary: Fix covering grid access for particle filters. Closes #1342
Affected #: 3 files
diff -r 3fee41c2ea35fbe17c97ba1dc286d6e71f088716 -r 632e31e077bc2b7868bdb20e1856c10e6fffe5d8 yt/data_objects/construction_data_containers.py
--- a/yt/data_objects/construction_data_containers.py
+++ b/yt/data_objects/construction_data_containers.py
@@ -632,7 +632,18 @@
for a, f in sorted(alias.items()):
self[a] = f(self)
self.field_data[a].convert_to_units(f.output_units)
- if len(gen) > 0: self._generate_fields(gen)
+ if len(gen) > 0:
+ part_gen = []
+ cell_gen = []
+ for field in gen:
+ finfo = self.ds.field_info[field]
+ if finfo.particle_type:
+ part_gen.append(field)
+ else:
+ cell_gen.append(field)
+ self._generate_fields(cell_gen)
+ for p in part_gen:
+ self[p] = self._data_source[p]
def _split_fields(self, fields_to_get):
fill, gen = self.index._split_fields(fields_to_get)
diff -r 3fee41c2ea35fbe17c97ba1dc286d6e71f088716 -r 632e31e077bc2b7868bdb20e1856c10e6fffe5d8 yt/data_objects/particle_filters.py
--- a/yt/data_objects/particle_filters.py
+++ b/yt/data_objects/particle_filters.py
@@ -71,7 +71,7 @@
def wrap_func(self, field_name, old_fi):
new_fi = copy.copy(old_fi)
- new_fi.name = (self.filtered_type, field_name[1])
+ new_fi.name = (self.name, field_name[1])
if old_fi._function == NullFunc:
new_fi._function = TranslationFunc(old_fi.name)
return new_fi
diff -r 3fee41c2ea35fbe17c97ba1dc286d6e71f088716 -r 632e31e077bc2b7868bdb20e1856c10e6fffe5d8 yt/data_objects/tests/test_particle_filter.py
--- a/yt/data_objects/tests/test_particle_filter.py
+++ b/yt/data_objects/tests/test_particle_filter.py
@@ -1,6 +1,8 @@
from __future__ import print_function
import yt
-from yt.testing import requires_file
+from yt.testing import \
+ assert_equal, \
+ requires_file
from yt.data_objects.particle_filters import \
add_particle_filter, particle_filter
@@ -45,3 +47,20 @@
ad = ds.all_data()
ad['deposit', 'stars_cic']
assert True
+
+ at requires_file(iso_galaxy)
+def test_covering_grid_particle_filter():
+ @particle_filter(requires=["particle_type"], filtered_type='all')
+ def stars(pfilter, data):
+ filter = data[(pfilter.filtered_type, "particle_type")] == 2
+ return filter
+
+ ds = yt.load('IsolatedGalaxy/galaxy0030/galaxy0030')
+
+ ds.add_particle_filter('stars')
+
+ for grid in ds.index.grids[20:31]:
+ cg = ds.covering_grid(grid.Level, grid.LeftEdge, grid.ActiveDimensions)
+
+ assert_equal(cg['stars', 'particle_ones'].shape[0],
+ grid['stars', 'particle_ones'].shape[0])
https://bitbucket.org/yt_analysis/yt/commits/61bc54a88820/
Changeset: 61bc54a88820
Branch: yt
User: ngoldbaum
Date: 2017-03-31 18:54:57+00:00
Summary: Handle on-disk particle fields as well
Affected #: 2 files
diff -r 632e31e077bc2b7868bdb20e1856c10e6fffe5d8 -r 61bc54a8882043e429c177e0f50f3a31fe591078 yt/data_objects/construction_data_containers.py
--- a/yt/data_objects/construction_data_containers.py
+++ b/yt/data_objects/construction_data_containers.py
@@ -630,7 +630,10 @@
if len(part) > 0: self._fill_particles(part)
if len(fill) > 0: self._fill_fields(fill)
for a, f in sorted(alias.items()):
- self[a] = f(self)
+ if f.particle_type:
+ self[a] = self._data_source[f]
+ else:
+ self[a] = f(self)
self.field_data[a].convert_to_units(f.output_units)
if len(gen) > 0:
part_gen = []
diff -r 632e31e077bc2b7868bdb20e1856c10e6fffe5d8 -r 61bc54a8882043e429c177e0f50f3a31fe591078 yt/data_objects/tests/test_particle_filter.py
--- a/yt/data_objects/tests/test_particle_filter.py
+++ b/yt/data_objects/tests/test_particle_filter.py
@@ -64,3 +64,5 @@
assert_equal(cg['stars', 'particle_ones'].shape[0],
grid['stars', 'particle_ones'].shape[0])
+ assert_equal(cg['stars', 'particle_mass'].shape[0],
+ grid['stars', 'particle_mass'].shape[0])
https://bitbucket.org/yt_analysis/yt/commits/2441e1324406/
Changeset: 2441e1324406
Branch: yt
User: xarthisius
Date: 2017-04-11 13:50:26+00:00
Summary: Merged in ngoldbaum/yt (pull request #2569)
Fix covering grid access for particle filters. Closes #1342
Approved-by: Yi-Hao Chen <yihaochentw at gmail.com>
Approved-by: Britton Smith <brittonsmith at gmail.com>
Approved-by: Kacper Kowalik <xarthisius.kk at gmail.com>
Affected #: 3 files
diff -r bd29e64137efc0b63a190d587ff1766bab19db37 -r 2441e1324406c79c6fe366223f8b5ee69b2f1b54 yt/data_objects/construction_data_containers.py
--- a/yt/data_objects/construction_data_containers.py
+++ b/yt/data_objects/construction_data_containers.py
@@ -630,9 +630,23 @@
if len(part) > 0: self._fill_particles(part)
if len(fill) > 0: self._fill_fields(fill)
for a, f in sorted(alias.items()):
- self[a] = f(self)
+ if f.particle_type:
+ self[a] = self._data_source[f]
+ else:
+ self[a] = f(self)
self.field_data[a].convert_to_units(f.output_units)
- if len(gen) > 0: self._generate_fields(gen)
+ if len(gen) > 0:
+ part_gen = []
+ cell_gen = []
+ for field in gen:
+ finfo = self.ds.field_info[field]
+ if finfo.particle_type:
+ part_gen.append(field)
+ else:
+ cell_gen.append(field)
+ self._generate_fields(cell_gen)
+ for p in part_gen:
+ self[p] = self._data_source[p]
def _split_fields(self, fields_to_get):
fill, gen = self.index._split_fields(fields_to_get)
diff -r bd29e64137efc0b63a190d587ff1766bab19db37 -r 2441e1324406c79c6fe366223f8b5ee69b2f1b54 yt/data_objects/particle_filters.py
--- a/yt/data_objects/particle_filters.py
+++ b/yt/data_objects/particle_filters.py
@@ -71,7 +71,7 @@
def wrap_func(self, field_name, old_fi):
new_fi = copy.copy(old_fi)
- new_fi.name = (self.filtered_type, field_name[1])
+ new_fi.name = (self.name, field_name[1])
if old_fi._function == NullFunc:
new_fi._function = TranslationFunc(old_fi.name)
return new_fi
diff -r bd29e64137efc0b63a190d587ff1766bab19db37 -r 2441e1324406c79c6fe366223f8b5ee69b2f1b54 yt/data_objects/tests/test_particle_filter.py
--- a/yt/data_objects/tests/test_particle_filter.py
+++ b/yt/data_objects/tests/test_particle_filter.py
@@ -1,6 +1,8 @@
from __future__ import print_function
import yt
-from yt.testing import requires_file
+from yt.testing import \
+ assert_equal, \
+ requires_file
from yt.data_objects.particle_filters import \
add_particle_filter, particle_filter
@@ -45,3 +47,22 @@
ad = ds.all_data()
ad['deposit', 'stars_cic']
assert True
+
+ at requires_file(iso_galaxy)
+def test_covering_grid_particle_filter():
+ @particle_filter(requires=["particle_type"], filtered_type='all')
+ def stars(pfilter, data):
+ filter = data[(pfilter.filtered_type, "particle_type")] == 2
+ return filter
+
+ ds = yt.load('IsolatedGalaxy/galaxy0030/galaxy0030')
+
+ ds.add_particle_filter('stars')
+
+ for grid in ds.index.grids[20:31]:
+ cg = ds.covering_grid(grid.Level, grid.LeftEdge, grid.ActiveDimensions)
+
+ assert_equal(cg['stars', 'particle_ones'].shape[0],
+ grid['stars', 'particle_ones'].shape[0])
+ assert_equal(cg['stars', 'particle_mass'].shape[0],
+ grid['stars', 'particle_mass'].shape[0])
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