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-... 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,) ```