Skip to content

Releases: geospace-code/h5fortran

cmake: easier use via FetchContent

13 Jan 11:39
ec96311
Compare
Choose a tag to compare

updated CMake layout to be compatible with FetchContent as well as ExternalProject.

better chunk_size options and quality

13 Jan 10:52
e72ca2d
Compare
Choose a tag to compare

activate per-variable chunk-size. Write contiguous by default compression and chunk-size aren't specified

make cmake hdf5 finding more robust

HDF5 1.10.6 compatible

10 Jan 20:40
7ce4d9c
Compare
Choose a tag to compare

We provide an internal FindHDF5.cmake while waiting for CMake itself to update their FindHDF5.cmake for HDF5 1.10.6

  • now works with Intel Fortran on Windows

  • cleaned up CMake build and Meson build, making tests more robust

CI milestone

06 Jan 20:33
a350c52
Compare
Choose a tag to compare

This release is mostly for development milestone, the end users won't see a difference. This is a milestone where all the CI is passing.

rename module h5fortran

05 Jan 16:05
2e4c421
Compare
Choose a tag to compare

To complete the v2.x release breaking changes, rename top level module to h5fortran.

Made the shaky, time-consuming tests with Python and Matlab not run by default--almost no-one but the h5fortran developers care about them.

Docs: note that Fortran 2008 is used to improve Intel compiler compatibility.

improve error handling

02 Jan 16:37
cba5964
Compare
Choose a tag to compare

Improving error handling by checking for more unexpected conditions like data types not handled by this program or HDF5.

docs: add notes for situations not yet handed by this program. For example, arrays greater than 7-D require Fortran 2008 up to rank 15 support. Only the latest compilers have this, so we stubbed out a concept for reading and writing up to rank 15 data, but didn't yet compile it as some compilers e.g. GCC 9.2.0 have an internal compiler error when trying to build rank 15 support.

add int64 read/write, error test

01 Jan 05:07
e2bd1f6
Compare
Choose a tag to compare
v2.2.0

cmake/meson: skip tests when used as external/subproject

increase polymorphism, read not allocatable

31 Dec 06:29
c04f55b
Compare
Choose a tag to compare

in preparation for potential slice/slab, increase polymorphism with select type, which greatly deduplicates code for read and write

to provide a more stable user experience, instead of blindly allocating arbitrarily large arrays on read, make the user allocate the destination array before read. This was necessary to use select type on read, and is a better practice for a stable library--we don't have to try to catch out-of-memory errors in the library for simple reasons of read array being too large.
There are plenty of use cases where the destination array size is known--particularly for slice/slab reads.

API breaking changes, allow overwrite data

25 Dec 11:46
cef713c
Compare
Choose a tag to compare

%add => %write
%get => %read

ierr is the last non-optional argument for every procedure. This allows making exception handler-like behavior in the end user program. Be sure to check the value of ierr, especially when writing files.

This paves the pathway to future slabbed / sliced read/write.

It's now possible to overwrite a variable with data of the same rank.

bugfix: string read size, cleanup build and comments

04 Dec 16:32
914f91b
Compare
Choose a tag to compare
  • fix %get for string--use string of len >= desired text, then truncate with c_nul
  • cleanup syntax, check for more fine-grained errors, fix meson and cmake build settings