Releases: geospace-code/h5fortran
add CDash
remove duplicated use statements
GFortran 9.3.0 is sensitive to duplicated use statements and will error, so this removes them.
enable fletcher32 checksum if compression used
v2.8.2 comment debug statements, add fletcher32
refactor, streamline
Use more efficient logic, prepare for array slicing, remove unused use elements, put _lt procedures in own file for dev convenience.
auto-chunking
on a per-dataset basis, allow user to either set chunking or auto-chunk for easier use of compression.
Chunking only takes effect when call h5f%initialize(..., comp_lvl=1)
where comp_lvl may be from 1 to 9.
Otherwise, data is written contiguously for fastest write speed.
The auto-chunking algorithm was based on h5py, which has a compatible open-source license.
added call h5f%chunks()
to get the chunk size of a dataset
Documented verbose and debug options
cleaned up redundant code for cleanliness and speed.
Now works on IBM Power systems as well as Intel / AMD and ARM.
improve fortran 2018 std, accomodate more CPU arches
- improve fortran 2018 compliance
- allow more CPU arches by not using
-march=native
with GCC
add write_group method, add tests, reduce redundant checks
This also works around an Intel compiler bug for write_group by making an explicit write_group method, which is less confusing for users anyway.
ierr optional, add tests
ierr
optional--willerror stop
ifierr
not present and HDF5 error occurs- make h5fortran functions not have side effects (no ierr intent(out))
- cleanup build and link
- avoid implicit procedure recursion on write
workaround for Intel Fortran
- ifort has a quirk over the past versions including current where it doesn't realize a function is intrinsic--in this case
rank()
. it's harmless to explicitly declare this. - give hint where to find HDF5 for Intel Fortran on Windows
add shape checks for read/write (disk vs. memory)
added shape checks and self tests for read and write -- check that shape of memory array and disk array match for read, and for write if variable exists. Return error code if they don't.