This submodule is for writing HDF5 data via child submodules
guess chunk size, keeping in mind 1 Megabyte recommended maximum chunk size
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(hdf5_file), | intent(inout) | :: | self | |||
integer(kind=HSIZE_T), | intent(in) | :: | dims(:) | |||
integer(kind=HID_T), | intent(out) | :: | pid | |||
integer, | intent(out) | :: | ierr | |||
integer, | intent(in), | optional | :: | chunk_size(:) |
based on https://github.com/h5py/h5py/blob/master/h5py/_hl/filters.py refer to https://support.hdfgroup.org/HDF5/Tutor/layout.html Repeatedly loop over the axes, dividing them by 2. Stop when: 1a. We're smaller than the target chunk size, OR 1b. We're within 50% of the target chunk size, AND 2. The chunk is smaller than the maximum chunk size
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=HSIZE_T), | intent(in) | :: | dims(:) | |||
integer(kind=HSIZE_T), | intent(out) | :: | chunk_size(:) |
h5lexists_f can false error with groups--just use h5ltpath_valid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(hdf5_file), | intent(inout) | :: | self | |||
character(len=*), | intent(in) | :: | dname | |||
integer(kind=HID_T), | intent(in) | :: | dtype | |||
integer(kind=HSIZE_T), | intent(in) | :: | dims(:) | |||
integer(kind=HID_T), | intent(out), | optional | :: | sid | ||
integer(kind=HID_T), | intent(out), | optional | :: | did | ||
integer, | intent(in), | optional | :: | chunk_size(:) | ||
integer, | intent(in), | optional | :: | istart(:) | ||
integer, | intent(in), | optional | :: | iend(:) | ||
integer, | intent(in), | optional | :: | stride(:) | ||
logical, | intent(in), | optional | :: | compact | keep istart, iend, stride for future slice shape check |
HDF5 soft link -- to variables in same file target need not exist (dangling link) linking to external files requires an external link (different function required)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(hdf5_file), | intent(inout) | :: | self | |||
character(len=*), | intent(in) | :: | target | |||
character(len=*), | intent(in) | :: | link |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(hdf5_file), | intent(inout) | :: | self | |||
character(len=*), | intent(in) | :: | gname | |||
integer, | intent(out), | optional | :: | ierr |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(hdf5_file), | intent(inout) | :: | self | |||
integer, | intent(out), | optional | :: | ierr |