[yt-users] strange error with StarMassMsun
John Wise
jwise at physics.gatech.edu
Mon Feb 17 05:01:51 PST 2014
Hi Geoffrey,
This pull request has been merged, so all you have to do is update your
yt installation on Stampede now.
Thanks,
John
On 02/16/2014 08:00 PM, John Wise wrote:
> Hi Geoffrey,
>
> This will happen if you're running with 32-bit precision in Enzo, and
> the particle fields except for position will be in 32-bit. However, the
> CICDeposit3 routine expects 64-bit floats as input. I've created a pull
> request that fixes this bug.
>
> https://bitbucket.org/yt_analysis/yt/pull-request/706/input-enzo-deposited-fields-should-be/diff
>
>
> You can go ahead and test it by pulling my changeset and recompiling.
>
> hg pull -r f9127d6 https://bitbucket.org/jwise77/yt
> hg up
>
> Please see if this works for you and comment on the PR page.
>
> Cheers,
> John
>
> On 02/14/2014 05:12 PM, Geoffrey So wrote:
>> I'm getting a strange error when executing the command
>>
>> starmass = ell.quantities['TotalQuantity']('StarMassMsun')[0]
>>
>> This is on Stampede, and on my laptop running OSX I did not get the same
>> error. Has anyone else seen something similar?
>>
>> From
>> G.S.
>>
>> In [100]: ell.quantities['TotalQuantity']('StarMassMsun')
>> ---------------------------------------------------------------------------
>>
>> ValueError Traceback (most recent call
>> last)
>> /home1/01041/tg802953/dev-yt/src/yt-hg/scripts/iyt in <module>()
>> ----> 1 ell.quantities['TotalQuantity']('StarMassMsun')
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/derived_quantities.pyc
>>
>> in __call__(self, *args, **kwargs)
>> 80 self._data_source.pf.h.io
>> <http://data_source.pf.h.io>)
>> 81 if lazy_reader and not self.force_unlazy:
>> ---> 82 return self._call_func_lazy(args, kwargs)
>> 83 else:
>> 84 return self._call_func_unlazy(args, kwargs)
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/derived_quantities.pyc
>>
>> in _call_func_lazy(self, args, kwargs)
>> 87 self.retvals = [ [] for i in range(self.n_ret)]
>> 88 for gi,g in enumerate(self._get_grids()):
>> ---> 89 rv = self.func(GridChildMaskWrapper(g,
>> self._data_source), *args, **kwargs)
>> 90 if not iterable(rv): rv = (rv,)
>> 91 for i in range(self.n_ret):
>> self.retvals[i].append(rv[i])
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/derived_quantities.pyc
>>
>> in _TotalQuantity(data, fields)
>> 703 totals = []
>> 704 for field in fields:
>> --> 705 if data[field].size < 1:
>> 706 totals.append(0.0)
>> 707 continue
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/derived_quantities.pyc
>>
>> in __getitem__(self, item)
>> 48 def __getitem__(self, item):
>> 49 if item not in self.local_cache:
>> ---> 50 data =
>> self.data_source._get_data_from_grid(self.grid, item)
>> 51 self.local_cache[item] = data
>> 52 return self.local_cache[item]
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/data_containers.pyc
>>
>> in save_state(self, grid, field, *args, **kwargs)
>> 79 old_keys = grid.field_data.keys()
>> 80 grid.field_parameters = self.field_parameters
>> ---> 81 tr = func(self, grid, field, *args, **kwargs)
>> 82 grid.field_parameters = old_params
>> 83 grid.field_data = YTFieldData( [(k, grid.field_data[k])
>> for k in old_keys] )
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/data_containers.pyc
>>
>> in _get_data_from_grid(self, grid, field)
>> 2644 return np.array([f[i,:][pointI] for i in range(3)])
>> 2645 else:
>> -> 2646 tr = grid[field]
>> 2647 if tr.size == 1: # dx, dy, dz, cellvolume
>> 2648 tr = tr * np.ones(grid.ActiveDimensions,
>> dtype='float64')
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/grid_patch.pyc in
>> __getitem__(self, key)
>> 145 """
>> 146 if key not in self.field_data:
>> --> 147 self.get_data(key)
>> 148 return self.field_data[key]
>> 149
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/grid_patch.pyc in
>> get_data(self, field, convert)
>> 188 else: raise
>> 189 else:
>> --> 190 self._generate_field(field)
>> 191 return self.field_data[field]
>> 192
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/grid_patch.pyc in
>> _generate_field(self, field)
>> 133 self[field] = temp_array[sl]
>> 134 else:
>> --> 135 self[field] = self.pf.field_info[field](self)
>> 136 else: # Can't find the field, try as it might
>> 137 raise exceptions.KeyError(field)
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/field_info_container.pyc
>>
>> in __call__(self, data)
>> 383 ii = self.check_available(data)
>> 384 original_fields = data.keys() # Copy
>> --> 385 dd = self._function(self, data)
>> 386 dd *= self._convert_function(data)
>> 387 for field_name in data.keys():
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/universal_fields.pyc
>>
>> in _StarMass(field, data)
>> 439
>> 440 def _StarMass(field,data):
>> --> 441 return data["star_density"] * data["CellVolume"]
>> 442 add_field("StarMassMsun", units=r"M_{\odot}",
>> 443 function=_StarMass,
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/grid_patch.pyc in
>> __getitem__(self, key)
>> 145 """
>> 146 if key not in self.field_data:
>> --> 147 self.get_data(key)
>> 148 return self.field_data[key]
>> 149
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/grid_patch.pyc in
>> get_data(self, field, convert)
>> 188 else: raise
>> 189 else:
>> --> 190 self._generate_field(field)
>> 191 return self.field_data[field]
>> 192
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/grid_patch.pyc in
>> _generate_field(self, field)
>> 133 self[field] = temp_array[sl]
>> 134 else:
>> --> 135 self[field] = self.pf.field_info[field](self)
>> 136 else: # Can't find the field, try as it might
>> 137 raise exceptions.KeyError(field)
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/data_objects/field_info_container.pyc
>>
>> in __call__(self, data)
>> 383 ii = self.check_available(data)
>> 384 original_fields = data.keys() # Copy
>> --> 385 dd = self._function(self, data)
>> 386 dd *= self._convert_function(data)
>> 387 for field_name in data.keys():
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/frontends/enzo/fields.pyc in
>> _spdensity(field, data)
>> 360 blank,
>> np.array(data.LeftEdge).astype(np.float64),
>> 361
>> np.array(data.ActiveDimensions).astype(np.int32),
>> --> 362 np.float64(data['dx']))
>> 363 return blank
>> 364
>>
>> /home1/01041/tg802953/dev-yt/src/yt-hg/yt/utilities/lib/CICDeposit.so in
>> yt.utilities.lib.CICDeposit.CICDeposit_3
>> (yt/utilities/lib/CICDeposit.c:1643)()
>>
>> ValueError: Buffer dtype mismatch, expected 'float64_t' but got 'float'
>>
>>
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>
>
--
John Wise
Assistant Professor of Physics
Center for Relativistic Astrophysics, Georgia Tech
http://cosmo.gatech.edu
More information about the yt-users
mailing list