Skip to content

Conversation

@mahf708
Copy link
Contributor

@mahf708 mahf708 commented Oct 13, 2025

Introducing RCS (and removing MVK) to ATM.

Highlights:

docs: https://docs.e3sm.org/E3SM/pr-preview/pr-7789/EAMxx/user/multi-instance-rcs

cocreated with bots

[BFB]

@github-actions
Copy link

github-actions bot commented Oct 13, 2025

PR Preview Action v1.6.2

🚀 View preview at
https://E3SM-Project.github.io/E3SM/pr-preview/pr-7789/

Built to branch gh-pages at 2025-11-05 01:08 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@mahf708 mahf708 force-pushed the mahf708/eamxx/ne4mvk branch from aa5d29b to 221dbc2 Compare October 13, 2025 18:29
@mahf708 mahf708 added BFB PR leaves answers BFB Testing Anything related to unit/system tests EAMxx C++ based E3SM atmosphere model (aka SCREAM) labels Oct 13, 2025
@whannah1
Copy link
Contributor

Minor quibble - the "EST" terminology is redundant if we refer to an "EST test" - so how about we call it something like "ENS" for "ENsemble Statistics" test?

@mahf708 mahf708 changed the title EAMxx: introducing EST testing for climate reproducibility EAMxx: introducing Reproducible Climate Statistics test Oct 13, 2025
@mahf708 mahf708 marked this pull request as ready for review October 13, 2025 23:50
Copy link
Member

@jgfouca jgfouca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just some style comments

@mahf708 mahf708 requested a review from Copilot October 15, 2025 00:30
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request replaces the MVK (Multivariate Kolmogorov-Smirnov) testing system with a new RCS (Reproducible Climate Statistics) system for NBFB (Not-Bit-For-Bit) testing in EAMxx. The RCS system provides a more comprehensive statistical testing framework with multiple test types and enhanced configurability.

Key changes include:

  • Introduction of RCS system test with comprehensive statistical testing capabilities
  • New perturbation test mod for creating ensemble perturbations
  • Automated documentation generation for the RCS system

Reviewed Changes

Copilot reviewed 16 out of 18 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
components/eamxx/mkdocs.yml Updated documentation link from MVK to RCS
components/eamxx/docs/user/multi-instance-rcs.md New comprehensive documentation for RCS system
components/eamxx/docs/user/multi-instance-mvk.md Removed old MVK documentation
components/eamxx/cime_config/testdefs/testmods_dirs/eamxx/perturb/* New perturbation testmod for RCS ensemble setup
components/eamxx/cime_config/testdefs/testmods_dirs/eamxx/mvkpert/* Removed old MVK perturbation files
components/eamxx/cime_config/config_tests.xml Updated test configuration from MVKxx to RCS
components/eamxx/cime_config/SystemTests/rcs_stats.py New comprehensive statistical testing framework
components/eamxx/cime_config/SystemTests/rcs_perts.py New perturbation utilities for RCS
components/eamxx/cime_config/SystemTests/rcs.py New RCS system test implementation
components/eamxx/cime_config/SystemTests/mvkxx.py Removed old MVK system test
components/eamxx/cime_config/SystemTests/ksxx* Removed old KS test files

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@AaronDonahue
Copy link
Contributor

@mahf708 , just wanted to check in on the status of this PR

@mahf708
Copy link
Contributor Author

mahf708 commented Oct 31, 2025

I'd like to address comments above by Jim, Luca, and Noel. I will do that soon, hopefully before Monday.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 16 out of 18 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mahf708 mahf708 requested a review from bartgol October 31, 2025 19:07
@mahf708 mahf708 force-pushed the mahf708/eamxx/ne4mvk branch 3 times, most recently from 0281d6d to cd06159 Compare November 3, 2025 15:22
@mahf708
Copy link
Contributor Author

mahf708 commented Nov 3, 2025

@AaronDonahue, this is ready for integration as-is.

It would be nice to add some tests to test.py; let's see what @ndkeen recommends. That can be done either here or in a follow-up PR. I'd like @jgfouca, @bartgol, and @ndkeen to take one last look before integration. Thanks!

<STOP_N>12</STOP_N>
<REST_OPTION>never</REST_OPTION>
<REST_N>$STOP_N</REST_N>
<HIST_OPTION>$STOP_OPTION</HIST_OPTION>
Copy link
Contributor Author

@mahf708 mahf708 Nov 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ndkeen note that changing HIST_OPTION will make the test fail by default. There's a workaround to override the hist archive, etc., but I thought I'd rather avoid that potential rabbit hole for now. We are disallowing useless restarts though, so that's a plus!

@mahf708
Copy link
Contributor Author

mahf708 commented Nov 3, 2025

For Jim, only this commit should be reviewed: cd06159

Copy link
Member

@jgfouca jgfouca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Much better! Just one minor thing

@mahf708 mahf708 force-pushed the mahf708/eamxx/ne4mvk branch from cd06159 to 7292f39 Compare November 4, 2025 18:09
@mahf708 mahf708 requested a review from jgfouca November 4, 2025 18:21
@mahf708 mahf708 force-pushed the mahf708/eamxx/ne4mvk branch from bf8fcad to 8102319 Compare November 4, 2025 18:39
@mahf708
Copy link
Contributor Author

mahf708 commented Nov 5, 2025

thanks @ndkeen

@bartgol, whenever you have time, this can go in. It's an eamxx-only PR, and shouldn't affect anything but a new lowly abject test :D

@bartgol bartgol added the CI: approved Allow gh actions PR testing on ghci-snl-* machines label Nov 5, 2025
bartgol added a commit that referenced this pull request Nov 5, 2025
Introducing RCS (and removing MVK) to ATM.

Highlights:

perturb test mod for creating necessary perturbation
RCS system test with rcs_perts (manipulate perturbation) and est_stats for statistical testing
rcs_stats can be triggered from the command line too (some details in rcs_stats were generated by bot)
note a limitation in cice (in eam and cice buildnml, ntasks are wrong in multi-deriver multi-instance setup #7788)
automatically generated docs

cocreated with bots

[BFB]
@bartgol bartgol merged commit 2f8b1fb into master Nov 5, 2025
14 of 20 checks passed
@bartgol bartgol deleted the mahf708/eamxx/ne4mvk branch November 5, 2025 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BFB PR leaves answers BFB CI: approved Allow gh actions PR testing on ghci-snl-* machines EAMxx C++ based E3SM atmosphere model (aka SCREAM) Testing Anything related to unit/system tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants