Talk:ESCDF - Electronic Structure Common Data Format

From ESL
Jump to navigation Jump to search

File structure and use cases

With the current specifications, the only way to store different snapshops (e.g. time-steps of a molecular dynamics simulation) of the same system is to replicate the entire root group for each snapshop. It would be nice to be able to have an extra dimension for quantities that change from snapshop to snapshop. This would look something like this:

/system/forces (x,y,z,isnap)
/basis_sets/functions(x,y,z,jsnap)
/densities/grid_values(x,y,z,ksnap)

Note that there is a difference between a global index (e.g. time steps) and when the snapshots are performed for each quantity. We need local indices, which means a lookup table for every single dataset. This is very complex from the implementation perspective.

We won't support this case for the first version of the format. Stubs do not even need to be put in place beforehand, thanks to the hyperslice mechanism of HDF5.