PTMCMCSampler icon indicating copy to clipboard operation
PTMCMCSampler copied to clipboard

neff not respected when optional acor dependency missing

Open chimaerase opened this issue 2 years ago • 1 comments

Reading through the body of sample(), I realize that statements about the optional acor dependency in the README, that I also propagated into log messages in #24, are not correct. The README says:

Note that acor is not required to run the sampler, it simply calculates the effective chain length for output in the chain file.

But looking at the code in sample(), when acor is missing, the local Neff variable is set to zero. That means that when acor is missing, the subsequent comparison against Neff will always fail.

I suggest that a more transparent approach would be for sample() to check if parameter neff > 0 before starting the run, then fail immediately with a helpful error message if acor is missing, since it can never satisfy the request to terminate after the requested number of samples is collected. I also suggest updating statements about acor in the README and revisiting related log output from #24.

chimaerase avatar Jul 12 '22 17:07 chimaerase

This is mostly fixed by #51, though perhaps it would be an improvement to fail immediately when neff is supplied but acor is not available, rather than only failing the first time we actually try to call acor.

kdolum avatar Jan 23 '24 18:01 kdolum