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
This commit is contained in:
Martin Diehl 2019-10-13 18:20:54 +02:00
parent bbc2ed90a2
commit e3b16639bf
2 changed files with 1 additions and 5 deletions

View File

@ -75,7 +75,7 @@ variables:
MSC: "$MSC2019" MSC: "$MSC2019"
IntelMarc: "$IntelCompiler17_8" IntelMarc: "$IntelCompiler17_8"
IntelAbaqus: "$IntelCompiler16_4" IntelAbaqus: "$IntelCompiler16_4"
HDF5Marc: "HDF5/1.10.4/Intel-17.8" HDF5Marc: "HDF5/1.10.5/Intel-17.8"
# ++++++++++++ Documentation ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # ++++++++++++ Documentation ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Doxygen1_8_15: "Documentation/Doxygen/1.8.15" Doxygen1_8_15: "Documentation/Doxygen/1.8.15"
# ------------ Defaults ---------------------------------------------- # ------------ Defaults ----------------------------------------------

View File

@ -112,14 +112,10 @@ subroutine HDF5_utilities_init
call h5open_f(hdferr) call h5open_f(hdferr)
if (hdferr < 0) call IO_error(1,ext_msg='HDF5_Utilities_init: h5open_f') if (hdferr < 0) call IO_error(1,ext_msg='HDF5_Utilities_init: h5open_f')
#ifndef Marc4DAMASK
! This test should ensure that integer size matches. For some reasons, the HDF5 libraries
! that come with MSC.Marc>=2019 seem to be of 4byte even though it is a 8byte Marc version
call h5tget_size_f(H5T_NATIVE_INTEGER,typeSize, hdferr) call h5tget_size_f(H5T_NATIVE_INTEGER,typeSize, hdferr)
if (hdferr < 0) call IO_error(1,ext_msg='HDF5_Utilities_init: h5tget_size_f (int)') if (hdferr < 0) call IO_error(1,ext_msg='HDF5_Utilities_init: h5tget_size_f (int)')
if (int(bit_size(0),SIZE_T)/=typeSize*8) & if (int(bit_size(0),SIZE_T)/=typeSize*8) &
call IO_error(0,ext_msg='Default integer size does not match H5T_NATIVE_INTEGER') call IO_error(0,ext_msg='Default integer size does not match H5T_NATIVE_INTEGER')
#endif
call h5tget_size_f(H5T_NATIVE_DOUBLE,typeSize, hdferr) call h5tget_size_f(H5T_NATIVE_DOUBLE,typeSize, hdferr)
if (hdferr < 0) call IO_error(1,ext_msg='HDF5_Utilities_init: h5tget_size_f (double)') if (hdferr < 0) call IO_error(1,ext_msg='HDF5_Utilities_init: h5tget_size_f (double)')