我使用Fortran代码在h5files中编写REAL类型变量,因此它使用此代码
call h5dcreate_f(file_id,varn,H5T_NATIVE_REAL, filespace,dset_id, hdferr)
当然还有其他h5函数,例如geth5dims
。
但是我很困惑为什么当我使用R或HDFview打开h5文件时,REAL变量的精度高达20+位,而不是我期望从fortran REAL获得的7位数。示例:在fortran中,当我打印出变量时,我有0.1662154,但在我的h5文件中,相同的变量是0.166215423415234653524 ......
为什么所有这些额外的数字,这些数字只是噪音?这很重要,因为我会进行对舍入误差敏感的进一步计算。
在Fortran中使用带有FORMAT(F30.25)
的write语句我得到0.0006564661744050681591034但是在RI中得到0.00065646617440506816,如果在Fortran中我只使用write(,)var或print *,而不是我得到的仅6.565466E-4