[yt-dev] Issue #1235: ytdata reloaded projection of ('gas', 'density') cannot create the ('gas', 'cell_mass') field (yt_analysis/yt)

Nathan Goldbaum issues-reply at bitbucket.org
Wed Jun 22 20:31:54 PDT 2016


New issue 1235: ytdata reloaded projection of ('gas', 'density') cannot create the ('gas', 'cell_mass') field
https://bitbucket.org/yt_analysis/yt/issues/1235/ytdata-reloaded-projection-of-gas-density

Nathan Goldbaum:

The following script illustrates the issue:

```
import yt
ds = yt.load('IsolatedGalaxy/galaxy0030/galaxy0030')
prj = ds.proj(['density', 'radius'], 0)
prj.save_as_dataset()
ds2 = yt.load('galaxy0030_proj.h5')
ad = ds2.all_data()
ad['cell_mass']
```

This produces the following traceback:

```
ValueError                                Traceback (most recent call last)
/Users/goldbaum/Documents/yt-hg/yt/mods.pyc in <module>()
      3 ds2 = yt.load('galaxy0030_proj.h5')
      4 ad = ds2.all_data()
----> 5 ad['cell_mass']

/Users/goldbaum/Documents/yt-hg/yt/data_objects/data_containers.pyc in __getitem__(self, key)
    270                 return self.field_data[f]
    271             else:
--> 272                 self.get_data(f)
    273         # fi.units is the unit expression string. We depend on the registry
    274         # hanging off the dataset to define this unit object.

/Users/goldbaum/Documents/yt-hg/yt/data_objects/data_containers.pyc in get_data(self, fields)
   1188
   1189         fields_to_generate += gen_fluids + gen_particles
-> 1190         self._generate_fields(fields_to_generate)
   1191         for field in list(self.field_data.keys()):
   1192             if field not in ofields:

/Users/goldbaum/Documents/yt-hg/yt/data_objects/data_containers.pyc in _generate_fields(self, fields_to_generate)
   1208                 fi = self.ds._get_field_info(*field)
   1209                 try:
-> 1210                     fd = self._generate_field(field)
   1211                     if fd is None:
   1212                         raise RuntimeError

/Users/goldbaum/Documents/yt-hg/yt/data_objects/data_containers.pyc in _generate_field(self, field)
    307                 tr = self._generate_particle_field(field)
    308             else:
--> 309                 tr = self._generate_fluid_field(field)
    310             if tr is None:
    311                 raise YTCouldNotGenerateField(field, self.ds)

/Users/goldbaum/Documents/yt-hg/yt/data_objects/data_containers.pyc in _generate_fluid_field(self, field)
    327             rv = self._generate_spatial_fluid(field, ngt_exception.ghost_zones)
    328         else:
--> 329             rv = finfo(gen_obj)
    330         return rv
    331

/Users/goldbaum/Documents/yt-hg/yt/fields/derived_field.pyc in __call__(self, data)
    196                 "for %s" % (self.name,))
    197         with self.unit_registry(data):
--> 198             dd = self._function(self, data)
    199         for field_name in data.keys():
    200             if field_name not in original_fields:

/Users/goldbaum/Documents/yt-hg/yt/fields/fluid_fields.pyc in _cell_mass(field, data)
     58
     59     def _cell_mass(field, data):
---> 60         return data[ftype, "density"] * data[ftype, "cell_volume"]
     61
     62     registry.add_field((ftype, "cell_mass"),

/Users/goldbaum/Documents/yt-hg/yt/units/yt_array.pyc in __mul__(self, right_object)
    956         """
    957         ro = sanitize_units_mul(self, right_object)
--> 958         return super(YTArray, self).__mul__(ro)
    959
    960     def __rmul__(self, left_object):

ValueError: operands could not be broadcast together with shapes (41119,) (55672,)
```




More information about the yt-dev mailing list