Repository navigation
ci: support multiple ECT cases (one table, ect-case input) - #88
Draft
cenamiller wants to merge 1 commit into
Draft
cenamiller wants to merge 1 commit into
cenamiller wants to merge 1 commit into
Conversation
…le-gen) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Draft: adds support for more than one ECT case, built up one case at a time.
What this does
ECT settings were hard-wired to a single case (120km,
mesoscale_reference). This PR moves the per-case settings into one table,.github/ect-cases.yml, and adds anect-caseinput toect-test.ymlandect-ensemble-gen.yml. An empty input uses the table'sdefault, so existing runs behave as before. An unknown name fails with the list of valid cases..github/ect-cases.yml: the table (archive, summary/restart asset names, durations, perturbation, excluded variables).github/actions/resolve-ect-case+.github/scripts/resolve-ect-case.py: resolve a case once in a workflow's config job and pass the values on as explicit inputsrun-perturb-mpasandvalidate-ecttake their per-case values as inputs; results gain anect-casecolumnECT_*per-case keys leaveci-config.env(PyCECT tag/commit stay)What this does not do
No new automatic runs. Existing push and pull_request ECT runs are unchanged and use the default case. Other cases are run by dispatch (
ect-caseinput). Automatic targeting and a dropdown of cases are intentionally left for follow-ups.Cases (added to this PR as separate commits)
Each case needs its reference ensemble (summary + spin-up restart in the ECT release, built with ECT Ensemble Generation), and a passing ECT Test run.
mesoscale_reference(default, unchanged behaviour)sf_noahmpconvection_permitting(+ convection-off variant)Test plan
🤖 Generated with Claude Code