-
Notifications
You must be signed in to change notification settings - Fork 64
Update main with develop branch #638
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
Conversation
…20241205 Update develop from main 2024/12/05
…ts (NCAR#617) **This PR affects ccpp-prebuild only. It can be merged into develop (or main), but it must come to main as soon as possible for use in UFS/SCM.** This PR adds workarounds for handling optional arguments the right way (finally!) in `scripts/ccpp_prebuild.py` and `scripts/mkcap.py`. This update is already in use in NEPTUNE and is required for @dustinswales' work to update/revert the optional arguments in ccpp-physics in the UFS and the SCM. The workaround for `ccpp-prebuild` allows us to treat only those arguments as optional that are truly optional for a CCPP scheme. In the past, any argument that was conditionally allocated by any of the host models had to be declared as optional, even if it was required by the physics. User interface changes?: Yes and No. This can be merged without making any changes (it won't break the previous functionality where any conditionally allocated variable had to be declared as optional in the physics). But it will allow to declare many CCPP physics variables as non-optional if they aren't really optional. This finally resolves NCAR#566 (by making ccpp-prebuild behave the same as capgen, which is the correct way to handle optional arguments). Testing: test removed: none unit tests: all pass system tests: all pass manual testing: implemented and tested thoroughly in NEPTUNE
Added test using a DDT host object to pass information Fix problems so that test passes Improve formatting for readability User interface changes?: No Fixes: NCAR#589 Testing: test removed: None unit tests: Pass system tests: Pass, added DDT host object test manual testing: Ran doctests, examined generated code for system tests --------- Co-authored-by: Steve Goldhaber <stevenng@met.no> Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
PR to address issue with variable intents *across* groups. **Description** - Current behavior for variables across groups: the intent for the first group is used as the "truth". - If variable "foo" is intent "out" in Group A and intent "in" in Group B, "foo" will be added to the variable dictionary used by the host as intent "out", which then the host assumes means that the framework will handle it - Updated behavior for variables across groups: adjust the intent of the existing variable to "inout" if a conflict arises across groups (or suites) User interface changes?: No Testing: test removed: N/A unit tests: Updated capgen & ddt test - variable intents across suites also affected; PASS system tests: all PASS manual testing: Ran in CAM-SIMA
Fixes a bug where a ddt used in only one phase (thereby not promoted to the group level) does not get the necessary "use" statement added at the subroutine level in the suite cap.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is exactly the hash I tested with NEPTUNE a week or two ago
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CAM-SIMA tests pass!
@mkavulich This shouldn't have been merged since it hasn't passed the UFS RTs yet. |
@dustinswales your original PR #627 said that all UFS rts had passed, is this not the same hash? |
[ 50 character, one line summary ]
Update main with develop branch
Replaces #627