Hi all,
I'm having some trouble grasping h5dset_extent_f's use within an
unlimited, chunked dataset. I repeatably see
HDF5-DIAG: Error detected in HDF5 (1.8.4) thread 47063872457504:
#000: ../../../src/H5Dio.c line 245 in H5Dwrite(): file selection+offset not within extent
major: Dataspace
minor: Out of range
when calling h5dwrite_f. but I believe the hyperslab I want to write
is within the extended extent.
Attached is a small, commented recreate for ifort or gfortran against
serial HDF5 1.8.4 (build and run with 'h5fc test.F90 && ./a.out').
Any help would be much appreciated,
Rhys
test.F90 (2.39 KB)
I'm having some trouble grasping h5dset_extent_f's use within an
unlimited, chunked dataset. I repeatably see
HDF5-DIAG: Error detected in HDF5 (1.8.4) thread 47063872457504:
#000: ../../../src/H5Dio.c line 245 in H5Dwrite(): file selection+offset not within extent
...
when calling h5dwrite_f. but I believe the hyperslab I want to write
is within the extended extent.
From Ruth Aydt:
Based on looking at a C example where a dataset was extended, I think you need to
"get the space" again after you've extended the dataset.
...
I suspect you need to add
CALL h5dget_space_f (dataset, filespace, error)
after the "IF (error < 0) CALL ABORT line.
Worked perfectly. Thank you Ruth! The working sample is attached in
case it's useful to someone down the line.
What part of the documentation did I miss? I don't recall seeing
anything stating that I need to re-retrieve the dataspace after it has
been extended.
- Rhys
test.F90 (2.27 KB)