HDF5 nuclear data converted from ACE

I am able to convert ACE data to HDF5 (using the provided script) and run OpenMC (develop and various other branches) with that data locally. I am also able to run OpenMC with that locally-converted data on a cluster. However, when I do the conversion on the cluster, running OpenMC with the converted HDF5 data yields:

HDF5-DIAG: Error detected in HDF5 (1.8.18) MPI-process 0:
#000: H5F.c line 604 in H5Fopen(): unable to open file
major: File accessibilty
minor: Unable to open file

I don’t think it’s an issue of the files’ existence or permissions. Are there any typical causes of this error when running OpenMC?

Thanks,
Jon

Hi Jon,

Is it possible that the filesystem the data is a local filesystem on a single node (i.e., other ranks don’t have access to the file)?

Best,
Paul

With all data on the same filesystem, I am able to access HDF5 files that were converted from ACE locally and then transferred to the cluster, but when I hit a file (in the same run) that was converted on the cluster, I hit this error.

I have ~TBs of ACE data I’m trying to convert, so I’d prefer to keep it on the cluster.

What version of HDF5 is your h5py installation linked against? You can find out by running

import h5py
print(h5py.h5.get_libversion())

In the meantime, I built a new HDF5, and with gcc-4.9.3, mvapich2-2.2, and hdf5-1.10.1 everything is now working on the cluster.

That said:

– The erroring exe was built with gcc-4.9.3, mvapich2-2.2, and hdf5-1.8.18 with the same configuration as the successful hdf5-1.10.1

– cluster h5py is linked against 1.10.0

– local h5py is linked against 1.8.13

So, the 1.8.18 openmc didn’t play well with the 1.10.0-generated data, but the 1.8.13-generated data was fine (as is 1.10.0-generated data with a 1.10.1 exe).

Thanks for looking at this, Paul.

This is probably the line that bit you – we use libver=‘latest’ when creating HDF5 files using h5py, which may produce libraries that are incompatible with previous versions of HDF5 as described here. Glad you got it working!