[yt-dev] Issue #812: Derived quantities on cut_regions don't work (yt_analysis/yt)
Nathan Goldbaum
issues-reply at bitbucket.org
Sun Mar 23 23:31:08 PDT 2014
New issue 812: Derived quantities on cut_regions don't work
https://bitbucket.org/yt_analysis/yt/issue/812/derived-quantities-on-cut_regions-dont
Nathan Goldbaum:
This came up while updating the docs. Take a look at the following test script:
```
#!python
from yt.mods import *
ds = load("enzo_tiny_cosmology/DD0046/DD0046")
ad = ds.all_data()
total_mass = ad.quantities.total_mass()
# now select only gas with 1e5 K < T < 1e7 K.
new_region = ad.cut_region(['obj["temperature"] > 1e5', 'obj["temperature"] < 1e7'])
cut_mass = new_region.quantities.total_mass()
print "The fraction of mass in this temperature range is %f." % \
(cut_mass / total_mass)
```
Running this on the current `experimental` bookmark returns the following traceback:
```
#!python
ERROR: ValueError: too many boolean indices [yt.units.yt_array]
Traceback (most recent call last):
File "test.py", line 7, in <module>
cut_mass = new_region.quantities.total_mass()
File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/derived_quantities.py", line 194, in __call__
rv = super(TotalMass, self).__call__(fields)
File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/derived_quantities.py", line 163, in __call__
rv = super(TotalQuantity, self).__call__(fields)
File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/derived_quantities.py", line 59, in __call__
sto.result = self.process_chunk(ds, *args, **kwargs)
File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/derived_quantities.py", line 169, in process_chunk
for field in fields]
File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/data_containers.py", line 212, in __getitem__
self.get_data(f)
File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/selection_data_containers.py", line 696, in get_data
self.field_data[field] = self.base_object[field][ind]
File "/Users/goldbaum/Documents/yt-hg/yt/units/yt_array.py", line 721, in __getitem__
ret = super(YTArray, self).__getitem__(item)
ValueError: too many boolean indices
```
More information about the yt-dev
mailing list