Batched driver input does not catch/abort on legacy estimator input
Describe the bug
When the batched drivers are used, estimators are expected either in the driver input sections or in a dedicated
Issue originally reported by Dan Staros.
To Reproduce Run with legacy estimator inputs along with the batched drivers
Expected behavior
An informative error message (instructions on correct placement of estimators in
I think this would be possible to catch, but what needs to happen long term is that the higher levels of the input system need to adopt something like the input objects and InputSection code. Then no nonsense input of any sort whether typo or input in the wrong parent node can fall through.
You can add almost any input you want in the wrong place or with a slightly wrong spelling of the tag or name and its just ignored by the code if its outside of the "<Estimators>" block in the batched code. The only sustainable way to deal with this class of issue is to rewrite the rest of the input system. So this might be a useful for transitioning users to batched but we should decide on a limit to how much of this we will do in the legacy input code.
@PDoakORNL what you are saying is true. However, the placement of estimators is a major change going from legacy to batched and as such it is going to catch a lot of users. I would suggest we put in a guard (error message + abort) when
All other batched driver input changes are already protected in this way AFAIK.
Please provide the input xml so we can see if the input style is supported or not and if yes, are we missing support or not.
Bump in 2024. I just tried to run a spindensity with batched drivers but using the legacy style input. Currently the manual has only legacy input description, and has no information on batched. QMCPACK not only does /not/ crash with legacy estimator input in the hamiltonian, but the output actually shows that the estimators were added. However, the corresponding stat.h5 files are empty.
Example input/output attached (kindof a big problem so not good for fast debugging, but you'll get a flavor at least) estimator_example.tgz