Distinguish identifying and non-identifying inputs to API operations.
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
maxh mdrun CLI option may be a good place to start.