-
Notifications
You must be signed in to change notification settings - Fork 37
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
Loosen restriction on optional arguments. #248
base: ufs/dev
Are you sure you want to change the base?
Loosen restriction on optional arguments. #248
Conversation
… into feature/optional_args_again
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 too much to review line by line. We will need to rely on the UFS regression testing. As long as all tests pass with b4b identical results, this is good. Thanks for all your efforts!
@climbfuji Agreed. |
When optional arguments were added back into the CCPP as part of #189, all variables that were conditionally allocated on the host side were required to be defined as
optional
within the schemes. This restriction required host-model logic to be implicitly built into the schemes and metadata. For example, scheme variables that wereoptional
in the context of the host model, but always required within the context scheme, still needed to be defined as optional within the scheme. This resulted in schemes having an arbitrary/confusing mis-match of required/optional arguments.Alongside this PR is a PR into the CCPP Framework that removes this restriction.
The changes contained within here revert nearly all of the optional argument changes introduced by #189 to the primary schemes.
The UFS interstitial schemes are untouched in this PR, as these schemes are designed to flexible (optional arg heavy) in order to couple to many primary schemes.
@climbfuji