Capgen in SCM: Bug fix for scheme ordering in non-run phases#629
Conversation
Write something into the initialization phase that makes them depend on each other? For example init call to scheme two depends on something being set in init call to scheme one, etc? If you were to add more than two schemes (e.g., five scheme inits), you increase the changes that they won't be in the correct order. |
peverwhee
left a comment
There was a problem hiding this comment.
wow I'm surprised we hadn't run into this issue before! thanks @dustinswales
climbfuji
left a comment
There was a problem hiding this comment.
Thanks for fixing this
gold2718
left a comment
There was a problem hiding this comment.
I see that you added a bunch of _init routines to a test suite and I was all set to complain but then you added the internal order check. I verified that this suite test fails if the mods in ccpp_suite.py are reverted.
I do have a variable name-change suggestion / request but it is not vital.
BTW, Why is there a branch bugfix/scheme_ordering_in_caps on the NCAR repo?
|
@climbfuji @peverwhee Do we need another NOAA approval before merging? |
I'd say go ahead |
|
But your branch is behind develop, let's at least merge that in and rerun the tests |
… bugfix/scheme_ordering_in_caps
Description: Allow for multiple instances of the same local_name being used in the Group cap for two situations: a) with different standard_names b) in different DDTs . User interface changes?: No Fixes: #629 Testing: Added to var_compatibility_test to exercise feature. This PR contains changes included in #630 --------- Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
Description:
A python set is used to gather the schemes to call in the non CCPP run phases. However, python sets don't maintain the order, and hence the call order is wrong outside the run phase.
User interface changes?: No
Fixes: #628
Testing:
Expanded var_compatibility_test to have initialization phases and illustrate bug.
Not sure how to test that the order is unchanged?