Thank you! Matthew Turk wrote:
Hi Elizabeth,
This should now be fixed in the yt branch tip. A fix for ortho rays wasn't apply to non-ortho rays.
-Matt
On Thu, Apr 28, 2011 at 11:33 AM, Elizabeth Tasker <taskere@mcmaster.ca> wrote:
Hi,
When using the ray feature in yt, we hit problems if we try to plot any variable that contains the cell volume. e.g.
def _Momentum(field, data): return (data["Density"]*data["CellVolume"]*sqrt( data["x-velocity"]**2.0 + data["y-velocity"]**2.0 + data["z-velocity"]**2.0 ))
ray = pf.h.ray([0.5, 0.5, 0.5], [1.0,1.0,1.0], "Momentum") pylab.plot(ray["RadiusCode"], ray["Momentum"], 'o')
Gives:
IndexError Traceback (most recent call last) /saw_sfs/work/chris/yt/scripts/iyt in <module>() ----> 1 2 3 4 5
/saw_sfs/work/chris/yt/yt/data_objects/data_containers.pyc in __getitem__(self, key) 274 if key not in self.fields: 275 self.fields.append(key) --> 276 self.get_data(key) 277 return self.data[key] 278
/saw_sfs/work/chris/yt/yt/data_objects/data_containers.pyc in get_data(self, fields, in_grids) 445 mylog.info("Getting field %s from %s", field, len(self._grids)) 446 if field not in self.hierarchy.field_list and not in_grids: --> 447 if field not in ("dts", "t") and self._generate_field(field): 448 continue # True means we already assigned it 449 self[field] = na.concatenate(
/saw_sfs/work/chris/yt/yt/data_objects/data_containers.pyc in _generate_field(self, field) 423 return False 424 else: --> 425 self[field] = self.pf.field_info[field](self) 426 return True 427 else: # Can't find the field, try as it might
/saw_sfs/work/chris/yt/yt/data_objects/field_info_container.pyc in __call__(self, data) 292 ii = self.check_available(data) 293 original_fields = data.keys() # Copy --> 294 dd = self._function(self, data) 295 dd *= self._convert_function(data) 296 for field_name in data.keys(): /saw_sfs/work/chris/yt/scripts/iyt in _Momentum(field, data) 14 15 def _Momentum(field, data): ---> 16 return (data["Density"]*data["CellVolume"]*sqrt( 17 data["x-velocity"]**2.0
18 + data["y-velocity"]**2.0
/saw_sfs/work/chris/yt/yt/data_objects/data_containers.pyc in __getitem__(self, key) 274 if key not in self.fields: 275 self.fields.append(key) --> 276 self.get_data(key) 277 return self.data[key] 278
/saw_sfs/work/chris/yt/yt/data_objects/data_containers.pyc in get_data(self, fields, in_grids) 445 mylog.info("Getting field %s from %s", field, len(self._grids)) 446 if field not in self.hierarchy.field_list and not in_grids: --> 447 if field not in ("dts", "t") and self._generate_field(field): 448 continue # True means we already assigned it 449 self[field] = na.concatenate(
/saw_sfs/work/chris/yt/yt/data_objects/data_containers.pyc in _generate_field(self, field) 423 return False 424 else: --> 425 self[field] = self.pf.field_info[field](self) 426 return True 427 else: # Can't find the field, try as it might
/saw_sfs/work/chris/yt/yt/data_objects/field_info_container.pyc in __call__(self, data) 292 ii = self.check_available(data) 293 original_fields = data.keys() # Copy --> 294 dd = self._function(self, data) 295 dd *= self._convert_function(data) 296 for field_name in data.keys():
/saw_sfs/work/chris/yt/yt/data_objects/universal_fields.pyc in _CellVolume(field, data) 392 393 def _CellVolume(field, data): --> 394 if data['dx'].size == 1: 395 try: 396 return data['dx']*data['dy']*data['dx']*\
/saw_sfs/work/chris/yt/yt/data_objects/data_containers.pyc in __getitem__(self, key) 274 if key not in self.fields: 275 self.fields.append(key) --> 276 self.get_data(key) 277 return self.data[key] 278
/saw_sfs/work/chris/yt/yt/data_objects/data_containers.pyc in get_data(self, fields, in_grids) 449 self[field] = na.concatenate( 450 [self._get_data_from_grid(grid, field) --> 451 for grid in self._grids]) 452 if not self.data.has_key(field): 453 continue
/saw_sfs/work/chris/yt/yt/data_objects/data_containers.pyc in _get_data_from_grid(self, grid, field) 558 if field == 'dts': return self._dts[grid.id][mask] 559 if field == 't': return self._ts[grid.id][mask] --> 560 return grid[field][mask] 561 562 @cache_mask
IndexError: invalid index to scalar variable.
Any ideas?
Elizabeth _______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org