Error in converting ACE library to HDF5

Hi all,

Just to report about the error in the script openmc-get-jeff-data (OpenMC version 0.10.0). I’ve got the following message:

Adding: jeff-3.2/ACEs_600K/Cu63.ACE
Adding: jeff-3.2/ACEs_900K/Cu63.ACE
Adding: jeff-3.2/ACEs_1200K/Cu63.ACE
Writing jeff-3.2-hdf5/Cu63.h5…
Traceback (most recent call last):
File “./openmc-get-jeff-data”, line 183, in
data.export_to_hdf5(h5_file, ‘w’, libver=args.libver)
File “/usr/local/lib/python3.5/dist-packages/openmc/data/neutron.py”, line 529, in export_to_hdf5
rx.to_hdf5(rx_group)
File “/usr/local/lib/python3.5/dist-packages/openmc/data/reaction.py”, line 896, in to_hdf5
p.to_hdf5(pgroup)
File “/usr/local/lib/python3.5/dist-packages/openmc/data/product.py”, line 146, in to_hdf5
d.to_hdf5(dgroup)
File “/usr/local/lib/python3.5/dist-packages/openmc/data/uncorrelated.py”, line 69, in to_hdf5
self.angle.to_hdf5(angle_group)
File “/usr/local/lib/python3.5/dist-packages/openmc/data/angle_distribution.py”, line 100, in to_hdf5
dset.attrs[‘offsets’] = offsets
File “h5py/_objects.pyx”, line 54, in h5py._objects.with_phil.wrapper
File “h5py/_objects.pyx”, line 55, in h5py._objects.with_phil.wrapper
File “/usr/local/lib/python3.5/dist-packages/h5py/_hl/attrs.py”, line 95, in setitem
self.create(name, data=value, dtype=base.guess_dtype(value))
File “/usr/local/lib/python3.5/dist-packages/h5py/_hl/attrs.py”, line 188, in create
attr = h5a.create(self._id, self._e(tempname), htype, space)
File “h5py/_objects.pyx”, line 54, in h5py._objects.with_phil.wrapper
File “h5py/_objects.pyx”, line 55, in h5py._objects.with_phil.wrapper
File “h5py/h5a.pyx”, line 47, in h5py.h5a.create
RuntimeError: Unable to create attribute (object header message is too large)

Do you have any idea how can I work around this error?

Thank you,

Denis.

Hi Denis,

You should be able to get around this by running ‘openmc-get-jeff-data --libver latest’. The extra flag tells it to use the latest HDF5 file version. Older HDF5 file formats had a limitation on the size of attributes that could be stored, and that is what is causing the error you are seeing. By using the latest file version, this limitation should be circumvented.

Best regards,
Paul

Hi Paul,

Thank you for your answer. Everything worked well with the --libver latest option.

best regards,

Denis.