<html><body>
<p>New issue 1220: sz_kinetic field fails on FLASH datasets for certain axes <a href="https://bitbucket.org/yt_analysis/yt/issues/1220/sz_kinetic-field-fails-on-flash-datasets">https://bitbucket.org/yt_analysis/yt/issues/1220/sz_kinetic-field-fails-on-flash-datasets</a></p>
<p>John ZuHone:</p>
<p>The following simple script fails mysteriously when projecting `"sz_kinetic"` along either the y or z-axis, but not the x-axis:</p>
<p>```python import yt ds = yt.load("GasSloshing/sloshing_nomag2_hdf5_plt_cnt_0100") prj = ds.proj("sz_kinetic", 2) ```</p>
<h3>```pycon --------------------------------------------------------------------------- RuntimeError                              Traceback (most recent call last) <ipython-input-3-fec24ac2f48f> in <module>()</h3>
<p>/Users/jzuhone/Source/yt/yt/data_objects/construction_data_containers.py in __init__(self, field, axis, weight_field, center, ds, data_source, style, method, field_parameters, max_level)</p>
<pre>260
261         if not self.deserialize(field):</pre>
<p>--> 262             self.get_data(field)</p>
<pre>263             self.serialize()
264</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/construction_data_containers.py in get_data(self, fields)</p>
<pre>334                     self._initialize_projected_units(fields, chunk)
335                     _units_initialized = True</pre>
<p>--> 336                 self._handle_chunk(chunk, fields, tree)</p>
<pre>337         # Note that this will briefly double RAM usage
338         if self.method == "mip":</pre>
<p>/Users/jzuhone/miniconda3/lib/python3.5/contextlib.py in __exit__(self, type, value, traceback)</p>
<pre>75                 value = type()
76             try:</pre>
<p>---> 77                 self.gen.throw(type, value, traceback)</p>
<pre>78                 raise RuntimeError("generator didn't stop after throw()")
79             except StopIteration as exc:</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in _field_parameter_state(self, field_parameters)</p>
<pre>953         new_field_parameters.update(old_field_parameters)
954         self.field_parameters = new_field_parameters</pre>
<p>--> 955         yield</p>
<pre>956         self.field_parameters = old_field_parameters
957</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/construction_data_containers.py in get_data(self, fields)</p>
<pre>334                     self._initialize_projected_units(fields, chunk)
335                     _units_initialized = True</pre>
<p>--> 336                 self._handle_chunk(chunk, fields, tree)</p>
<pre>337         # Note that this will briefly double RAM usage
338         if self.method == "mip":</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/construction_data_containers.py in _handle_chunk(self, chunk, fields, tree)</p>
<pre>434         v = np.empty((chunk.ires.size, len(fields)), dtype="float64")
435         for i, field in enumerate(fields):</pre>
<p>--> 436             d = chunk[field] * dl</p>
<pre>437             v[:,i] = d
438         if self.weight_field is not None:</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in __getitem__(self, key)</p>
<pre>268                 return self.field_data[f]
269             else:</pre>
<p>--> 270                 self.get_data(f)</p>
<pre>271         # fi.units is the unit expression string. We depend on the registry
272         # hanging off the dataset to define this unit object.</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in get_data(self, fields)</p>
<pre>1182
1183         fields_to_generate += gen_fluids + gen_particles</pre>
<p>-> 1184         self._generate_fields(fields_to_generate)</p>
<pre>1185         for field in list(self.field_data.keys()):
1186             if field not in ofields:</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in _generate_fields(self, fields_to_generate)</p>
<pre>1240                     for f in gip.fields:
1241                         if f not in fields_to_generate:</pre>
<p>-> 1242                             fields_to_generate.append(f)</p>
<pre>1243
1244     @contextmanager</pre>
<p>/Users/jzuhone/miniconda3/lib/python3.5/contextlib.py in __exit__(self, type, value, traceback)</p>
<pre>75                 value = type()
76             try:</pre>
<p>---> 77                 self.gen.throw(type, value, traceback)</p>
<pre>78                 raise RuntimeError("generator didn't stop after throw()")
79             except StopIteration as exc:</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in _field_lock(self)</p>
<pre>1245     def _field_lock(self):
1246         self._locked = True</pre>
<p>-> 1247         yield</p>
<pre>1248         self._locked = False
1249</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in _generate_fields(self, fields_to_generate)</p>
<pre>1202                 fi = self.ds._get_field_info(*field)
1203                 try:</pre>
<p>-> 1204                     fd = self._generate_field(field)</p>
<pre>1205                     if fd is None:
1206                         raise RuntimeError</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in _generate_field(self, field)</p>
<pre>308             if tr is None:
309                 raise YTCouldNotGenerateField(field, self.ds)</pre>
<p>--> 310             return tr</p>
<pre>311
312     def _generate_fluid_field(self, field):</pre>
<p>/Users/jzuhone/miniconda3/lib/python3.5/contextlib.py in __exit__(self, type, value, traceback)</p>
<pre>75                 value = type()
76             try:</pre>
<p>---> 77                 self.gen.throw(type, value, traceback)</p>
<pre>78                 raise RuntimeError("generator didn't stop after throw()")
79             except StopIteration as exc:</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in _field_type_state(self, ftype, finfo, obj)</p>
<pre>965         else:
966             obj._current_fluid_type = ftype</pre>
<p>--> 967         yield</p>
<pre>968         obj._current_particle_type = old_particle_type
969         obj._current_fluid_type = old_fluid_type</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in _generate_field(self, field)</p>
<pre>305                 tr = self._generate_particle_field(field)
306             else:</pre>
<p>--> 307                 tr = self._generate_fluid_field(field)</p>
<pre>308             if tr is None:
309                 raise YTCouldNotGenerateField(field, self.ds)</pre>
<p>/Users/jzuhone/Source/yt/yt/data_objects/data_containers.py in _generate_fluid_field(self, field)</p>
<pre>325             rv = self._generate_spatial_fluid(field, ngt_exception.ghost_zones)
326         else:</pre>
<p>--> 327             rv = finfo(gen_obj)</p>
<pre>328         return rv
329</pre>
<p>/Users/jzuhone/Source/yt/yt/fields/derived_field.py in __call__(self, data)</p>
<pre>193             raise RuntimeError(
194                 "Something has gone terribly wrong, _function is NullFunc " +</pre>
<p>--> 195                 “for %s” % (self.name,))</p>
<pre>196         with self.unit_registry(data):
197             dd = self._function(self, data)</pre>
<p>RuntimeError: Something has gone terribly wrong, _function is NullFunc for ('flash', ‘velz’) ```</p>
<p>Responsible: jzuhone</p>

<img src="http://link.bitbucket.org/wf/open?upn=JlBWjyZTyKwhM1rBKe-2BcAdFPwdECN4PBooLGVSVl7ELnUYX2bLHx7I65ah-2FgHL2ygsoyDhWly6wMQoSvWmU1w-2BJKKDWhPE5rUZIynEzlxbj-2FgaZYdW4bLuSLtH9n-2FwgLcMYPKrG13-2Bq5Q3et0BEK1oZXIugxs7hUWABy-2BVEtqaWEme2znjRdZaWijwlasclWmDz0Nnswg1Ft39Sg0ACuQvE1hoqYyVlwAEITz-2Fp8wPw-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;"/>
</body></html>