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

Refactors how/when rebuilds are required #4609

Merged
merged 10 commits into from
May 10, 2024
Merged

Refactors how/when rebuilds are required #4609

merged 10 commits into from
May 10, 2024

Conversation

jasonb5
Copy link
Collaborator

@jasonb5 jasonb5 commented Apr 4, 2024

  • Refactors check_lockedfiles
  • Updates xmlchange to use check_lockedfiles
  • Adds ability for components to define when a rebuild is required
    • Define custom component triggers by adding REBUILD_TRIGGER_{comp} with comma separated list of variables to config_component.xml, e.g. REBUILD_TRIGGER_CPL=NTASKS would require a rebuild if NTASKS changes for the cpl component
  • Removes warning/error when pelayout is changed
    • To add old behavior define REBUILD_TRIGGER_CPL with a value NTASKS,NTHRDS,NINST to couplers config_component.xml

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

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

@jasonb5
Copy link
Collaborator Author

jasonb5 commented Apr 4, 2024

TODO

  • Add documentation
  • Finish adding tests

Copy link
Contributor

You can preview documentation at https://esmci.github.io/cime/branch/fix-model-rebuild/html/index.html

@jasonb5 jasonb5 marked this pull request as ready for review May 2, 2024 18:12
@jasonb5 jasonb5 requested review from jedwards4b and jgfouca May 2, 2024 18:15
Copy link
Contributor

@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.

LGTM

@jgfouca jgfouca self-assigned this May 2, 2024
@jgfouca
Copy link
Contributor

jgfouca commented May 6, 2024

@jedwards4b , you want to review or should I just merge?

@rljacob
Copy link
Member

rljacob commented May 6, 2024

Does this mean I can: change NTASKS for a component that doesn't need a rebuild, run case.setup, immediately run case.submit without running case.build ? Do I still have to run case.setup?

@jasonb5
Copy link
Collaborator Author

jasonb5 commented May 6, 2024

@rljacob Yes you would still have to run ./case.setup to regenerate the batch script files, but ./case.build can be skipped.
It's possible we could automatically run ./case.setup after running ./xmlchange on a variable or make it an option to do it with a single command e.g. ./xmlchange NTASKS=8 --reset or something similar.

@jgfouca
Copy link
Contributor

jgfouca commented May 7, 2024

@jedwards4b , last chance to review before I merge.

@jasonb5
Copy link
Collaborator Author

jasonb5 commented May 8, 2024

@jgfouca What are your thoughts on adding a --reset argument to ./xmlchange to skip the call to ./case.setup --reset? I can address this in another PR if it's a worth while addition.

@jgfouca
Copy link
Contributor

jgfouca commented May 8, 2024

@jasonb5 , that sounds fine to me.

@jgfouca jgfouca merged commit ba6f8c3 into master May 10, 2024
9 checks passed
@jgfouca jgfouca deleted the fix-model-rebuild branch May 10, 2024 18:16
@jasonb5
Copy link
Collaborator Author

jasonb5 commented May 10, 2024

@jgfouca Sounds good, I'll make a separate PR for it.

@jedwards4b
Copy link
Contributor

I was on vacation. Sorry you couldn't find another cesm person to review, I'll bring that up in our team meeting tomorrow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants