[yt-users] TIPSY to regular grid

Nathan Goldbaum nathan12343 at gmail.com
Mon Dec 14 08:33:43 PST 2015


Hi Bruno,

Can you reproduce this using one of the test tipsy datasets we have on
yt-project.org/data? The "agora_1e11.00400" dataset might be a good place
to start.

If you can reproduce it using a public test dataset, you should create an
issue to track this here, including your reproduction script:

https://bitbucket.org/yt_analysis/yt/issues/new

If it doesn't trigger on anything but your data, we can try sharing your
dataset offline so that one of us can reproduce the issue on our local
machine.

-Nathan

On Fri, Dec 11, 2015 at 10:45 PM, Bruno Villasenor <br1villasen at gmail.com>
wrote:

> Hi Matthew,
>
> Here it goes:
>
> ---------------------------------------------------------------------------
> ValueError                                Traceback (most recent call last)
> /home/bruno/Desktop/Dropbox/Developer/parallax/gas_images/volume_dm.py in
> <module>()
>      38                                       dims=ds.domain_dimensions *
> 2**level)
>      39
> ---> 40 dmDens = data[('deposit','DarkMatter_density')]
>      41
>      42
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in __getitem__(self, key)
>     238                 return self.field_data[f]
>     239             else:
> --> 240                 self.get_data(f)
>     241         # fi.units is the unit expression string. We depend on the
> registry
>     242         # hanging off the dataset to define this unit object.
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/construction_data_containers.pyc
> in get_data(self, fields)
>     507         fill, gen, part = self._split_fields(fields_to_get)
>     508         if len(part) > 0: self._fill_particles(part)
> --> 509         if len(fill) > 0: self._fill_fields(fill)
>     510         if len(gen) > 0: self._generate_fields(gen)
>     511
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/construction_data_containers.pyc
> in _fill_fields(self, fields)
>     539         domain_dims = self.ds.domain_dimensions.astype("int64") \
>     540                     * self.ds.relative_refinement(0, self.level)
> --> 541         for chunk in self._data_source.chunks(fields, "io"):
>     542             input_fields = [chunk[field] for field in fields]
>     543             # NOTE: This usage of "refine_by" is actually *okay*,
> because it's
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in chunks(self, fields, chunking_style, **kwargs)
>     564         for chunk in self.index._chunk(self, chunking_style,
> **kwargs):
>     565             with self._chunked_read(chunk):
> --> 566                 self.get_data(fields)
>     567                 # NOTE: we yield before releasing the context
>     568                 yield self
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in get_data(self, fields)
>     670
>     671         fields_to_generate += gen_fluids + gen_particles
> --> 672         self._generate_fields(fields_to_generate)
>     673         for field in self.field_data.keys():
>     674             if field not in ofields:
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in _generate_fields(self, fields_to_generate)
>     690                 fi = self.ds._get_field_info(*field)
>     691                 try:
> --> 692                     fd = self._generate_field(field)
>     693                     if type(fd) == np.ndarray:
>     694                         fd = self.ds.arr(fd, fi.units)
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in _generate_field(self, field)
>     275                 tr = self._generate_particle_field(field)
>     276             else:
> --> 277                 tr = self._generate_fluid_field(field)
>     278             if tr is None:
>     279                 raise YTCouldNotGenerateField(field, self.ds)
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in _generate_fluid_field(self, field)
>     293             finfo.check_available(gen_obj)
>     294         except NeedsGridType as ngt_exception:
> --> 295             rv = self._generate_spatial_fluid(field,
> ngt_exception.ghost_zones)
>     296         else:
>     297             rv = finfo(gen_obj)
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in _generate_spatial_fluid(self, field, ngz)
>     309                     o = self._current_chunk.objs[0]
>     310                     with o._activate_cache():
> --> 311                         ind += o.select(self.selector,
> self[field], rv, ind)
>     312         else:
>     313             chunks = self.index._chunk(self, "spatial", ngz = ngz)
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in __getitem__(self, key)
>     238                 return self.field_data[f]
>     239             else:
> --> 240                 self.get_data(f)
>     241         # fi.units is the unit expression string. We depend on the
> registry
>     242         # hanging off the dataset to define this unit object.
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in get_data(self, fields)
>     670
>     671         fields_to_generate += gen_fluids + gen_particles
> --> 672         self._generate_fields(fields_to_generate)
>     673         for field in self.field_data.keys():
>     674             if field not in ofields:
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in _generate_fields(self, fields_to_generate)
>     690                 fi = self.ds._get_field_info(*field)
>     691                 try:
> --> 692                     fd = self._generate_field(field)
>     693                     if type(fd) == np.ndarray:
>     694                         fd = self.ds.arr(fd, fi.units)
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in _generate_field(self, field)
>     275                 tr = self._generate_particle_field(field)
>     276             else:
> --> 277                 tr = self._generate_fluid_field(field)
>     278             if tr is None:
>     279                 raise YTCouldNotGenerateField(field, self.ds)
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc
> in _generate_fluid_field(self, field)
>     295             rv = self._generate_spatial_fluid(field,
> ngt_exception.ghost_zones)
>     296         else:
> --> 297             rv = finfo(gen_obj)
>     298         return rv
>     299
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/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:
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/fields/particle_fields.pyc in
> particle_density(field, data)
>     104         d = data.deposit(pos, [data[ptype, mass_name]], method =
> "sum")
>     105         d = data.ds.arr(d, "code_mass")
> --> 106         d /= data["index", "cell_volume"]
>     107         return d
>     108
>
> /home/bruno/apps/yt-x86_64/src/yt-hg/yt/units/yt_array.pyc in
> __idiv__(self, other)
>     747         """ See __div__. """
>     748         oth = sanitize_units_mul(self, other)
> --> 749         np.divide(self, oth, out=self)
>     750         return self
>     751
>
> ValueError: operands could not be broadcast together with shapes (2,2,2,8)
> (2,2,2,0) (2,2,2,8)
>
> 2015-12-11 22:27 GMT-06:00 Matthew Turk <matthewturk at gmail.com>:
>
>> Hi Bruno,
>>
>> That's an odd one -- can you supply the rest of the traceback?
>>
>> On Fri, Dec 11, 2015 at 10:16 PM, Bruno Villasenor
>> <br1villasen at gmail.com> wrote:
>> > Hello yt-users,
>> >
>> > I'm trying to get data from a TIPSY file to a fixed resolution array,
>> > The simplest version of my code is below:
>> >
>> > #####################################################
>> > ds = yt.load( dataDir + dataFile,
>> >  parameter_file= dataDir + paramFile )
>> >
>> > ad = ds.all_data()
>> > left = ad.left_edge
>> >
>> > level = 1
>> > data = ds.covering_grid(level=level, left_edge=left,
>> >                                       dims=ds.domain_dimensions *
>> 2**level)
>> >
>> > dmDens = data[('deposit','DarkMatter_density')]
>> > ####################################################
>> >
>> > I'm getting this error:
>> > ValueError: operands could not be broadcast together with shapes
>> (2,2,2,8)
>> > (2,2,2,0) (2,2,2,8)
>> >
>> > Any ideas?
>> >
>> > YT_version: 3.1-dev
>> >
>> > Thanks in advance.
>> > Bruno
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > yt-users mailing list
>> > yt-users at lists.spacepope.org
>> > http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>> >
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>
>
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20151214/13214727/attachment.html>


More information about the yt-users mailing list