Skip to content

Pin the low-H cold-start P_surf by the IW buffer of CALLIOPE - #1075

Merged
timlichtenberg merged 5 commits into
mainfrom
tl/calliope-cold-start-buffer-pin
Nov 8, 2026
Merged

timlichtenberg merged 5 commits into
mainfrom
tl/calliope-cold-start-buffer-pin

Conversation

@timlichtenberg

Copy link
Copy Markdown
Member

Description

test_seeded_low_h_cold_start_returns_the_physical_root pins the surface pressure of a seeded low-H cold start at 24.8673 bar. That value holds for the Fischer IW buffer, the default of the released CALLIOPE 26.10.5. CALLIOPE main uses the Hirschmann (2021) buffer by default, and there the same cold start gives 25.0959 bar, so the test fails once PROTEUS runs against the next CALLIOPE release.

The test now reads calliope.oxygen_fugacity.DEFAULT_FO2_MODEL of the installed CALLIOPE and expects the pin of that buffer (relative tolerance 1e-4, as before). A buffer without a pin fails the test by name. A second test checks that the tolerance tells the 2 pins apart; they differ by 0.92 % (25.0959 / 24.8673 - 1). PROTEUS has no config key that selects the IW buffer on the CALLIOPE path, so the default of the installed CALLIOPE is the buffer the cold start uses.

Tests only; no source change. This lets PROTEUS main pass with both CALLIOPE 26.10.5 and the next CALLIOPE release, which includes FormingWorlds/CALLIOPE#47.

No related issue.

Validation of changes

  • Released CALLIOPE 26.10.5 (Fischer): nightly at 4e5c87b, all jobs green, with fwl_calliope-26.10.5 installed and both tests of this file passed on macOS and Ubuntu: https://github.com/FormingWorlds/PROTEUS/actions/runs/42447222675. The last commit (de1a9a3) changes only a comment and the name and docstring of the second test.
  • CALLIOPE main at FormingWorlds/CALLIOPE@41901b6 (Hirschmann), macOS arm64, Python 3.12, PROTEUS and CALLIOPE taken from their checkouts with the module paths checked in the same session: pytest tests/outgas/test_calliope_cold_start_smoke.py gives 5 passed at de1a9a3. The version of this file on main gives 1 failed and 3 passed against the same CALLIOPE.
  • Not checked: a CALLIOPE whose default buffer is oneill, which has no pin; the test then fails and names the buffer.

Lines by category (pr-breakdown 9b8e860 de1a9a3):

Category Files Lines added / removed Size on disk (KiB) Compressed (KiB)
tests 1 +23 / -1 +1.0 +0.4

Checklist

  • I have followed the contributing guidelines
  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • My changes generate no new warnings or errors
  • I have checked that the tests still pass on my computer
  • I have updated the docs, as appropriate
  • I have added tests for these changes, as appropriate
  • I have checked that all dependencies have been updated, as required

…LIOPE

The seeded low-H cold start gives P_surf 24.8673 bar with the Fischer IW buffer of CALLIOPE 26.10.5 and 25.0959 bar with the Hirschmann (2021) buffer that CALLIOPE main makes the default; the test reads calliope.oxygen_fugacity.DEFAULT_FO2_MODEL and fails by name for a buffer without a pin.
@timlichtenberg
timlichtenberg requested a review from a team as a code owner November 8, 2026 09:24
@codecov

codecov Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.82%. Comparing base (9b8e860) to head (9c1f713).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1075   +/-   ##
=======================================
  Coverage   94.82%   94.82%           
=======================================
  Files         148      148           
  Lines       24928    24928           
  Branches     4171     4171           
=======================================
  Hits        23638    23638           
  Misses        861      861           
  Partials      429      429           
Flag Coverage Δ
unit-tests 93.79% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@timlichtenberg
timlichtenberg merged commit d7ee9a3 into main Nov 8, 2026
15 checks passed
@timlichtenberg
timlichtenberg deleted the tl/calliope-cold-start-buffer-pin branch November 8, 2026 21:04
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.

1 participant