Skip to content

(Semi)-Compiled Inputs v2 - #1396

Open
adamdempsey90 wants to merge 48 commits into
developfrom
dempsey/rummy2
Open

(Semi)-Compiled Inputs v2#1396
adamdempsey90 wants to merge 48 commits into
developfrom
dempsey/rummy2

Conversation

@adamdempsey90

Copy link
Copy Markdown
Collaborator

PR Summary

This is a redo of the Rummy parsing integration and replaces #1336.

This is now based on the new parameter machinery in #1385.

Compared to #1336, this should be a backwards compatible change. The Rummy input files are automatically detected based on the syntax in the file (but that can be overridden). I have added a unit test and copied the sparse_advection regression test to a new one that changes the input file to use Rummy syntax. I've also added a documentation page describing what is allowed now.

I can't seem to run most of the regression tests by hand (they timeout), so hopefully the CI does it correctly.

This should probably be merged with a squash.

This was done in collaboration with LLMs (but not claude code or codex).

PR Checklist

  • Code passes cpplint
  • New features are documented.
  • Adds a test for any bugs fixed. Adds tests for new features.
  • Code is formatted
  • Changes are summarized in CHANGELOG.md
  • Change is breaking (API, behavior, ...)
    • Change is additionally added to CHANGELOG.md in the breaking section
    • PR is marked as breaking
    • Short summary API changes at the top of the PR (plus optionally with an automated update/fix script)
  • CI has been triggered on Darwin for performance regression tests.
  • Docs build
  • Any contribution that was created or modified with the assistance of generative AI is disclosed here and in code following the guidelines
  • (@lanl.gov employees) Update copyright on changed files

@adamdempsey90
adamdempsey90 requested a review from Yurlungur May 6, 2026 21:38
@adamdempsey90
adamdempsey90 requested a review from pdmullen May 6, 2026 21:38
@adamdempsey90

Copy link
Copy Markdown
Collaborator Author

Looks like I have some cmake issues in the library, but the parthenon parts should be good to review

@pgrete pgrete mentioned this pull request May 7, 2026
15 tasks
Adam added 2 commits May 16, 2026 11:28
… Reverts parameter_input to very close to it's original state. Update rummy tests
@adamdempsey90

Copy link
Copy Markdown
Collaborator Author

I've refactored this to follow #1386 and put the new parser stuff separate from parameter_input

@lroberts36 lroberts36 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for separating it out from ParameterInput

Comment on lines +39 to +42
} else {
// Otherwise store as UnresolvedString to preserve full precision
return UnresolvedString(card.GetString(std::numeric_limits<double>::max_digits10));
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not explicitly type numeric values?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this stage I don't know whether it's an int or a double. Rummy is duck typed, so there is no distinction between int/double. So I'm not taking a side here and letting the user determine the type when they call GetOrAdd

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we be adding a vector of UnresolvedString as an option?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rummy "cards" are not vector aware. Adding the vector variants is done below near line 122 of this fiel.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I was wondering if it made more sense to store that as a vector of UnresolvedStrings rather than rebuilding a comma delimited string.

Base automatically changed from lroberts36/separate-parameter-input to develop May 20, 2026 04:51
@pgrete

pgrete commented May 21, 2026

Copy link
Copy Markdown
Collaborator

volunteering @pdmullen @jdolence for review

@Yurlungur

Copy link
Copy Markdown
Collaborator

@adamdempsey90 a MR conflict in CMakelists.

@pdmullen gentle reminder to review

@adamdempsey90

Copy link
Copy Markdown
Collaborator Author

@adamdempsey90 a MR conflict in CMakelists.

@pdmullen gentle reminder to review

Fixed. This and #1418 should probably be merged together since I'm really only testing the combo in artemis right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants