Archive and compare iterations.log for implicit coupling#743
Archive and compare iterations.log for implicit coupling#743PranjalManhgaye wants to merge 9 commits into
Conversation
|
This pull request has been mentioned on preCICE Forum on Discourse. There might be relevant details there: https://precice.discourse.group/t/gsoc-2026-pranjal-manhgaye/2769/5 |
|
@PranjalManhgaye could you please resolve the merge conflicts and prepare this PR for reviewing? |
MakisH
left a comment
There was a problem hiding this comment.
Some first comments. I have not yet looked at the complete PR or tested it.
|
thanks @MakisH for your review , i will make this pr review ready and also resolve conflicts . |
Archive precice-*-iterations.log files during system tests and compare them against reference copies for implicit-coupling regression checks.
4ed9d9f to
4a1885d
Compare
|
Hi @MakisH , rebased onto develop, updated the PR description, and replied on your review threads. ready for another look when you have time. |
There was a problem hiding this comment.
I have not yet completed my review, but here is already a first comment on something to check.
Tests I have executed locally:
python3 systemtests.py --suites="openfoam_adapter_release"(no iterations in the reference results) succeedspython3 generate_reference_results.py --suites="openfoam_adapter_release"worked and generated results in an (uncompressed) folderflow-over-heated-plate/reference-results/fluid-openfoam_solid-openfoam.iterations-logswithfluid-openfoam/precice-Fluid-iterations.logandsolid-openfoam/precice-Solid-iterations.log.- after updating the reference results:
python3 systemtests.py --suites="openfoam_adapter_release"worked, but I don't seesha256oriterationsin the output to confirm.
Remove legacy .iterations-hashes.json support and log INFO when iterations.log SHA-256 comparison passes so reviewers can confirm it ran.
There was a problem hiding this comment.
Here are some first comments. Even though I would hope for a simpler/shorter solution, this is also fine, as it is rather clear.
You could merge back from develop now, I am through with the larger changes I wanted to do for now. And I think this would then be rather easy to merge and it would make sense to do it soon.
Merge upstream/develop, run fieldcompare before iterations.log hash checks, append iterations results to system-tests-compare.log, and document iterations log artifacts under numerical regressions.
|
@MakisH i have resolved your initial comments and also merged develop , it is ready for another review thanks ,, |
MakisH
left a comment
There was a problem hiding this comment.
A test run to see what happens for the current cases: https://github.com/precice/tutorials/actions/runs/28050285585/job/83038819578
Other than that, the documentation needs another look.
|
Testing locally partially works, but it seems like the reference files are not added to the branch. Testing on GHA(not that important for now, read first the local testing)A run without the iterations in the reference results shows that the check is correctly skipped when iterations logs are not in the reference data. A run adding reference results logs that the iterations logs are archived in A subsequent run still reports that iterations files are not found. Testing locallyTesting locally, again with the elastic-tube-1d fluid-cpp/solid-cpp, I do see the the directory: which is excluded by the Why not place this directory directly in the respective |
|
thanks for checking @MakisH , its correct if *.iterations-logs/ dirs are gitignored by *.log , so i will do it as you suggested and update the comparison logic accordingly |
Bundle precice-*-iterations.log into the reference .tar.gz instead of gitignored sidecar dirs, and regenerate elastic-tube-1d fluid-cpp_solid-cpp reference data.
Reference tars will be generated on the runner via generate-reference-results.
|
Now the files are in the reference result archives, but GHA run: https://github.com/precice/tutorials/actions/runs/28097293364 I think that having two separate directories in the archive would help. Ignoring specifically the |
|
VTUs and iteration logs are now separate top-level tar members ({case}/ and {case}.iterations-logs/) ,so fieldcompare no longer hits log files in the VTU reference dir , verified locally , fieldcompare and hash check both pass ,refs will be regenerated on GHA ,, |
Summary
Implicit coupling tutorials write precice-*-iterations.log files that show how many coupling iterations each time step needed. This PR adds system-test support to save those logs and check them against reference copies, so we notice when coupling behaviour changes unexpectedly. Closes #440.
Changes
precice-*-iterations.logfiles intoiterations-logs/and compare them by SHA-256 hash against archived reference copies in a*.iterations-logs/directory next to each reference.tar.gz. A successful check is logged at INFO; a mismatch fails the test.test (local)
Notes
Checklist
changelog-entries/743.md