Commit Graph

121 Commits

Author SHA1 Message Date
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
Martin Diehl 3ad741dbeb only used in one function 2020-12-10 00:31:58 +01:00
Martin Diehl 97ee7e6ee5 not needed anymore 2020-12-07 17:26:50 +01:00
Martin Diehl 429b84004d more filters
- shuffle: significanlty better compression
- Fletcher32: checksum to detect errors

computational overhead is very small
2020-12-06 19:57:00 +01:00
Martin Diehl bc4361c2ae use variable string length
for array, padding is needed to get same length
2020-12-06 13:32:20 +01:00
Martin Diehl 52e3fb50bc compress.
Datasets are chunked along first timension. Chunk size (1MB for real) is
probably not optimal
2020-12-06 11:44:52 +01:00
Martin Diehl 018709bfcf error stop better suited for internal errors
error stop gives full stack trace, which is very helpful for debugging.
2020-11-11 10:19:47 +01:00
Martin Diehl 03a68248b5 polishing 2020-11-06 13:25:00 +01:00
Martin Diehl e649fb195f update to use variable-length strings 2020-11-05 22:34:41 +01:00
Martin Diehl 2b6001222d black magic
compiles also with Intel (complained about non-existing interface
before).
Direct pointer crashes ..
2020-11-05 17:59:05 +01:00
Martin Diehl b8c97c5b7e change string type
normal fortran strings are fixed-length, spacepad. h5py (at least v3.x)
creates variable-length, nullterm
2020-11-05 15:36:13 +01:00
Martin Diehl e848590c5c Merge remote-tracking branch 'origin/development' into Fortran-simplifications 2020-09-17 19:39:31 +02:00
Martin Diehl 5b83c8ad3c use 'error stop'
- does not require IO
- prints stack trace
2020-09-13 12:09:32 +02:00
Martin Diehl da0e16520c handling of MPI in 'parallelization' 2020-09-13 10:26:33 +02:00
Sharan Roongta 7754a1ea56 Restructuring for material.yaml 2020-08-15 16:08:46 +02:00
Martin Diehl 93adee2581 no need to have fixed string here 2020-08-09 06:27:29 +02:00
Martin Diehl 9565f15415 clearer description 2020-04-28 10:30:03 +02:00
Martin Diehl ae49e6710d documenting for doxygen 2020-03-15 12:54:35 +01:00
Martin Diehl 18ccc49d6f avoid duplicated public/private statements
variables should be private
2020-02-29 15:15:41 +01:00
Martin Diehl 62865e779d polishing 2020-01-26 18:31:56 +01:00
Martin Diehl 41650cdd11 use standard string length 2019-12-21 07:38:17 +01:00
Martin Diehl 4b6388fbb2 always use HDF5 output 2019-12-18 20:05:51 +01:00
Martin Diehl e3b16639bf native integer needs to match
otherwise, results are wrong. Therefore, we need to use our own HDF5
library since MSC provides one for 4 byte integers
2019-10-13 18:20:54 +02:00
Martin Diehl 4dfb1f6450 next try for MARC 2019 2019-09-21 01:07:04 +02:00
Martin Diehl f54a6cdc3b white space adjustments 2019-06-15 16:42:16 +02:00
Martin Diehl 0a5dc6d503 HDF5 is not always available 2019-06-12 19:59:17 +02:00
Martin Diehl b2409d6998 cleaning 2019-06-11 13:34:55 +02:00