dglaeser/gridformat

[timeserieswriters] more fine-grained control of what changes between time steps

Opened this issue · 1 comments

The VTK-HDF format, for instance, supports reusing data (e.g. the grid between all or some time steps) via an offset mechanism. Currently, our writers only expose an option to consider the grid static for all steps. More fine grained settings would be desirable to be as space efficient as possible... We could do something like

time_series_writer.write(1.0 /*time*/, WHAT_HAS_CHANGED /*optional*/);

on the reader side, we could expose this again via a query, possible returning the same type as above

WHAT_HAS_CHANGED = reader.diff_between_steps(step0, stepN);

From duplicate #234:

The vtk-hdf format has an offset mechanism with which to define the values per time step. This allows to reuse data from older time steps in case nothing changed. Currently, the vtk-hdf writer takes options in the constructor stating if the grid and/or metadata are constant throughout the simulation. In this case, the grid is written only once.

However, some transient simulations may update the grid only at certain points in time. If we had a mechanism to specify this for individual time steps, such output could be written in a maximally space-efficient manner.

Even individual fields could be flagged as constant with this mechanism, such that the data can be reused in other time steps...