Skip to content

Releases: geospace-code/h5fortran

add read/write attributes

31 Jul 18:59
18593a7

Choose a tag to compare

For a long time, h5fortran could write character attributes. To make h5fortran more HDF5 feature complete, we have added full HDF5 read / write attribute support to h5fortran.

All attribute code is in src/attributes.f90 and attribute tests are in src/tests/test_attributes.f90

use generated templates to avoid code duplication

29 Jul 21:46
a33cfc3

Choose a tag to compare

Since each rank needs a subroutine (and select rank wouldn't help much for this) we use generated code templates for this (via CMake or Meson). This increases code quality in general.

avoided the name %rank for possible confusion with intrinsic rank()

Noted that GCC 10.2.0 is making spurious warning over intrinsic :: rank that is needed to workaround an Intel compiler bug.

BUGFIX, features

16 Jul 19:23
e02f503

Choose a tag to compare

  • fix bug where finalize() closed ALL files instead of just one file.
  • add hdf5_close() procedure, good to close at end of program to ensure no dangling files remain
  • add flush() method, useful for long-running programs where periodic flushes help preserve data thus far if program crashes (run out of HPC time allotment for example)
  • add is_open property, mostly used internally to guard against users calling methods on closed files, or double-initializing an open handle.

simplify pathlib generation

15 Jul 04:06
b7f6f33

Choose a tag to compare

internal bugfix

status=scratch, more careful access handling

14 Jul 04:51
e85d73c

Choose a tag to compare

  • status='scratch' much like in Fortran, expect you can specify an absolute directory. If not, Fortran uses system temp dirs it detects
  • make access= parameter more clear and correct

add %ndims %rank method

13 Jul 06:03
3e03baf

Choose a tag to compare

These methods are equivalent

more robust config step, add "is_hdf5" file

09 Jul 04:11
c0d39c5

Choose a tag to compare

  • added is_hdf5(filename) function that returns .true. if a file is HDF5
  • put stricter tests in CMake and Meson configure step to help user understand if there is a runtime HDF5 problem
  • dedupe code by putting more into check() internal function

test robustness

15 Jun 17:27
12e3e57

Choose a tag to compare

test_deflate: allocate instead of stack memory to avoid random crashes of test. This only affects the test, not the library.

added h5exist(filename, datasetname) convenience function

robustness improvements

19 Apr 17:06
1a45b77

Choose a tag to compare

  • use native cmake features instead of custom logic
  • implicit none (type, external)

docs, cmake robustness

08 Apr 22:04
d1ac712

Choose a tag to compare

  • docs: break up big readme into several linked files
  • cmake: lint