Snapshot + stop file coordination
There is a subtle issue that can occur when interrupting a run with a stop
file or when the time is reached. If a snapshot (or any of the other forms of i/o) was used on the last step then there is a time-stepping problem.
The snapshot dump will have drifted all the particles slightly into the future (but before the next step) to match the exact demand of the user. We then attempt another drift all
just before check-pointing. This is now a drift that goes backward in time and will break the debugging checks (and of course the physics by a small amount).
Not drifting for the check-point in the case of a snapshot is also not an option. This breaks on the restart as the particles are then at a time that is not the same as the engine's ti_current...
Now this is a rare enough occurrence that it is not the most urgent problem...