Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates MVK test to be configured through testmod #4618

Merged
merged 52 commits into from
Oct 28, 2024
Merged

Conversation

jasonb5
Copy link
Collaborator

@jasonb5 jasonb5 commented Apr 20, 2024

  • Updates MVK SystemTest to be configurable via testmod
  • Updates SystemTests documentation
  • Refactors testmod
  • Adds ability to generate documentation from Config class

Test suite: n/a
Test baseline: n/a
Test namelist changes: n/a
Test status: n/a

Fixes #4592
User interface changes?:
Update gh-pages html (Y/N)?:

@jasonb5
Copy link
Collaborator Author

jasonb5 commented Apr 20, 2024

TODO:

  • Write documentation
  • Refactor discovery usermods/testmods directory.

@rljacob rljacob requested a review from mkstratos April 20, 2024 17:19
Copy link
Contributor

You can preview documentation at https://esmci.github.io/cime/branch/update-mvk-config/html/index.html

@jasonb5
Copy link
Collaborator Author

jasonb5 commented May 16, 2024

@jasonb5
Copy link
Collaborator Author

jasonb5 commented Jul 11, 2024

@mkstratos Thanks for the feedback, it looks great.
I have the remaining requirements to support EAMxx, I'll have implemented shortly and we move forward with the PR.

@jasonb5
Copy link
Collaborator Author

jasonb5 commented Oct 17, 2024

@rljacob @jgfouca @jedwards4b @mkstratos
How do we feel about merging this and handling any issues as they come? The default behavior and testmods feature work.
The EAMxx use case should be supported with this example of a testmod, where atmchange can be used to customize the inputs and copied to a unique per-instance file (EAMxx would need an update to use the per-instance files).

from CIME.utils import safe_copy
from CIME.utils import run_cmd

component = "eamxx"
ninst = 30

def generate_namelist(case, component, i, filename):
  run_cmd(f"atmchange initial_conditions::perturbation_random_seed = {i*32}")
  run_cmd(f"atmchange ...")
  ...
  safe_copy("namelist_scream.xml", f"namelist_scream_{i:04}.xml")

@jedwards4b
Copy link
Contributor

Okay with me.

@jgfouca
Copy link
Contributor

jgfouca commented Oct 17, 2024

Fine with me too. Feel free to merge it whenever you think it's ready.

@jasonb5 jasonb5 merged commit 450cb5b into master Oct 28, 2024
9 checks passed
@jasonb5 jasonb5 deleted the update-mvk-config branch October 28, 2024 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature: Parameters for SystemTests
5 participants