I have a strange problem that I'm at a loss trying to figure out. When I write out a file from my Java program (HDF5-Java 2.11, HDF5 1.8.14), and then try to open the file in IDL via h5_parse I get the flowing somewhat cryptic error:
% H5G_GET_NMEMBERS: : Object ID:33554551
% Execution halted at: $MAIN$
Which I interpret as IDL failing to open the one of the groups in the file.
However, if I first pass the file through "h5repack filename filename.repack.h5", then I can open the file in IDL without any problem.
The two files differ slightly in size. If I binary compare, there are lots of differences, but I don't really know the tools to determine what the differences mean. I don't have any trouble reading either file in my Java program, in HDFView, or HDFCompass.
I'm running IDL 8.2.1, which has HDF5 1.8.4.
They are nearly identical from an "h5dump -B -i -p" perspective, with the exception of the SUPERBLOCK_VERSION, which is 2 in the original, but 0 in the second (repacked) file. If the superblock versioning is the problem, is there a way in HDF-Java to select which version of superblock to write?
The two files, as well as the h5_parse from IDL are attached. The routine is failing at line 496 on the first group within the file (after the root group).
; Retrieve the number of groups or datasets within our group.
ngroup = H5G_GET_NMEMBERS(hid, group_name)
hid is different each time I execute, and group_name is 'ORIGIN'
test_HDF_and_Prop_outputs.vbl.temporal.ty.h5 (90.1 KB)
test_HDF_and_Prop_outputs.vbl.temporal.ty.h5.repack.h5 (87.9 KB)
h5_parse.pro (17.8 KB)