我想创建一个存储模拟数据的HDF5文件。数据由快照流组成,这些快照具有相同(或非常相似)的格式,但模拟时间不同。我们的想法是,在读取文件后,可以在给定的模拟时间间隔内搜索快照。
如何在HDF5中实现这一目标?
显然,必须为每个快照使用H5::Group
,这显然必须具有不同的名称(例如'snapshot1','snapshot2'等)。我可以在文件中添加snapshot_name:time
表格以便快速搜索吗?
答案 0 :(得分:1)
HDF5是自描述数据格式,这意味着如何向每个组添加信息的最佳方式是添加属性。
HDF5 "result.h5" {
GROUP "/" {
GROUP "Timestep_0" {
ATTRIBUTE "Time" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SCALAR
DATA {
(0): 0
}
}
DATASET "Temperature" {
DATATYPE H5T_IEEE_F32LE
DATASPACE SIMPLE { ( 128, 128 ) / ( 128, 128 ) }
DATA {
(0,0): ...