Commit Graph

147 Commits

Author SHA1 Message Date
Martin Diehl 7d08286192 clearer error message 2023-08-10 23:49:20 +02:00
Martin Diehl b54cf03d6d allgather instead of allreduce+sum with contribution from 1 proc 2023-07-16 19:29:45 +02:00
Martin Diehl 0324e7ece1 parameters should be spelled in capitals 2023-06-04 13:52:31 +02:00
Martin Diehl d0b832e6f1 consistent with naming in HDF5_utilities 2023-06-03 17:06:32 +02:00
Martin Diehl 87e74ef792 docstring polishing 2023-02-25 10:07:38 +01:00
Philip Eisenlohr dd4390fb75 Shorthand subroutines for standard HDF/MPI error checking to avoid code duplication 2023-02-22 15:50:10 +00:00
Martin Diehl ca2d184007 Merge remote-tracking branch 'origin/development' into long-YAML-files 2023-02-19 16:04:30 +01:00
Martin Diehl 8f3d9a9183 Resolve "function to handle default of optional arguments" 2023-02-18 20:30:57 +00:00
Martin Diehl 9e4db451d9 enable to write large strings
SIZE_T is the correct type (and 64bit instead of 32bit as for HSIZE_T)
for H5Tset_size_f
2023-02-11 08:11:35 +01:00
Martin Diehl aaae8a701b Fortran style adjustments 2022-12-07 17:29:03 +00:00
Martin Diehl bf0113a737 avoid HDF5 error in case of empty dataset 2022-10-20 01:09:03 +02:00
Martin Diehl 2f1904efec only MPI_f08 is standard conforming 2022-06-21 23:11:22 +02:00
Martin Diehl b8c3d75700 [skip sc] enforce interfaces (quick fix: declare as external) 2022-06-21 22:59:01 +02:00
Martin Diehl 78838c2f75 consistent variants including space 2022-06-08 23:27:09 +02:00
Martin Diehl 41a732f62d assumed rank solution gives wrong results #194 2022-05-19 16:38:37 +02:00
Martin Diehl 808ef139ae avoid code duplication by using assumed rank "(..)"
- lack of modern Fortran interface for HDF5 still requires branching to
  call the same code
- not sure how to handle the read function (assumed rank and intent(out)
  ) does not work together
2022-04-18 13:16:45 +02:00
Martin Diehl 519ca6f990 ifort does not allow rename of already imported symbols 2022-02-05 20:00:55 +01:00
Martin Diehl 12e7922faf use modern Fortran interface
not possible for HDF5...
2022-02-05 18:37:38 +01:00
Martin Diehl a7417a7ad7 default integer, PETSc integer, and MPI integer might be different 2022-01-13 12:02:33 +01:00
Martin Diehl fd3c18ea4d calculate global entry in 64 bit 2022-01-12 17:58:44 +01:00
Martin Diehl 2fb368cf8c consistent space (as in 'end module' etc) 2021-12-06 07:59:40 +01:00
Martin Diehl 08a709c6d9 capitalize HDF5 prefix 2021-12-06 07:55:22 +01:00
Martin Diehl c818756f68 wrong check
iand is used for checking, see https://support.hdfgroup.org/HDF5/doc/RM/H5Z/H5Zget_filter_info.htm
2021-12-02 20:51:33 +01:00
Martin Diehl 731e20261c bugfix for HDF5 without deflate filter
before inquiring whether a filter supports compression/decompression, we
first need to check whether it is available at all to avoid raising an
error.
Extended the check to the shuffle filter
2021-12-02 13:00:59 +01:00
Philip Eisenlohr da9fdf53d2 consistent indentation and line-spacings in reporting 2021-11-15 12:35:44 -05:00
Martin Diehl 497bf2c645 avoid errors for empty datasets
empty dataset cannot be chunked, but filters can only be applied to
chunked datasets
2021-08-14 20:44:59 +02:00
Martin Diehl 30d9f57db0 also compress string datasets
results in different type (numpy string instead of numpy object), tests need to be adjusted
2021-08-14 16:28:51 +02:00
Martin Diehl 595cc4e59e always chunk data
for small datasets:
- only one chunk
- no compression
2021-08-14 15:48:07 +02:00
Martin Diehl 68eb930bf0 Merge remote-tracking branch 'origin/development' into report-systems 2021-08-03 21:57:50 +02:00
Martin Diehl 044a048944 taking care of corner cases (e.g. restart)
adjusting tests to take care of new 'setup' group
2021-08-01 22:46:11 +02:00
Martin Diehl a6f7e4f1a6 play it safe 2021-07-27 10:18:55 +02:00
Martin Diehl 820d590b6b write string to result
requires to open file without MPI support
2021-07-27 07:25:44 +02:00
Martin Diehl 58c1f5fdc1 write string, only from one MPI process
needed to store simulation setup. I don't see a situation where strings
are distributed over multiple processes
2021-07-27 07:23:02 +02:00
Martin Diehl a891fe4281 keep it simple 2021-07-26 22:59:53 +02:00
Martin Diehl d2b5a4b339 pointer voodoo for ifort 2021-07-25 10:30:44 +02:00
Martin Diehl c388ab97c9 trying to make sense of HDF5 pointer magic 2021-07-25 09:43:52 +02:00
Martin Diehl d9ef1ef5e4 write variable length string (as other, best compatibility with h5py) 2021-07-25 09:36:56 +02:00
Martin Diehl 26e1e979f5 length is known 2021-07-24 23:08:05 +02:00
Martin Diehl 71e17ba917 WIP: report active slip systems to DADF5
needs further work, currently an array of fixed length strings is
written while all single strings are of variable length type
2021-07-24 22:51:57 +02:00
Martin Diehl 59d09d708e string array support for attributes 2021-07-24 17:18:31 +02:00
Martin Diehl db07ee2113 supported by recent compilers 2021-07-24 14:35:17 +02:00
Martin Diehl 136a4b1377 PETSc defines are rather complicated
now mpi_f08 can be used on newer PETSc installations if old MPI modules
are not exposed
2021-07-09 18:48:25 +02:00
Martin Diehl 3870a70a4e HDF5 seems to use MPI (F90 style) 2021-07-09 12:37:39 +02:00
Martin Diehl 139f2c177a use MPI_f08 if possible
most PETSc installations provide outdated MPI (f90 version)

MPI_COMM_WORLD is now of derived type (Fortran 08 style)
PETSC_COMM_WORLD is the plain integer (f90 style) alias.
Note that HDF5 is assumed to have f90 interfaces
2021-07-08 16:27:37 +02:00
Martin Diehl 4c3ff4bef4 consistent capitalization 2021-07-08 15:05:01 +02:00
Martin Diehl 58bc6e2ba6 avoid chained inclusions 2021-07-08 14:27:04 +02:00
Martin Diehl 5d0fc4fca3 more meaningful order
and intent(out) variables for read are at the front
2021-06-01 16:46:24 +02:00
Martin Diehl b353f8ed92 workaround for HDF5: https://forum.hdfgroup.org/t/6186
writing chunked/compressed data can cause problems with MPI. Even though not 100%
clear from the reference, it seems that the issue only appears for HDF5
< 1.12.
Of special importance for Ubuntu since the Debian package is still at 1.10.6
2021-05-03 18:19:06 +02:00
Vitesh d54e49e3bc restore functionality to write non-parallel
not needed at the moment, but in general useful. If PETSc = parallel
should always hold, we can simplify much more
2021-02-22 13:37:21 +01:00
Sharan Roongta a51b32ccdf only input 2021-01-26 20:18:04 +01:00