Receiving "file selection+offset not within extent" after h5dset_extent_f

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)