Distinguish identifying and non-identifying inputs to API operations. - Redmine #3289
gmxapi functionality exposed in gmxapi 0.1 is oriented towards immutable definitions of work that has a clear completion state, and gmxapi 0.0.7 runtime options that are not part of the definition of the work itself are not yet exposed in gmxapi 0.1.
This hole in the design needs to be examined.
I don’t believe there is anything in the current Options handling infrastructure that clearly defines whether a piece of input is part of the definition of the task or should be considered irrelevant to the products of the workflow. In fact, this is a problematic distinction, as reflected by the logic related to the level of determinism of simulation work.
In the long run, I think we can assign parameters to be either relevant
or irrelevant to the identify of the results, and allow flags like
maximum_determinism
to select code paths in which some of those
assignments are changed. But that does not need to block progress on
giving a clear way to express non-identifying parameters in the gmxapi
context and/or through extensions to the current Options framework.
Some outdated discussion is linked through https://github.com/kassonlab/gmxapi/issues/95
The maxh
mdrun CLI option may be a good place to start.
(from redmine: issue id 3289, created on 2020-01-10 by eirrgang)
- Relations:
- relates #3147 (closed)
- relates #3242 (closed)