h5md-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [h5md-user] [h5md-commit] [SCM] UNNAMED PROJECT branch, master, upda


From: Felix Höfling
Subject: Re: [h5md-user] [h5md-commit] [SCM] UNNAMED PROJECT branch, master, updated. c234149781bfa9f5dc81aa139038e7dc6689b64d
Date: Fri, 31 May 2013 15:35:13 +0200
User-agent: Opera Mail/12.15 (Linux)

Am 31.05.2013, 13:01 Uhr, schrieb Pierre de Buyl <address@hidden>:

Hi,

On Wed, May 29, 2013 at 03:01:57PM +0200, Felix Höfling wrote:
Am 29.05.2013, 13:48 Uhr, schrieb Pierre de Buyl
<address@hidden>:

>I would like to make the "particles" attribute optional. It is
>useless in many
>cases.

We should try to minimise the number of optional items and thus the
variants a data group can have. Otherwise evaluating the file
becomes really difficult since one has to check every time whether a
certain piece of information is present or not. The decision whether
a certain piece of data is present or not should happen at the level
of the data groups.

HDF5 is quite powerful with respect to this kind of check. We should not make optional something that has to be present anytime, but we should not refrain
from making optional data optional.

Concerning the "particles" attribute: it does not hurt to store the
information (just a few bytes), but one is in real trouble if one
needs it and it is missing. And I think it is good practice to store
some statistical information along with averaged data.

My concern is that this attribute is not always needed and may even be
misleading. Whether in experiments or simulations, not every observable is
associated to a number of particles. A few examples:
  - A quantity associated with a thermostat, such as a program for the
    temperature.
- State of a PRNG. This is in my opinion a very valid usecase. If a code uses H5MD, it should be able to store a maximum amount of data in the H5MD file.
    As the state of a PRNG depends of the time and can be used for
    checkpointing, it is very well suited for the observables group.
  - Data about simulated or measured actuators or probes.

Sticking a mandatory "particles" attribute makes no sense for those usecases. As the need for it is frequent I still think that it should be a reserved and
optional attribute name.

Pierre


Hi Pierre,

Thanks for providing these examples. The /observables group is intended for physical observables that are averages over a (sub)set of particles. And the primary target of H5MD are molecular simulations. Let me respond to your examples:

Thermostat variables should be stored inside /trajectory since the time evolution of each degree of freedom is resolved. Things like the thermostat energy, however, deserve a place in /observables. Here, the number of degrees of freedom may replace the particle number.

Experimental data of a different kind (e.g., the time series read from a voltmetre indicating a cantilever position) may go to a different root group. Alternatively, the user is free to set the "particle" number (or number of d.o.f.) to 1.

For the state of a PRNG, I would prefer to store it inside /parameters as it heavily depends on the simulation program.

Does this answer your objections?

Felix



reply via email to

[Prev in Thread] Current Thread [Next in Thread]