============================
比对两个具有相同索引空间的HDF5文件的工具
确保你已经安装了如下的Python包:
- python 3.x or python 2.7.x
- NumPy
- h5py
- prettytable
建立HDF5 比对工具,你只需要简单的运行:
$ python compare.py src_file dst_file
测试脚本的运行:
> python compare.py --error_distributed 1 --absolute_error test_01.hdf5 test_02.hdf5
- 显示比对误差分布:
-
全局级别统计,统计两个比对的hdf5文件全局性数据, 包括全场数据的最大最小平均误差,和介于最小最大值之间默认为8个bins(可通过输入参数自行设置bins数量,下同)的直方图分布,以及缺失值和单元总数。
-
数据项级别上的统计, 统计每个物理场不同索引号上的所有数据, 包括全场数据的最大最小平均误差,和介于最小最大值之间的默认为8个bins的直方图分布,以及缺失值和数据总量计数。
-
数据级别统计, 统计所有比对误差大于阈值1e-12且为非缺失数据的详细误差信息, 包括数据的比对误差,对应的源数据和目标数据,数据索引号,和所属的索引空间;并对这些数据统计。
- 支持多种比对规则 可选比对规则:包括绝对误差、相对误差、2-误差范数、inf-误差范数,默认显示绝对误差下的比对。
参考:python compare.py -h
* 缺失值或比对误差小于1e-12 的数据将不会显示在详细的误差分布中
* 比对的两个hdf5文件应该数据索引号一致
* 对于非结构数据,detail info显示的索引元组(index)第一个分量表示data
index,第二个分量表示depth编号,第三个分量表示group编号
* 为避免在计算相对误差时,分母除零,仅针对分母为零的源数据加了1e-14方,
因此,在误差比对结果的显示上,相对误差将显示源数据(为零)加了1e-14后的结果。