[gmx-developers] functionality to deprecate in 2018 release

Erik Lindahl erik.lindahl at gmail.com
Thu Jan 4 10:56:08 CET 2018


I too use -deffnm and would cry a little bit if it goes, but the problem is
that the design is fundamentally broken and despite everybody really
wanting it, keeping it will require serious effort to fix the broken
aspects. For the last few years, we've all agreed that it's nice to have,
and also agree that "somebody else" should fix it :-)

The problem has to do with modularization. In general, lots of places in
GROMACS can write lots of different files, and exactly what files need to
be written will depend on the module (some analysis tools might for
instance like to write 3-4 different data or XVG files, and mdrun
occasionally writes multiple xvg files too, e.g. for pulling).

The way deffnm currently works is to just set every single filename option
to the default string, which means several output places will sometimes try
to write files with identical names, and they will typically do so silently
(which can be a disaster for long simulations where we they suddenly end up
overwriting valuable data without warning).

To solve it, one would likely need to redesign an overall class to handle
files & filenames in the input section, and then have other modules
register with this both to get a preferred default filename, and/or decide
whether things should be suffixed, etc. If automatic suffixes are added,
that in turn might lead to other complications in places like
checkpointing, since the string used in deffnm would not be the same as the
filename, and one would have to decide how to handle that on checkpoint
restarts, etc.

Thus, we can't really vote by only saying it would be useful, but the real
votes are cast when all of us (me included) decide not to spend that effort

I would still like to have it, but to me there are other higher-priority
items that I'll spend my efforts on (e.g. removing the last C source files
with new C++ SIMD kernels, new JSON-based file formats, task parallelism
and making TNG solid).



On Thu, Jan 4, 2018 at 10:35 AM, Jernej Zidar <jernej.zidar at gmail.com>

> Hi,
> The "-deffnm" option is very handy because the user doesn't have to
> specify every single output file (energy, trajectory, log, checkpoint).
> This option should be kept if it is not too much trouble. Personally, I'd
> like to see this option applied to other tools as well (trjconv for
> example).
> One suggestion: Would it be possible to have all the tools that analyze
> trajectories aware of the "-tu" switch ? It's way more convenient to
> specify the time in ns, ms, ... than in number of steps.
> Comments?
> Cheers,
> Jernej Zidar
> On Thu, Jan 4, 2018 at 5:15 PM, Mark Abraham <mark.j.abraham at gmail.com>
> wrote:
>> We should also be aware that -deffnm is brittle in the same way that
>> -multi is, because our filename-handling machinery doesn't centralize
>> changing the prefix/suffix needed to support -deffnm or -multi. So I think
>> we should plan to announce -deffnm as deprecated in the 2019 release (and
>> remove after that). If we think that's useful enough to want to keep, we
>> need people to put up their hands for the work to make all the mdrun
>> modules work with it.
>> Thanks,
>> Mark
> --
> Gromacs Developers mailing list
> * Please search the archive at http://www.gromacs.org/
> Support/Mailing_Lists/GMX-developers_List before posting!
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers
> or send a mail to gmx-developers-request at gromacs.org.

Erik Lindahl <erik.lindahl at dbb.su.se>
Professor of Biophysics, Dept. Biochemistry & Biophysics, Stockholm
Science for Life Laboratory, Box 1031, 17121 Solna, Sweden
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20180104/c518a3a0/attachment.html>

More information about the gromacs.org_gmx-developers mailing list