QMCPACK / QMCPACK/qmcpack

QmcpackInput does not model series numbers correctly

Open
#6,116 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
403
Forks
154
Avg merge
1d 12h
Merged PRs (30d)
82

Description

**Describe the bug**
Nexus `QmcpackInput` models non-AFQMC QMC output series as consecutive numbers after calculation-loop expansion. This does not represent
QMCPACK qmc section `append="yes"` semantics: an appended QMC section continues the preceding output series rather than creating a new `sNNN` series.

This also prevents downstream tools such as qdens from reliably associating an output `*.sNNN.stat.h5` file with the QMC section that produced it when `append="yes"` is present.

**To Reproduce**
Steps to reproduce the behavior:
1. Use current `develop`.
2. Parse an input such as:
```xml





```

3. Call:
```python
QmcpackInput("case.xml").get_output_info("qmc")
```
4. Nexus reports output series 5, 6, while QMCPACK appends the second section to series 5.

Expected behavior
Nexus should provide a well-defined representation of QMCPACK’s output-series semantics, including loops and append="yes" sections.
get_output_info() and any section-scoped metadata API should either use that representation consistently or clearly document intentional
limitations.

System:
- system name: Linux development container
- modules loaded: none
- other systems where this is reproducible: expected to be platform independent

Additional context:
This was discovered fixing qdens to be able to accept batched estimator blocks. Currently it for instance will not function correctly if the QMCPACK run producing the hdf5 output has qmcsection that use append. qdens is only one consumer affected by incorrect representation and modeling of QMCPACK input semantics. Any fix should have broad Nexus regression coverage because output-info results are used by Nexus workflow/output-file handling so there are perhaps other nexus functionality that depend on this inaccurate modeling of the input semantic.

I generated this issue with the help of an agent and gpt-5.6-terra

Contributor guide

Open the contributing guide

Research direction

Start with the XML reproduction and QmcpackInput("case.xml").get_output_info("qmc"), then trace the section-scoped metadata consumed by qdens. Compare loop expansion with qmc sections using append="yes" and identify the existing output-series representation. Done means append and loop semantics are represented consistently, with broad Nexus regression coverage for output-info and workflow handling.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
hpc, tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.