Restructure: single source of truth + library-first analysis#2
Merged
Merged
Conversation
Establish run.yaml as the single source of run parameters and route OSIRIS plotting/shock-fitting through pyVisOS, eliminating config duplication across runme scripts, run_manifest.yaml, and analysis configs. Run spec (Phases 1-2): - FLASH_OSIRIS_define.py gains --config <run.yaml>; freezes the resolved spec to <sim_dir>/run.yaml and trims run_manifest.yaml to provenance + derived. - runs/*.run.yaml: structured single source per run; runme_*.sh reduced to thin --config wrappers. Template emits indexed nx_p(1:1) so osiris_utils can parse 1D decks. - src/run_spec.py: RunSpec.from_sim_dir resolves run.yaml -> run_manifest (cli_command) -> runme*.sh; re-exported from analysis_utils. Deleted the brittle parse_runme/load_runme/find_runme/input_deck helpers. - config/*.yaml stripped to derived-from-data annotations only (sim_dir, shock fit, dump_params, flash seeds). Analysis (Phases 3-5): - src/shock.py single-sources front detection (detect_front_edge for OSIRIS, detect_front_gradient for FLASH) and robust_linfit (sigma-clipping fit). overview.py and flash_overview.py both use it; flash_utils.detect_front delegates to it. - OSIRIS plotting defaults to osh5vis (osimshow/osplot1d/ossemilogy) with labels/units sourced from H5Data data_attrs; loading stays on osh5io + path helpers + StreakBuilder. overview.py and convergence_scan.py migrated. Tests: src/run_spec and src/shock unit tests (82 pytest pass); CI deps updated. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
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.
Establish run.yaml as the single source of run parameters and route OSIRIS plotting/shock-fitting through pyVisOS, eliminating config duplication across runme scripts, run_manifest.yaml, and analysis configs.
Run spec (Phases 1-2):
Analysis (Phases 3-5):
Tests: src/run_spec and src/shock unit tests (82 pytest pass); CI deps updated.