|
From: | Felix Höfling |
Subject: | Re: [h5md-user] box data as part of trajectory/position |
Date: | Mon, 19 Nov 2012 20:51:49 +0100 |
User-agent: | Opera Mail/12.02 (Linux) |
On Mon, Nov 19, 2012 at 07:44:42PM +0100, Felix Höfling wrote:The main motivation is the issue with potentially different sampling intervals of different particle groups, which remains unresolved if only a single box group is stored. In my proposal, the box information relevant for each snapshot of a particle group is stored, ensuring data consistency and simplifying the access of particle coordinates. Further, it avoids dependencies across different root groups.That is a different issue. If variable box information needs to be available for different sets of times T_A and T_B (e.g., with regard to trajectory or observable datasets), then the box/time dataset is the superset of T_A and T_B. But this remark shows that we need to clarify lookup by time/step. Only if two H5MD data groups have identical time/step datasets, one may assume that two data elements with the same index refer to the same time/step. Otherwise, one must lookup the element index using the time/step dataset (e.g., using bisection).
This is precisely what my suggestion addresses. Each time series in trajectory has its own box data, located in
/trajectory/group/position/boxusing the identical time grid as the trajectory data. If all groups use the same time grid, one may use links and there is no redundancy. In the case of arbitrary time grids, there may be some redundancy in the stored data, which however consumes almost no space.
Thereby, we don't need sophisticated reverse lookups, interpolation between time steps or whatever. The box data are enforced to match by index with the trajectory data.
The box data in observables are completely independent and may stored on a totally different time grid. But they may also simply share one unique box group by a link.
BTW, if your old files shall be read by a future H5MD reader that expects the box information in trajectory, you may simply add a link from trajectory to observables.Current H5MD files have a data group /observables/box. A reader complying with your proposal expects /trajectory/box.
This is a misunderstanding, see above. Felix
[Prev in Thread] | Current Thread | [Next in Thread] |