PTMCMCSampler
PTMCMCSampler copied to clipboard
neff not respected when optional acor dependency missing
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.
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
.