[yt-dev] Issue #861: Plotting random particle data produces broadcasting error (yt_analysis/yt)

Nathan Goldbaum issues-reply at bitbucket.org
Fri Jul 18 22:28:03 PDT 2014


New issue 861: Plotting random particle data produces broadcasting error
https://bitbucket.org/yt_analysis/yt/issue/861/plotting-random-particle-data-produces

Nathan Goldbaum:

This traceback comes from executing the last cell of the loading generic particle data notebook in the docs:


```
#!python traceback

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/visualization/plot_window.pyc in SlicePlot(ds, normal, fields, axis, *args, **kwargs)
   1883             del kwargs['north_vector']
   1884 
-> 1885         return AxisAlignedSlicePlot(ds, normal, fields, *args, **kwargs)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/visualization/plot_window.pyc in __init__(self, ds, axis, fields, center, width, axes_unit, origin, fontsize, field_parameters, window_size, aspect)
   1089         slc = ds.slice(axis, center[axis],
   1090             field_parameters = field_parameters, center=center)
-> 1091         slc.get_data(fields)
   1092         PWViewerMPL.__init__(self, slc, bounds, origin=origin,
   1093                              fontsize=fontsize, fields=fields,

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in get_data(self, fields)
    633 
    634         fields_to_generate += gen_fluids + gen_particles
--> 635         self._generate_fields(fields_to_generate)
    636         for field in self.field_data.keys():
    637             if field not in ofields:

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in _generate_fields(self, fields_to_generate)
    653                 fi = self.ds._get_field_info(*field)
    654                 try:
--> 655                     fd = self._generate_field(field)
    656                     if type(fd) == np.ndarray:
    657                         fd = self.ds.arr(fd, fi.units)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in _generate_field(self, field)
    255                 tr = self._generate_particle_field(field)
    256             else:
--> 257                 tr = self._generate_fluid_field(field)
    258             if tr is None:
    259                 raise YTCouldNotGenerateField(field, self.ds)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in _generate_fluid_field(self, field)
    273             finfo.check_available(gen_obj)
    274         except NeedsGridType as ngt_exception:
--> 275             rv = self._generate_spatial_fluid(field, ngt_exception.ghost_zones)
    276         else:
    277             rv = finfo(gen_obj)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in _generate_spatial_fluid(self, field, ngz)
    289                     o = self._current_chunk.objs[0]
    290                     with o._activate_cache():
--> 291                         ind += o.select(self.selector, self[field], rv, ind)
    292         else:
    293             chunks = self.index._chunk(self, "spatial", ngz = ngz)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in __getitem__(self, key)
    218                 return self.field_data[f]
    219             else:
--> 220                 self.get_data(f)
    221         # fi.units is the unit expression string. We depend on the registry
    222         # hanging off the dataset to define this unit object.

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in get_data(self, fields)
    633 
    634         fields_to_generate += gen_fluids + gen_particles
--> 635         self._generate_fields(fields_to_generate)
    636         for field in self.field_data.keys():
    637             if field not in ofields:

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in _generate_fields(self, fields_to_generate)
    653                 fi = self.ds._get_field_info(*field)
    654                 try:
--> 655                     fd = self._generate_field(field)
    656                     if type(fd) == np.ndarray:
    657                         fd = self.ds.arr(fd, fi.units)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in _generate_field(self, field)
    255                 tr = self._generate_particle_field(field)
    256             else:
--> 257                 tr = self._generate_fluid_field(field)
    258             if tr is None:
    259                 raise YTCouldNotGenerateField(field, self.ds)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in _generate_fluid_field(self, field)
    275             rv = self._generate_spatial_fluid(field, ngt_exception.ghost_zones)
    276         else:
--> 277             rv = finfo(gen_obj)
    278         return rv
    279 

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/fields/derived_field.pyc in __call__(self, data)
    182                 "for %s" % (self.name,))
    183         with self.unit_registry(data):
--> 184             dd = self._function(self, data)
    185         for field_name in data.keys():
    186             if field_name not in original_fields:

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/fields/particle_fields.pyc in particle_cic(field, data)
    114 
    115     def particle_cic(field, data):
--> 116         pos = data[ptype, coord_name]
    117         d = data.deposit(pos, [data[ptype, mass_name]], method = "cic")
    118         d = data.apply_units(d, data[ptype, mass_name].units)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/octree_subset.pyc in __getitem__(self, key)
     74 
     75     def __getitem__(self, key):
---> 76         tr = super(OctreeSubset, self).__getitem__(key)
     77         try:
     78             fields = self._determine_fields(key)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in __getitem__(self, key)
    218                 return self.field_data[f]
    219             else:
--> 220                 self.get_data(f)
    221         # fi.units is the unit expression string. We depend on the registry
    222         # hanging off the dataset to define this unit object.

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/data_objects/data_containers.pyc in get_data(self, fields)
    627 
    628         read_particles, gen_particles = self.index._read_particle_fields(
--> 629                                         particles, self, self._current_chunk)
    630         for f, v in read_particles.items():
    631             self.field_data[f] = self.ds.arr(v, input_units = finfos[f].units)

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/geometry/geometry_handler.pyc in _read_particle_fields(self, fields, dobj, chunk)
    231             self._chunk_io(dobj, cache = False),
    232             selector,
--> 233             fields_to_read)
    234         for field in fields_to_read:
    235             ftype, fname = field

/var/lib/jenkins/jobs/yt-docs-3.0/workspace/yt/utilities/io_handler.pyc in _read_particle_selection(self, chunks, selector, fields)
    172                 #mylog.debug("Filling %s from %s to %s with %s",
    173                 #    field_f, my_ind, my_ind+vals.shape[0], field_r)
--> 174                 rv[field_f][my_ind:my_ind + vals.shape[0],...] = vals
    175                 ind[field_f] += vals.shape[0]
    176         # Now we need to truncate all our fields, since we allow for

ValueError: could not broadcast input array from shape (5000000) into shape (521728)
```






More information about the yt-dev mailing list