Repository navigation
Consolidate production workflows and isolate simulations from software - #11
Merged
Merged
Conversation
astrojaket
marked this pull request as ready for review
September 8, 2026 13:50
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.
ROBERT can now be installed from environment.yml and used from isolated simulation directories. The seven maintained YAML templates place writable defaults outside the checkout. The run creator keeps generated observations, prepared caches, Slurm logs, checkpoints, results, and plots together, while small runner wrappers use the current software checkout after updates. Tutorials and notebooks follow this workflow. Shared opacity files are downloaded once and reused; the guide gives verified ExoMol links, canonical filenames, resolution-directory precedence, and separate R=15000 and line-by-line routes.
The integration retains PyMultiNest as the supported nested sampler and Optimal Estimation with explicit likelihood/CLR boundaries. It includes pressure-quench chemistry and the tested POSEIDON stellar-contamination transform, retains the benchmarked CLR API, and removes obsolete configurations, wrappers, and task reports. The two-region example excludes the derived NIRCam overlap average so the same three independent modes are used throughout. Posterior plots use the same 100 weighted draws for median and central 1/2-sigma spectra and atmospheric profiles, in mediumpurple.
Studies, heavy opacity files, and generated scientific products stay outside Git and distributions. Source archives include the public runners, Slurm launcher, tutorials, compact inputs, and test fixtures.
Validation: 882 local tests passed, 27 optional skips, including native MultiNest; coverage 73% against a 70% floor. Separate JAX CPU checks: 24 passed. A new isolated Conda environment passed dependency checks and both complete bundled emission/transmission retrievals, truth-recovery gates, forward runs, and 100-draw post-processing. Clear/cloudy R=1000 spectra and likelihoods match saved pre-refactor and GitHub baselines exactly in six tested states across three instruments. Ruff, mypy, notebook compilation, Markdown links, and distribution-content checks pass. Final GitHub CI: https://github.com/astrojaket/ROBERT-code/actions/runs/34237274220 (all eight jobs passed).
The supported-methods guide retains explicit scientific boundaries, including independent pressure-quench profile parity, general cloud validation, accelerator production use, and deferred full HRS/LRS real-data retrievals.
The fresh-environment isolation check also confirmed 656 source-file hashes were unchanged after both retrievals; no simulation products entered the software snapshot.