[yt-users] Particles in FLASH output
Jason Galyardt
jason.galyardt at gmail.com
Tue Apr 28 15:28:30 PDT 2015
Hi John,
There is no traceback; it fails silently.
Jason
On Apr 28, 2015 5:37 PM, "John Zuhone" <jzuhone at gmail.com> wrote:
> Jason,
>
> What is your traceback now? I’m also getting a failure over here but I
> want to check it against yours.
>
> Best,
>
> John
>
> On Apr 28, 2015, at 4:08 PM, Jason Galyardt <jason.galyardt at gmail.com>
> wrote:
>
> Thanks, John. My domain size is 4 x 4 x 24 kpc, and the size of the
> smallest cell is 31.25 pc, according to print_stats(). Here's the grid
> info, in case it's useful:
>
> level # grids # cells # cells^3
> ----------------------------------------------
> 0 48 24576 30
> 1 384 196608 59
> 2 3072 1572864 117
> 3 24448 12517376 233
> ----------------------------------------------
> 27952 14311424
>
> Cheers,
> Jason
>
> On Tue, Apr 28, 2015 at 4:00 PM, John ZuHone <jzuhone at gmail.com> wrote:
>
>> When I come back from the colloquium I will see what I can do with one of
>> my own datasets.
>>
>> Jason, what is your domain size, and the size of the smallest cell?
>>
>> John ZuHone
>> Kavli Center for Astrophysics and Space Research
>> Massachusetts Institute of Technology
>> 77 Massachusetts Ave., 37-582G
>> Cambridge, MA 02139
>> (w) 617-253-2354
>> (m) 781-708-5004
>> jzuhone at space.mit.edu
>> jzuhone at gmail.com
>> http://www.jzuhone.com
>>
>> On Apr 28, 2015, at 3:55 PM, Nathan Goldbaum <nathan12343 at gmail.com>
>> wrote:
>>
>> We have several public FLASH test datasets here:
>>
>> http://yt-project.org/data/
>>
>> I'm not sure whether any of them have both gas and particles.
>>
>> If you're ok with it and your dataset isn't enormous, it might help to
>> share one of the data files you're working with. We've used dropbox or
>> google drive to share big files on the mailing list in the past.
>>
>> On Tue, Apr 28, 2015 at 12:52 PM, Jason Galyardt <
>> jason.galyardt at gmail.com> wrote:
>>
>>> Hi John,
>>>
>>> It sounds like we have a bug in v3.0.2. But it's still not working in
>>> v3.2dev. Do you have any test data that you can use to confirm? I would
>>> just like to make sure it's not user error before I submit a bug report.
>>>
>>> By the way, my output files seem fine - I can plot both gas density and
>>> particle locations simultaneously in VisIt.
>>>
>>> Cheers,
>>> Jason
>>>
>>> On Tue, Apr 28, 2015 at 3:44 PM, John Zuhone <jzuhone at gmail.com> wrote:
>>>
>>>> The reason why this would not work in previous yt versions is that
>>>> annotate_particles assumed code units for length, which for flash are
>>>> centimeters. So “4" would be 4 cm, a ridiculously thin slab, which would
>>>> explain why you end up with a zero selection.
>>>>
>>>> It should work now, based on looking at the code, so if it doesn’t then
>>>> we definitely have a bug.
>>>>
>>>> On Apr 28, 2015, at 3:37 PM, Nathan Goldbaum <nathan12343 at gmail.com>
>>>> wrote:
>>>>
>>>>
>>>>
>>>> On Tue, Apr 28, 2015 at 12:27 PM, Jason Galyardt <
>>>> jason.galyardt at gmail.com> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I've updated to the latest development release of yt (v3.2dev). I no
>>>>> longer get the ValueError to do with zero length selections when I do
>>>>> annotate_particles(). However, I don't get any particles in the plot
>>>>> either. Any other ideas?
>>>>>
>>>>
>>>> Can you try:
>>>>
>>>> p.annotate_particles((4, 'kpc'))
>>>>
>>>> ?
>>>>
>>>> If that works, can you file a bug about annotate_particles not handling
>>>> widths that are YTQuantity instances correctly?
>>>>
>>>> https://bitbucket.org/yt_analysis/yt/issues/new
>>>>
>>>>
>>>>>
>>>>> Thanks,
>>>>> Jason
>>>>>
>>>>> On Tue, Apr 28, 2015 at 2:56 PM, Yuan Li <bear0980 at gmail.com> wrote:
>>>>>
>>>>>> Hi Jason,
>>>>>>
>>>>>> I had trouble with Flash particles last year, and John ZuHone fixed
>>>>>> the bug. Could you try the newest yt3 and see if the problem goes away?
>>>>>>
>>>>>> Yuan
>>>>>>
>>>>>> On Tue, Apr 28, 2015 at 2:53 PM, Jason Galyardt <
>>>>>> jason.galyardt at gmail.com> wrote:
>>>>>>
>>>>>>> Nathan,
>>>>>>>
>>>>>>> I'm using yt version 3.0.2 (which I see is not quite current) on
>>>>>>> Debian 7 (wheezy). I tried to pastebin the iPython error traceback, but it
>>>>>>> failed with a complaint that the MySQL server has 'gone away'. With
>>>>>>> apologies to the list, here's the traceback:
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------------
>>>>>>> ValueError Traceback (most recent
>>>>>>> call last)
>>>>>>> <ipython-input-49-3f118016da60> in <module>()
>>>>>>> ----> 1 p.annotate_particles((4.0,'kpc'))
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/yt/visualization/plot_container.pyc
>>>>>>> in newfunc(*args, **kwargs)
>>>>>>> 68 rv = f(*args, **kwargs)
>>>>>>> 69 args[0]._plot_valid = False
>>>>>>> ---> 70 args[0]._setup_plots()
>>>>>>> 71 return rv
>>>>>>> 72 return newfunc
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/yt/visualization/plot_window.pyc
>>>>>>> in _setup_plots(self)
>>>>>>> 860 label.set_fontproperties(fp)
>>>>>>> 861
>>>>>>> --> 862 self.run_callbacks(f)
>>>>>>> 863
>>>>>>> 864 if draw_axes is False:
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/yt/visualization/plot_container.pyc
>>>>>>> in run_callbacks(self, f)
>>>>>>> 313 CallbackMaker = callback_registry[name]
>>>>>>> 314 callback = CallbackMaker(*args[1:], **kwargs)
>>>>>>> --> 315 callback(cbw)
>>>>>>> 316 for key in self.frb.keys():
>>>>>>> 317 if key not in keys:
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/yt/visualization/plot_modifications.pyc
>>>>>>> in __call__(self, plot)
>>>>>>> 1053 pt = self.ptype
>>>>>>> 1054 gg = ( ( reg[pt, field_x] >= x0 ) & ( reg[pt,
>>>>>>> field_x] <= x1 )
>>>>>>> -> 1055 & ( reg[pt, field_y] >= y0 ) & ( reg[pt,
>>>>>>> field_y] <= y1 ) )
>>>>>>> 1056 if self.minimum_mass is not None:
>>>>>>> 1057 gg &= (reg[pt, "particle_mass"] >=
>>>>>>> self.minimum_mass)
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/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.
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/yt/data_objects/data_containers.pyc
>>>>>>> in get_data(self, fields)
>>>>>>> 665
>>>>>>> 666 read_particles, gen_particles =
>>>>>>> self.index._read_particle_fields(
>>>>>>> --> 667 particles, self,
>>>>>>> self._current_chunk)
>>>>>>> 668 for f, v in read_particles.items():
>>>>>>> 669 self.field_data[f] = self.ds.arr(v, input_units
>>>>>>> = finfos[f].units)
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/yt/geometry/geometry_handler.pyc
>>>>>>> in _read_particle_fields(self, fields, dobj, chunk)
>>>>>>> 232 self._chunk_io(dobj, cache = False),
>>>>>>> 233 selector,
>>>>>>> --> 234 fields_to_read)
>>>>>>> 235 return fields_to_return, fields_to_generate
>>>>>>> 236
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/yt/utilities/io_handler.pyc
>>>>>>> in _read_particle_selection(self, chunks, selector, fields)
>>>>>>> 148 # Here, ptype_map means which particles contribute
>>>>>>> to a given type.
>>>>>>> 149 # And ptf is the actual fields from disk to read.
>>>>>>> --> 150 psize = self._count_particles_chunks(chunks, ptf,
>>>>>>> selector)
>>>>>>> 151 # Now we allocate
>>>>>>> 152 # ptf, remember, is our mapping of what we want to
>>>>>>> read
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/yt/utilities/io_handler.pyc
>>>>>>> in _count_particles_chunks(self, chunks, ptf, selector)
>>>>>>> 119 def _count_particles_chunks(self, chunks, ptf,
>>>>>>> selector):
>>>>>>> 120 psize = defaultdict(lambda: 0) # COUNT PTYPES ON
>>>>>>> DISK
>>>>>>> --> 121 for ptype, (x, y, z) in
>>>>>>> self._read_particle_coords(chunks, ptf):
>>>>>>> 122 psize[ptype] += selector.count_points(x, y, z,
>>>>>>> 0.0)
>>>>>>> 123 return dict(psize.items())
>>>>>>>
>>>>>>> /usr/local/lib/python2.7/dist-packages/yt/frontends/flash/io.pyc in
>>>>>>> _read_particle_coords(self, chunks, ptf)
>>>>>>> 72 start = p_ind[g1.id - g1._id_offset]
>>>>>>> 73 end = p_ind[g2.id - g2._id_offset + 1]
>>>>>>> ---> 74 x = np.asarray(p_fields[start:end, px],
>>>>>>> dtype="=f8")
>>>>>>> 75 y = np.asarray(p_fields[start:end, py],
>>>>>>> dtype="=f8")
>>>>>>> 76 z = np.asarray(p_fields[start:end, pz],
>>>>>>> dtype="=f8")
>>>>>>>
>>>>>>> /usr/lib/python2.7/dist-packages/h5py/_hl/dataset.pyc in
>>>>>>> __getitem__(self, args)
>>>>>>> 312
>>>>>>> 313 # Perform the dataspace selection.
>>>>>>> --> 314 selection = sel.select(self.shape, args, dsid=
>>>>>>> self.id)
>>>>>>> 315
>>>>>>> 316 if selection.nselect == 0:
>>>>>>>
>>>>>>> /usr/lib/python2.7/dist-packages/h5py/_hl/selections.pyc in
>>>>>>> select(shape, args, dsid)
>>>>>>> 92
>>>>>>> 93 sel = SimpleSelection(shape)
>>>>>>> ---> 94 sel[args]
>>>>>>> 95 return sel
>>>>>>> 96
>>>>>>>
>>>>>>> /usr/lib/python2.7/dist-packages/h5py/_hl/selections.pyc in
>>>>>>> __getitem__(self, args)
>>>>>>> 259 return self
>>>>>>> 260
>>>>>>> --> 261 start, count, step, scalar =
>>>>>>> _handle_simple(self.shape,args)
>>>>>>> 262
>>>>>>> 263 self._id.select_hyperslab(start, count, step)
>>>>>>>
>>>>>>> /usr/lib/python2.7/dist-packages/h5py/_hl/selections.pyc in
>>>>>>> _handle_simple(shape, args)
>>>>>>> 510 for arg, length in zip(args, shape):
>>>>>>> 511 if isinstance(arg, slice):
>>>>>>> --> 512 x,y,z = _translate_slice(arg, length)
>>>>>>> 513 s = False
>>>>>>> 514 else:
>>>>>>>
>>>>>>> /usr/lib/python2.7/dist-packages/h5py/_hl/selections.pyc in
>>>>>>> _translate_slice(exp, length)
>>>>>>> 551 raise ValueError("Step must be >= 1 (got %d)" %
>>>>>>> step)
>>>>>>> 552 if stop == start:
>>>>>>> --> 553 raise ValueError("Zero-length selections are not
>>>>>>> allowed")
>>>>>>> 554 if stop < start:
>>>>>>> 555 raise ValueError("Reverse-order selections are not
>>>>>>> allowed")
>>>>>>>
>>>>>>> ValueError: Zero-length selections are not allowed
>>>>>>>
>>>>>>> ------------------------------------------------------------------------
>>>>>>>
>>>>>>> Let me know if any other info would be useful.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Jason
>>>>>>>
>>>>>>> On Tue, Apr 28, 2015 at 2:39 PM, Nathan Goldbaum <
>>>>>>> nathan12343 at gmail.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Apr 28, 2015 at 11:37 AM, Nathan Goldbaum <
>>>>>>>> nathan12343 at gmail.com> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Apr 28, 2015 at 11:36 AM, Jason Galyardt <
>>>>>>>>> jason.galyardt at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi all,
>>>>>>>>>>
>>>>>>>>>> I'm sure I've just overlooked some bit of documentation, but I'm
>>>>>>>>>> having trouble plotting particles generated by FLASH on top of the gas
>>>>>>>>>> density. I've been able to load a plot file with the associated particle
>>>>>>>>>> file via
>>>>>>>>>>
>>>>>>>>>> ds = yt.load(plotfileName, particle_filename=partfileName)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> However, when I try to create a projection and annotate the
>>>>>>>>>> particles with
>>>>>>>>>>
>>>>>>>>>> p = yt.ProjectionPlot(ds, "y", "density")
>>>>>>>>>> p.annotate_particles(1.0) # ValueError!
>>>>>>>>>> # p.annotate_particles((4.0, 'kpc')) # ValueError!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> Can you pastebin the full error traceback? Which yt version are
>>>>>>>>> you using?
>>>>>>>>>
>>>>>>>>
>>>>>>>> Forgot to mention that you can get precise version information by
>>>>>>>> executing "yt version" at the bash command line.
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> I get a ValueError from h5py indicating that zero-length
>>>>>>>>>> selections are not allowed. I have also tried passing the full width of the
>>>>>>>>>> simulation domain to the annotation function without success. I suspect
>>>>>>>>>> that this is a user error stemming from differences between the way that
>>>>>>>>>> Enzo and FLASH store particle data. However, I can't find much in the way
>>>>>>>>>> of documentation or examples for the FLASH particle data format.
>>>>>>>>>>
>>>>>>>>>> Of course, it would also be handy to be able to write my own
>>>>>>>>>> analysis scripts using both gas and particles, but for now, I'll settle for
>>>>>>>>>> any help I can get on simple plotting functionality.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> Jason Galyardt
>>>>>>>>>> Department of Physics and Astronomy
>>>>>>>>>> University of Georgia
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>
>>
>> _______________________________________________
>> 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/20150428/e27d76d6/attachment.htm>
-------------- next part --------------
_______________________________________________
yt-users mailing list
yt-users at lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
More information about the yt-users
mailing list