[yt-dev] Issue #919: Reading ORION2 sink particle files (yt_analysis/yt)
Anonymous
issues-reply at bitbucket.org
Tue Oct 14 15:19:38 PDT 2014
New issue 919: Reading ORION2 sink particle files
https://bitbucket.org/yt_analysis/yt/issue/919/reading-orion2-sink-particle-files
Anonymous:
yt is having problems reading empty ORION2 sink particle files (on the Chombo frontend).
When I try to make a plot (e.g., a sliceplot) it also reads in the corresponding sink particle file but if no sink particles have been created yet the file will only contain "0 0" and this causes an IO error.
Here's the traceback:
<ipython-input-29-2969b1e8c4ac> in <module>()
----> 1 slcx =SlicePlot(pf, 'x', 'tracer1')
/home/rosen/yt-x86_64/src/yt-hg/yt/visualization/plot_window.pyc in SlicePlot(ds, normal, fields, axis, *args, **kwargs)
1841 del kwargs['north_vector']
1842
-> 1843 return AxisAlignedSlicePlot(ds, normal, fields, *args, **kwargs)
/home/rosen/yt-x86_64/src/yt-hg/yt/visualization/plot_window.pyc in __init__(self, ds, axis, fields, center, width, axes_unit, origin, fontsize, field_parameters, window_size, aspect)
1013 slc = ds.slice(axis, center[axis],
1014 field_parameters = field_parameters, center=center)
-> 1015 slc.get_data(fields)
1016 PWViewerMPL.__init__(self, slc, bounds, origin=origin,
1017 fontsize=fontsize, fields=fields,
/home/rosen/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc in get_data(self, fields)
600 def get_data(self, fields=None):
601 if self._current_chunk is None:
--> 602 self.index._identify_base_chunk(self)
603 if fields is None: return
604 nfields = []
/home/rosen/yt-x86_64/src/yt-hg/yt/data_objects/data_containers.pyc in index(self)
127 if self._index is not None:
128 return self._index
--> 129 self._index = self.ds.index
130 return self._index
131
/home/rosen/yt-x86_64/src/yt-hg/yt/data_objects/static_output.pyc in index(self)
272 raise RuntimeError("You should not instantiate Dataset.")
273 self._instantiated_index = self._index_class(
--> 274 self, dataset_type=self.dataset_type)
275 # Now we do things that we need an instantiated index for
276 # ...first off, we create our field_info now.
/home/rosen/yt-x86_64/src/yt-hg/yt/frontends/chombo/data_structures.pyc in __init__(self, ds, dataset_type)
522
523 def __init__(self, ds, dataset_type="orion_chombo_native"):
--> 524 ChomboHierarchy.__init__(self, ds, dataset_type)
525
526 def _detect_output_fields(self):
/home/rosen/yt-x86_64/src/yt-hg/yt/frontends/chombo/data_structures.pyc in __init__(self, ds, dataset_type)
116 self.float_type = self._handle['Chombo_global'].attrs['testReal'].dtype.name
117 self._levels = [key for key in self._handle.keys() if key.startswith('level')]
--> 118 GridIndex.__init__(self, ds, dataset_type)
119
120 self._read_particles()
/home/rosen/yt-x86_64/src/yt-hg/yt/geometry/geometry_handler.pyc in __init__(self, ds, dataset_type)
63 # potentially quite expensive, and should be done with the indexing.
64 mylog.debug("Detecting fields.")
---> 65 self._detect_output_fields()
66
67 def __del__(self):
/home/rosen/yt-x86_64/src/yt-hg/yt/frontends/chombo/data_structures.pyc in _detect_output_fields(self)
536 self.particle_filename = self.index_filename[:-4] + 'sink'
537 if not os.path.exists(self.particle_filename): return
--> 538 pfield_list = [("io", c) for c in self.io.particle_field_index.keys()]
539 self.field_list.extend(pfield_list)
540
/home/rosen/yt-x86_64/src/yt-hg/yt/frontends/chombo/io.pyc in particle_field_index(self)
279 fn = self.ds.fullplotdir[:-4] + "sink"
280
--> 281 index = parse_orion_sinks(fn)
282
283 self._particle_field_index = index
/home/rosen/yt-x86_64/src/yt-hg/yt/frontends/chombo/io.pyc in parse_orion_sinks(fn)
224 with open(fn, 'r') as f:
225 lines = f.readlines()
--> 226 line = lines[1]
227
228 # The basic fields that all sink particles have
IndexError: list index out of range
Responsible: atmyers
More information about the yt-dev
mailing list