Problem with projection / YTQuantity values must be numeric

Hi all, Recently I have seen this error more often:
raise RuntimeError("YTQuantity values must be numeric”)
I have been able to solve most of the problems which were related with units (some packages behave differently if I do units*array or array*unit). However, I’m getting an error when I’m trying to project a field, and I don’t know how to solve that Code: . . def _Disk_H(field, data): center = data.get_field_parameter('center') z = data["z"] - center[2] return np.abs(z) yt.add_field("Disk_H", function=_Disk_H, units="pc", take_log=False, validators=[ValidateParameter('center')]) . . . disk_dd = dd.cut_region(["obj['Disk_H'].in_units('pc') < 1.0e3"]) proj = ds.proj('density', 2,data_source=disk_dd,weight_field='density’) Saludos! José Utreras Error: proj = ds.proj('density', 2,data_source=disk_dd,weight_field='density') File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/construction_data_containers.py", line 262, in __init__ self.get_data(field) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/construction_data_containers.py", line 336, in get_data self._handle_chunk(chunk, fields, tree) File "/home/jutreras/miniconda3/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/data_containers.py", line 960, in _field_parameter_state yield File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/construction_data_containers.py", line 330, in get_data [], "io", local_only = True)): File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py", line 508, in parallel_objects for result_id, obj in oiter: File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 800, in chunks yield self File "/home/jutreras/miniconda3/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/data_containers.py", line 1265, in _chunked_read yield File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 800, in chunks yield self File "/home/jutreras/miniconda3/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/data_containers.py", line 1265, in _chunked_read yield File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 799, in chunks self.get_data(fields) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 805, in get_data ind = self._cond_ind File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 837, in _cond_ind np.logical_and(res, ind, ind) File "/home/jutreras/miniconda3/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/data_containers.py", line 960, in _field_parameter_state yield File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 833, in _cond_ind res = eval(cond) File "<string>", line 1, in <module> File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1094, in __lt__ return super(YTArray, self).__lt__(oth) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1215, in __array_wrap__ any_nonzero = [np.any(oper1), np.any(oper2)] File "/home/jutreras/miniconda3/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 2164, in any return _wrapreduction(a, np.logical_or, 'any', axis, None, out, keepdims=keepdims) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 84, in _wrapreduction return reduction(axis=axis, out=out, **passkwargs) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/numpy/core/_methods.py", line 43, in _any return umr_any(a, axis, dtype, out, keepdims) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1175, in __array_wrap__ return ret[()] File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1165, in __getitem__ return YTQuantity(ret, self.units, bypass_validation=True) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1353, in __new__ raise RuntimeError("YTQuantity values must be numeric") RuntimeError: YTQuantity values must be numeric

Hi José, Can you try, in your cut region, changing the selection string to this? "obj['Disk_H'].in_units('pc').d < 1.0e3" (It'd be better to multiply 1.0e3 times the unit pc, but I don't know if it's imported at that point.) Also, does the `disk` object work in lieu of a cut_region? On Tue, Jun 18, 2019 at 11:23 AM José Mauricio Utreras <jutreras@ug.uchile.cl> wrote:
Hi all,
Recently I have seen this error more often:
raise RuntimeError("YTQuantity values must be numeric”)
I have been able to solve most of the problems which were related with units (some packages behave differently if I do units*array or array*unit).
However, I’m getting an error when I’m trying to project a field, and I don’t know how to solve that
Code: . .
def _Disk_H(field, data): center = data.get_field_parameter('center') z = data["z"] - center[2] return np.abs(z) yt.add_field("Disk_H", function=_Disk_H, units="pc", take_log=False, validators=[ValidateParameter('center')])
. . .
disk_dd = dd.cut_region(["obj['Disk_H'].in_units('pc') < 1.0e3"]) proj = ds.proj('density', 2,data_source=disk_dd,weight_field='density’)
Saludos!
José Utreras
Error:
proj = ds.proj('density', 2,data_source=disk_dd,weight_field='density') File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/construction_data_containers.py", line 262, in __init__ self.get_data(field) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/construction_data_containers.py", line 336, in get_data self._handle_chunk(chunk, fields, tree) File "/home/jutreras/miniconda3/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/data_containers.py", line 960, in _field_parameter_state yield File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/construction_data_containers.py", line 330, in get_data [], "io", local_only = True)): File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/utilities/parallel_tools/parallel_analysis_interface.py", line 508, in parallel_objects for result_id, obj in oiter: File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 800, in chunks yield self File "/home/jutreras/miniconda3/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/data_containers.py", line 1265, in _chunked_read yield File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 800, in chunks yield self File "/home/jutreras/miniconda3/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/data_containers.py", line 1265, in _chunked_read yield File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 799, in chunks self.get_data(fields) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 805, in get_data ind = self._cond_ind File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 837, in _cond_ind np.logical_and(res, ind, ind) File "/home/jutreras/miniconda3/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/data_containers.py", line 960, in _field_parameter_state yield File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/data_objects/selection_data_containers.py", line 833, in _cond_ind res = eval(cond) File "<string>", line 1, in <module> File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1094, in __lt__ return super(YTArray, self).__lt__(oth) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1215, in __array_wrap__ any_nonzero = [np.any(oper1), np.any(oper2)] File "/home/jutreras/miniconda3/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 2164, in any return _wrapreduction(a, np.logical_or, 'any', axis, None, out, keepdims=keepdims) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/numpy/core/fromnumeric.py", line 84, in _wrapreduction return reduction(axis=axis, out=out, **passkwargs) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/numpy/core/_methods.py", line 43, in _any return umr_any(a, axis, dtype, out, keepdims) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1175, in __array_wrap__ return ret[()] File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1165, in __getitem__ return YTQuantity(ret, self.units, bypass_validation=True) File "/home/jutreras/miniconda3/lib/python3.5/site-packages/yt/units/yt_array.py", line 1353, in __new__ raise RuntimeError("YTQuantity values must be numeric") RuntimeError: YTQuantity values must be numeric _______________________________________________ yt-users mailing list -- yt-users@python.org To unsubscribe send an email to yt-users-leave@python.org
participants (2)
-
José Mauricio Utreras
-
Matthew Turk