Possible VDS mapping creation bug

I have a program where I want to use the VDS features of HDF5-1.10.

The problem I want to solve is:
My program run a simulation evolving in time, and store some sample values from the simulation to a HDF5 file. I can save the state of the simulation and re-start my program at any time. When I restart my simulation, the sampling is continued in a new group in the HDF5 file. In the end I end up with many groups containing the sampled values in successive order. I want to create a VDS to glue these parts together to form a continuous time series of sampled data. The VDS is stored in a separate file.

In my program I create three arrays, two with time and one with the actual values. I want to create a mapping for each of the three arrays. i.e. three VDS datasets.

When I create the VDS file, everything looks good, no errors. When I dump the VDS file with 'h5dump -p', the data appears to be good, however, the mapping looks strange, see the attached file 'vdsdump.txt' under dataset 'time' for instance. It should only contain two mappings, the ones pointing to 'run-1/time' and 'run-2/time', not the 'values'-array. The same is true for the 'itstep'-array.

I attach a small sample data file and program to demonstrate the problem. The program is a made for this demonstration purpose only, in reality this is within a larger program. So if anything seems a bit ad-hock, I agree.

Is this a bug in the HDF5 library or is it a problem with my understanding of the VDS features? I have tried to check that I close all handles properly, and have not found any such instances.

Thanks in advance.

Best regards,
Håkon Strandenes

vdsbug.tar.gz (5.28 KB)

vdsdump.txt (8.92 KB)

Sorry for bothering you. I just found out the cause of the problem. Closing and re-opening the dataset creation property list between creating the different VDS datasets made the trick. Of course.

Have a nice day.

Regards,
H�kon

···

On 10/10/2016 12:29 PM, H�kon Strandenes wrote:

I have a program where I want to use the VDS features of HDF5-1.10.

The problem I want to solve is:
My program run a simulation evolving in time, and store some sample
values from the simulation to a HDF5 file. I can save the state of the
simulation and re-start my program at any time. When I restart my
simulation, the sampling is continued in a new group in the HDF5 file.
In the end I end up with many groups containing the sampled values in
successive order. I want to create a VDS to glue these parts together to
form a continuous time series of sampled data. The VDS is stored in a
separate file.

In my program I create three arrays, two with time and one with the
actual values. I want to create a mapping for each of the three arrays.
i.e. three VDS datasets.

When I create the VDS file, everything looks good, no errors. When I
dump the VDS file with 'h5dump -p', the data appears to be good,
however, the mapping looks strange, see the attached file 'vdsdump.txt'
under dataset 'time' for instance. It should only contain two mappings,
the ones pointing to 'run-1/time' and 'run-2/time', not the
'values'-array. The same is true for the 'itstep'-array.

I attach a small sample data file and program to demonstrate the
problem. The program is a made for this demonstration purpose only, in
reality this is within a larger program. So if anything seems a bit
ad-hock, I agree.

Is this a bug in the HDF5 library or is it a problem with my
understanding of the VDS features? I have tried to check that I close
all handles properly, and have not found any such instances.

Thanks in advance.

Best regards,
H�kon Strandenes

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5