[yt-users] Segmentation Fault Analyzing Gasoline (TIPSY) data with yt-3.0
Matthew Turk
matthewturk at gmail.com
Wed Nov 27 11:06:41 PST 2013
Hi Samantha and everyone,
Sorry for the long delay in replying. I've figured out the problem,
and how to fix it.
The endianness of Tipsy data often has to be guessed, and we don't do
a good job of that. I was able to load the data by supplying the
argument:
endian = '<'
to the TipsyStaticOutput command. I've pushed a change that notes
this if it doesn't get a consistent output, but here's my full script:
from yt.mods import *
domain_left_edge = np.zeros(3, dtype="float64") - 600
domain_right_edge = np.zeros(3, dtype="float64") + 600
ds = TipsyStaticOutput('test.00169',parameter_file='test.param', endian = '<',
domain_left_edge = domain_left_edge,
domain_right_edge = domain_right_edge,
n_ref = 8,
)
for v in ds._header_spec: print v, ds.parameters[v[0]]
p = ProjectionPlot(ds, "x", ("deposit", "all_density"))
p.save()
-Matt
On Fri, Nov 15, 2013 at 3:36 PM, Nathan Goldbaum <nathan12343 at gmail.com> wrote:
> Unfortunately I don't have time to look into this too deeply. For what it's
> worth, I get the traceback pasted below when I try to load Samantha's
> dataset. It looks like there's some corruption happening when yt tries to
> infer the particle counts.
>
> In [1]: ds = TipsyStaticOutput('test.00169', parameter_file='test.param',
> domain_left_edge=[-57]*3, domain_right_edge=[57]*3)
>
> In [2]: ds.h
> Exception IndexError: 'Out of bounds on buffer access (axis 0)' in
> 'yt.geometry.particle_oct_container.ParticleRegions._mask_positions' ignored
> ---------------------------------------------------------------------------
> ValueError Traceback (most recent call last)
> /Users/goldbaum/Documents/yt-3.0/scripts/iyt in <module>()
> ----> 1 ds.h
>
> /Users/goldbaum/Documents/yt-3.0/yt/data_objects/static_output.pyc in
> hierarchy(self)
> 220 raise RuntimeError("You should not instantiate
> StaticOutput.")
> 221 self._instantiated_hierarchy = self._hierarchy_class(
> --> 222 self, data_style=self.data_style)
> 223 # Now we do things that we need an instantiated
> hierarchy for
> 224 if "all" not in self.particle_types:
>
> /Users/goldbaum/Documents/yt-3.0/yt/geometry/particle_geometry_handler.pyc
> in __init__(self, pf, data_style)
> 48 self.directory = os.path.dirname(self.hierarchy_filename)
> 49 self.float_type = np.float64
> ---> 50 super(ParticleGeometryHandler, self).__init__(pf,
> data_style)
> 51
> 52 def _setup_geometry(self):
>
> /Users/goldbaum/Documents/yt-3.0/yt/geometry/geometry_handler.pyc in
> __init__(self, pf, data_style)
> 64
> 65 mylog.debug("Setting up domain geometry.")
> ---> 66 self._setup_geometry()
> 67
> 68 mylog.debug("Initializing data grid data IO")
>
> /Users/goldbaum/Documents/yt-3.0/yt/geometry/particle_geometry_handler.pyc
> in _setup_geometry(self)
> 52 def _setup_geometry(self):
> 53 mylog.debug("Initializing Particle Geometry Handler.")
> ---> 54 self._initialize_particle_handler()
> 55
> 56
>
> /Users/goldbaum/Documents/yt-3.0/yt/geometry/particle_geometry_handler.pyc
> in _initialize_particle_handler(self)
> 87 pf.domain_left_edge, pf.domain_right_edge,
> 88 [N, N, N], len(self.data_files))
> ---> 89 self._initialize_indices()
> 90 self.oct_handler.finalize()
> 91 self.max_level = self.oct_handler.max_level
>
> /Users/goldbaum/Documents/yt-3.0/yt/geometry/particle_geometry_handler.pyc
> in _initialize_indices(self)
> 109 npart = sum(data_file.total_particles.values())
> 110 morton[ind:ind + npart] = \
> --> 111 self.io._initialize_index(data_file, self.regions)
> 112 ind += npart
> 113 morton.sort()
>
> /Users/goldbaum/Documents/yt-3.0/yt/frontends/sph/io.py in
> _initialize_index(self, data_file, regions)
> 486 morton[ind:ind+c] = compute_morton(
> 487 pos[:,0], pos[:,1], pos[:,2],
> --> 488 DLE, DRE)
> 489 ind += c
> 490 mylog.info("Adding %0.3e particles", morton.size)
>
> ValueError: could not broadcast input array from shape (301190) into shape
> (10000000)
>
>
>
> On Fri, Nov 15, 2013 at 11:39 AM, Samantha Benincasa <benincsm at mcmaster.ca>
> wrote:
>>
>> Hi Nathan,
>>
>> I've put a sample tipsy file and the corresponding param file up, they can
>> be downloaded at these links:
>>
>> tipsy file:
>> http://www.physics.mcmaster.ca/~benincsm/test.00169
>>
>> parameter file:
>> http://www.physics.mcmaster.ca/~benincsm/test.param
>>
>> Samantha
>>
>>
>> On Fri, Nov 15, 2013 at 2:24 PM, Nathan Goldbaum <nathan12343 at gmail.com>
>> wrote:
>>>
>>> Hi Samantha,
>>>
>>> Do you have a sample dataset you can share? Uploading to a personal
>>> website works well, but you can also share a link from dropbox, google
>>> drive, or some other similar service.
>>>
>>> -Nathan
>>>
>>>
>>> On Fri, Nov 15, 2013 at 10:57 AM, Samantha Benincasa
>>> <benincsm at mcmaster.ca> wrote:
>>>>
>>>> Hello,
>>>>
>>>> I have been trying to analyze a TIPSY dataset using the new features in
>>>> yt-3.0. I am unable to do any analysis without getting a segmentation
>>>> fault.
>>>>
>>>> Following the python notebook example for Gasoline, I read in the data
>>>> using the command:
>>>>
>>>> ds = TipsyStaticOutput('test.00001',parameter_file='test.param')
>>>>
>>>> When I try to construct a plot collection, I am given the following
>>>> error:
>>>>
>>>> YTDomainOverflow: Particle bounds [ 1.25443703e-02 -5.12246704e+02
>>>> -5.46726685e+02] and [ 1.25443703e-02 5.65781677e+02 4.61335541e+02]
>>>> exceed domain bounds [-0.5 -0.5 -0.5] and [ 0.5 0.5 0.5]
>>>>
>>>> If I instead try to manually set the domain bounds in the
>>>> TipsyStaticOutput command,
>>>>
>>>> ds =
>>>> TipsyStaticOutput('test.00001',parameter_file='test.param',domain_left_edge=[-57,-57,-57],domain_right_edge=[57,57,57])
>>>>
>>>> This gets rid of the domain boundary errors but I still receive a
>>>> segmentation fault when I try to create the PlotCollection. I am just
>>>> trying to read the data in so I can make slices/projections in temperature
>>>> and density.
>>>>
>>>> Thank you in advance for the help,
>>>> Samantha
>>>>
>>>> _______________________________________________
>>>> 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
>
More information about the yt-users
mailing list