Add parser coverage ai - #337
Closed
ndaelman-hu wants to merge 16 commits into
Closed
Conversation
…ocation
- Add metadata tracking requirements (last_updated, updated_by)
- Specify that model name must be retained in FEATURES.yml metadata
- Clarify to not annotate every line, only metadata section
- Update YAML schema template to include metadata section
- Consolidate copilot instructions to package root .github/ folder
- Remove duplicate file from electronicparsers/.github/
- Update file path references to electronicparsers/{parser_name}/FEATURES.yml
… and Wien2k parsers (#323) * Add FEATURES.yml for Wannier90, Gaussian, ORCA, ABINIT, and Wien2k parsers --- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ndaelman-hu <107392603+ndaelman-hu@users.noreply.github.com>
Apply GitHub copilot feedback: correct typo Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update all remaining FEATURES.yml files with source field compliance --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ndaelman-hu <107392603+ndaelman-hu@users.noreply.github.com>
Contributor
Author
|
@ladinesa FYI |
JFRudzinski
approved these changes
Jun 19, 2026
There was a problem hiding this comment.
Pull request overview
Adds a standardized, repo-local “parser coverage” documentation format (FEATURES.yml) for electronic-structure parsers, plus a Copilot instruction document describing the schema and how to maintain these files.
Changes:
- Added
.github/copilot-instructions.mddescribing theFEATURES.ymlschema and maintenance rules. - Added
FEATURES.ymlcoverage documents across manyelectronicparsers/*/parser directories. - Documented parser-supported file formats and runschema capabilities with
sourcepointers to implementation locations.
Reviewed changes
Copilot reviewed 43 out of 43 changed files in this pull request and generated 41 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/copilot-instructions.md | Adds the schema/maintenance instructions for FEATURES.yml. |
| electronicparsers/abacus/FEATURES.yml | Adds ABACUS parser capability/file-format coverage documentation. |
| electronicparsers/abinit/FEATURES.yml | Adds ABINIT parser capability/file-format coverage documentation. |
| electronicparsers/ams/FEATURES.yml | Adds AMS parser capability/file-format coverage documentation. |
| electronicparsers/atk/FEATURES.yml | Adds ATK parser capability/file-format coverage documentation. |
| electronicparsers/bigdft/FEATURES.yml | Adds BigDFT parser capability/file-format coverage documentation. |
| electronicparsers/castep/FEATURES.yml | Adds CASTEP parser capability/file-format coverage documentation. |
| electronicparsers/charmm/FEATURES.yml | Adds CHARMM parser capability/file-format coverage documentation. |
| electronicparsers/cp2k/FEATURES.yml | Adds CP2K parser capability/file-format coverage documentation. |
| electronicparsers/cpmd/FEATURES.yml | Adds CPMD parser capability/file-format coverage documentation. |
| electronicparsers/crystal/FEATURES.yml | Adds CRYSTAL parser capability/file-format coverage documentation. |
| electronicparsers/dmol3/FEATURES.yml | Adds DMol3 parser capability/file-format coverage documentation. |
| electronicparsers/edmft/FEATURES.yml | Adds eDMFT parser capability/file-format coverage documentation. |
| electronicparsers/elk/FEATURES.yml | Adds Elk parser capability/file-format coverage documentation. |
| electronicparsers/exciting/FEATURES.yml | Adds exciting parser capability/file-format coverage documentation. |
| electronicparsers/fhiaims/FEATURES.yml | Adds FHI-aims parser capability/file-format coverage documentation. |
| electronicparsers/fleur/FEATURES.yml | Adds FLEUR parser capability/file-format coverage documentation. |
| electronicparsers/fplo/FEATURES.yml | Adds FPLO parser capability/file-format coverage documentation. |
| electronicparsers/gamess/FEATURES.yml | Adds GAMESS parser capability/file-format coverage documentation. |
| electronicparsers/gaussian/FEATURES.yml | Adds Gaussian parser capability/file-format coverage documentation. |
| electronicparsers/gpaw/FEATURES.yml | Adds GPAW parser capability/file-format coverage documentation. |
| electronicparsers/magres/FEATURES.yml | Adds magres parser capability/file-format coverage documentation. |
| electronicparsers/molcas/FEATURES.yml | Adds Molcas parser capability/file-format coverage documentation. |
| electronicparsers/mopac/FEATURES.yml | Adds MOPAC parser capability/file-format coverage documentation. |
| electronicparsers/nwchem/FEATURES.yml | Adds NWChem parser capability/file-format coverage documentation. |
| electronicparsers/ocean/FEATURES.yml | Adds OCEAN parser capability/file-format coverage documentation. |
| electronicparsers/octopus/FEATURES.yml | Adds Octopus parser capability/file-format coverage documentation. |
| electronicparsers/onetep/FEATURES.yml | Adds ONETEP parser capability/file-format coverage documentation. |
| electronicparsers/openmx/FEATURES.yml | Adds OpenMX parser capability/file-format coverage documentation. |
| electronicparsers/orca/FEATURES.yml | Adds ORCA parser capability/file-format coverage documentation. |
| electronicparsers/psi4/FEATURES.yml | Adds Psi4 parser capability/file-format coverage documentation. |
| electronicparsers/qball/FEATURES.yml | Adds Qball parser capability/file-format coverage documentation. |
| electronicparsers/qbox/FEATURES.yml | Adds Qbox parser capability/file-format coverage documentation. |
| electronicparsers/quantumespresso/FEATURES.yml | Adds Quantum ESPRESSO parser capability/file-format coverage documentation. |
| electronicparsers/siesta/FEATURES.yml | Adds SIESTA parser capability/file-format coverage documentation. |
| electronicparsers/soliddmft/FEATURES.yml | Adds solid_dmft parser capability/file-format coverage documentation. |
| electronicparsers/tbstudio/FEATURES.yml | Adds TBStudio parser capability/file-format coverage documentation. |
| electronicparsers/turbomole/FEATURES.yml | Adds TURBOMOLE parser capability/file-format coverage documentation. |
| electronicparsers/vasp/FEATURES.yml | Adds VASP parser capability/file-format coverage documentation. |
| electronicparsers/w2dynamics/FEATURES.yml | Adds w2dynamics parser capability/file-format coverage documentation. |
| electronicparsers/wannier90/FEATURES.yml | Adds Wannier90 parser capability/file-format coverage documentation. |
| electronicparsers/wien2k/FEATURES.yml | Adds WIEN2k parser capability/file-format coverage documentation. |
| electronicparsers/yambo/FEATURES.yml | Adds Yambo parser capability/file-format coverage documentation. |
Comment on lines
+12
to
+15
| - name: "*.out" | ||
| supported: true | ||
| notes: "Primary output file" | ||
| source: "packages/nomad-parser-plugins-electronic/electronicparsers/yambo/parser.py:YamboParser.parse" |
Comment on lines
+12
to
+15
| - name: "*.h5" | ||
| supported: true | ||
| notes: "HDF5 output file" | ||
| source: "packages/nomad-parser-plugins-electronic/electronicparsers/w2dynamics/parser.py:W2DynamicsParser.parse" |
Comment on lines
+11
to
+14
| - name: "*.out" | ||
| supported: true | ||
| notes: "Primary output file" | ||
| source: "packages/nomad-parser-plugins-electronic/electronicparsers/turbomole/parser.py:TurbomoleParser.parse" |
Comment on lines
+11
to
+14
| - name: "*.tbm" | ||
| supported: true | ||
| notes: "JSON-based tight-binding model file" | ||
| source: "packages/nomad-parser-plugins-electronic/electronicparsers/tbstudio/parser.py:TBStudioParser.parse" |
Comment on lines
+154
to
+161
| - QE is a suite: "pw.x (plane waves), cp.x (Car-Parrinello), ph.x (phonons), etc.'" | ||
| - "pw.x is the most commonly used program for DFT calculations" | ||
| - "Parser identifies program type from 'Program PWSCF.*starts' or similar patterns" | ||
| - "XML data files (data-file-schema.xml) provide structured output but text parsing is primary" | ||
| - calculation parameter in input: "'scf'', ''relax'', ''vc-relax'', ''md'', ''vc-md''" | ||
| - "Phonon calculations produce separate output files with dynamical matrices" | ||
| - "Post-processing codes (dos.x, projwfc.x) generate additional data files" | ||
| - Units: "Rydberg atomic units in input/output, converted to eV in parser'" |
| - "DOS calculation from Wannier interpolation" | ||
| - "Disentanglement of energy windows (inner/outer windows)" | ||
| - "Support for multiple projection orbital types (s, p, d, f, sp, sp2, sp3, sp3d, sp3d2)" | ||
| - Compatible with multiple DFT codes: "Quantum ESPRESSO, ABINIT, VASP, SIESTA, Wien2k, FLEUR, OpenMX, GPAW'" |
Comment on lines
+90
to
+95
| - Post-Hartree-Fock methods: "MP2, MP3, MP4, MP5, CCSD, CCSD(T), CI, QCISD'" | ||
| - Hybrid functionals: "B3LYP, B3PW91, PBE0, HSE06, M06, M11, etc.'" | ||
| - Range-separated functionals: "LC-ωPBE, CAM-B3LYP, ωB97, ωB97X, ωB97X-D'" | ||
| - Double-hybrid functionals: "B2PLYP, MPW2PLYP'" | ||
| - Semiempirical methods: "AM1, PM3, PM6, PM7'" | ||
| - Composite methods: "G1, G2, G3, CBS-4, CBS-Q, CBS-QB3'" |
| - "Molecular multipole moments (dipole, quadrupole)" | ||
| - "Orbital symmetry analysis" | ||
| - "Excited state calculations (TD-DFT, CIS, CASSCF)" | ||
| - Charge analysis: "Mulliken, NPA, Hirshfeld, APT'" |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Coverage Report for CI Build 27824315126Coverage increased (+0.2%) to 92.99%Details
Uncovered ChangesNo uncovered changes found. Coverage Regressions799 previously-covered lines in 16 files lost coverage.
Coverage Stats
💛 - Coveralls |
Contributor
Author
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add an instruction set (executable on GitHub too) for an LLM Agent to produce a structured coverage overview of each parser.
These are stored as
FEATURES.ymlfiles under each parser folder.Given that this feature has been tested and extended to other repos, and is now being requested by users, I think we can merge this.