diff --git a/openmc/data/multipole.py b/openmc/data/multipole.py index ac1e93447..f7a78d953 100644 --- a/openmc/data/multipole.py +++ b/openmc/data/multipole.py @@ -652,7 +652,7 @@ class WindowedMultipole(EqualityMixin): fun = np.vectorize(lambda x: self._evaluate(x, T)) return fun(E) - def to_hdf5(self, path, libver='earliest'): + def export_to_hdf5(self, path, libver='earliest'): """Export windowed multipole data to an HDF5 file. Parameters @@ -666,33 +666,32 @@ class WindowedMultipole(EqualityMixin): """ # Open file and write version. - f = h5py.File(path, 'w', libver=libver) - f.create_dataset('version', (1, ), dtype='S10') - f['version'][:] = WMP_VERSION.encode('ASCII') + with h5py.File(path, 'w', libver=libver) as f: + f.create_dataset('version', (1, ), dtype='S10') + f['version'][:] = WMP_VERSION.encode('ASCII') - # Make a nuclide group. - g = f.create_group('nuclide') + # Make a nuclide group. + g = f.create_group('nuclide') - # Write scalars. - if self.formalism == 'MLBW': - g.create_dataset('formalism', - data=np.array(_FORM_MLBW, dtype=np.int32)) - else: - # Assume RM. - g.create_dataset('formalism', - data=np.array(_FORM_RM, dtype=np.int32)) - g.create_dataset('spacing', data=np.array(self.spacing)) - g.create_dataset('sqrtAWR', data=np.array(self.sqrtAWR)) - g.create_dataset('start_E', data=np.array(self.start_E)) - g.create_dataset('end_E', data=np.array(self.end_E)) + # Write scalars. + if self.formalism == 'MLBW': + g.create_dataset('formalism', + data=np.array(_FORM_MLBW, dtype=np.int32)) + else: + # Assume RM. + g.create_dataset('formalism', + data=np.array(_FORM_RM, dtype=np.int32)) + g.create_dataset('spacing', data=np.array(self.spacing)) + g.create_dataset('sqrtAWR', data=np.array(self.sqrtAWR)) + g.create_dataset('start_E', data=np.array(self.start_E)) + g.create_dataset('end_E', data=np.array(self.end_E)) - # Write arrays. - g.create_dataset('data', data=self.data) - g.create_dataset('l_value', data=self.l_value) - g.create_dataset('pseudo_K0RS', data=self.pseudo_k0RS) - g.create_dataset('w_start', data=self.w_start) - g.create_dataset('w_end', data=self.w_end) - g.create_dataset('broaden_poly', data=self.broaden_poly) - g.create_dataset('curvefit', data=self.curvefit) - - f.close() + # Write arrays. + g.create_dataset('data', data=self.data) + g.create_dataset('l_value', data=self.l_value) + g.create_dataset('pseudo_K0RS', data=self.pseudo_k0RS) + g.create_dataset('w_start', data=self.w_start) + g.create_dataset('w_end', data=self.w_end) + g.create_dataset('broaden_poly', + data=self.broaden_poly.astype(np.int8)) + g.create_dataset('curvefit', data=self.curvefit) diff --git a/tests/unit_tests/test_data_multipole.py b/tests/unit_tests/test_data_multipole.py index de7c1cc93..a1cc5bc02 100644 --- a/tests/unit_tests/test_data_multipole.py +++ b/tests/unit_tests/test_data_multipole.py @@ -58,7 +58,7 @@ def test_high_l(fe56): assert total[0] == pytest.approx(27.85535792368082) -def test_to_hdf5(tmpdir, u235): +def test_export_to_hdf5(tmpdir, u235): filename = str(tmpdir.join('092235.h5')) - u235.to_hdf5(filename) + u235.export_to_hdf5(filename) assert os.path.exists(filename)