Repository navigation
Use the PALEOS P-S tables under the dummy structure for a PALEOS mantle - #938
Merged
Merged
Conversation
With a PALEOS mantle_eos (a mixture follows its MgSiO3 component) the dummy structure builds the PALEOS P-S entropy tables through generate_spider_tables again, as the Zalmoxis structure does; without one it keeps the FWL_DATA or SPIDER set and melting_dir. Aragog's P-T lookup and melting curves are unchanged, so a dummy PALEOS run reproduces the first call of the run before the reference-data change exactly.
The P-S EOS directory and both melting curves come from the generated set, and the FWL_DATA or SPIDER set is not provided.
Under the dummy structure, SPIDER and Aragog with a PALEOS mantle EOS build their P-S set from the PALEOS mantle tables, so download_zalmoxis_eos_for_config fetches those tables (and nothing else) for that case, and the config rejects a mantle with two MgSiO3 sources at load, as it does under Zalmoxis. The dummy-structure explanation and the melting_dir, generates_paleos_tables and _provide_spider_eos_tables docstrings state which tables and curves each mantle EOS reads. Tests pin the generate_spider_tables arguments and the energetics key it uses, the missing-table error on the dummy route, the fetch for dummy configs and the load check.
download_zalmoxis_eos takes with_core; False skips the Seager 2007 iron core default and fallback while a Seager component is still fetched. The dummy route passes it, so a dummy run with a PALEOS mantle fetches every mantle component and the 2-phase pair, which the table check requires, and nothing else. The fetch test mocks the dataset fetchers and asserts the files fetched in both temperature modes. needs_spider_ps_tables keeps the Wolf and Bower set for the dummy structure, since Aragog reads its P-T property tables from it, and the dummy docs name that source.
The Wolf and Bower lookup set is in P-S format, so the dummy docs and the needs_spider_ps_tables docstring call it Aragog's phase-property lookup tables. The Seager comment in download_zalmoxis_eos names the with_core condition. The dummy fetch test runs one temperature mode, since the dummy route fetches the same files in every mode.
…r does there Under the dummy structure with a PALEOS mantle EOS, SPIDER and Aragog solve on the PALEOS P-S set and its curves: a run with melting_dir Monteux-600 and one with Wolf_Bower+2018 give bitwise equal solves through the first call. The docs and docstrings say so; Aragog still requires melting_dir and its files there. The two-MgSiO3-source rejection under the dummy structure moves from Struct to the Config validator dummy_struct_mantle_eos, so it applies only with SPIDER or Aragog, which also warns when a set melting_dir does not change the solve. The melting_dir messages state the dummy case. Tests cover the validator, the melting_dir requirement under the dummy structure, and that other energetics build or provide no P-S tables.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #938 +/- ##
==========================================
+ Coverage 95.50% 95.51% +0.01%
==========================================
Files 127 127
Lines 20808 20833 +25
Branches 3522 3528 +6
==========================================
+ Hits 19872 19898 +26
+ Misses 912 911 -1
Partials 24 24
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Description
Since #919, a run with the dummy structure and SPIDER or Aragog energetics placed the FWL_DATA Wolf and Bower P-S set and the
melting_dircurves, also when the mantle EOS was PALEOS. With the same initial-condition settings such a run then started from a different state: on a dummy-structure Aragog case the first interior call starts fully molten at 3360 K instead of 1718 K with Phi 0.018, and takes 461 CVODE steps instead of 7.The dummy structure now follows
mantle_eos. With a PALEOS mantle EOS (a PALEOS mixture follows its MgSiO3 component), it builds and uses the PALEOS P-S tables and their solidus and liquidus throughgenerate_spider_tables, as the Zalmoxis structure does, and fetches the PALEOS tables it needs. With a non-PALEOS mantle EOS it keeps the Wolf and Bower set and themelting_dircurves.melting_dirwith the dummy structure; PROTEUS passes those P-T files, and the entropy solver integrates on the PALEOS P-S set. A run wheremelting_diris set but not used for the solve logs a warning.Validation of changes
melting_dirsets give bit for bit the same solve through the first call under dummy + PALEOS + Aragog.Tested on macOS 26 with Python 3.12.
Checklist