[yt-svn] commit/yt: ngoldbaum: Merged in atmyers/yt (pull request #2165)
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Wed May 11 11:23:25 PDT 2016
1 new commit in yt:
https://bitbucket.org/yt_analysis/yt/commits/f9d1b41b06bd/
Changeset: f9d1b41b06bd
Branch: yt
User: ngoldbaum
Date: 2016-05-11 18:23:06+00:00
Summary: Merged in atmyers/yt (pull request #2165)
[BUGFIX] Give user-added derived fields a default field type. Closes Issue #1029.
Affected #: 3 files
diff -r 0b86fcb157653daf6f3abafcb65518cec55b5a50 -r f9d1b41b06bdb68e6642917795f68766c90a304e yt/data_objects/static_output.py
--- a/yt/data_objects/static_output.py
+++ b/yt/data_objects/static_output.py
@@ -597,7 +597,8 @@
ftype = self._last_freq[0] or ftype
field = (ftype, fname)
if field == self._last_freq:
- return self._last_finfo
+ if field not in self.field_info.field_aliases.values():
+ return self._last_finfo
if field in self.field_info:
self._last_freq = field
self._last_finfo = self.field_info[(ftype, fname)]
diff -r 0b86fcb157653daf6f3abafcb65518cec55b5a50 -r f9d1b41b06bdb68e6642917795f68766c90a304e yt/fields/field_info_container.py
--- a/yt/fields/field_info_container.py
+++ b/yt/fields/field_info_container.py
@@ -253,7 +253,17 @@
self[name] = DerivedField(name, f, **kwargs)
return f
return create_function
- self[name] = DerivedField(name, function, **kwargs)
+ ptype = kwargs.get("particle_type", False)
+ if ptype:
+ ftype = 'all'
+ else:
+ ftype = self.ds.default_fluid_type
+ if not isinstance(name, tuple) and (ftype, name) not in self:
+ tuple_name = (ftype, name)
+ self[tuple_name] = DerivedField(tuple_name, function, **kwargs)
+ self.alias(name, tuple_name)
+ else:
+ self[name] = DerivedField(name, function, **kwargs)
def load_all_plugins(self, ftype="gas"):
loaded = []
diff -r 0b86fcb157653daf6f3abafcb65518cec55b5a50 -r f9d1b41b06bdb68e6642917795f68766c90a304e yt/fields/tests/test_fields.py
--- a/yt/fields/tests/test_fields.py
+++ b/yt/fields/tests/test_fields.py
@@ -4,6 +4,7 @@
load
from yt.testing import \
fake_random_ds, \
+ fake_particle_ds, \
assert_almost_equal, \
assert_equal, \
assert_array_almost_equal_nulp, \
@@ -313,6 +314,28 @@
ad['density_alias']
assert ds.derived_field_list[0] == 'density_alias'
+def test_add_field_string_aliasing():
+ ds = fake_random_ds(16)
+
+ def density_alias(field, data):
+ return data['density']
+
+ ds.add_field('density_alias', function=density_alias, units='g/cm**3')
+
+ ds.field_info['density_alias']
+ ds.field_info['gas', 'density_alias']
+
+ ds = fake_particle_ds()
+
+ def pmass_alias(field, data):
+ return data['particle_mass']
+
+ ds.add_field('particle_mass_alias', function=pmass_alias,
+ units='g', particle_type=True)
+
+ ds.field_info['particle_mass_alias']
+ ds.field_info['all', 'particle_mass_alias']
+
if __name__ == "__main__":
setup()
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-svn-spacepope.org/attachments/20160511/a7643fef/attachment.html>
More information about the yt-svn
mailing list