Request for more precision in the replica exchange timestep output
In the log file, the timestep is output in a way that can be lossy. Here is an example of some output that I got after running for > 1 us / replica and attempting exchanges every 1 ps:
Replica exchange at step 484096500 time 968193
Replica exchange at step 484097000 time 968194
Replica exchange at step 484097500 time 968195
Replica exchange at step 538320500 time 1.07664e+06
Replica exchange at step 538321000 time 1.07664e+06
Replica exchange at step 538321500 time 1.07664e+06
Then, demux.pl can not process the trajectories.
User aperez has provided a solution by modifying demux.pl :
but ideally the log file would have a unique time if it is going to print one.
One solution is to modify src/kernel/repl_ex.c .
In version 4.6.1, line 907 uses %g for output, when %.15e would ensure that even if a user attempted exchanges every 0.5 fs, then the information would be lossless up to 0.5 seconds of simulation (provided that the value that is being printed even has this much precision).
Print in higher precision repl_ex timestep.