-
Notifications
You must be signed in to change notification settings - Fork 157
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
Address failing nightly workflow #591
Comments
I tested this on one of our recent ENGAGE scenarios (
|
Thank you for checking @behnam-zakeri! |
As for 1 and 2, we need to update the scenarios in the nightly tests and then update the values in checks. For 3, I opened this issue: #592 |
One point of information: the nightly scenarios were exported some time ago (would need to check to see precisely when). So in a way, loading them and running them is a check that newer versions of message_ix can handle scenarios created with older versions of the code: both loading & running without error and producing numerically identical output. This requirement is not actually super well defined, e.g. I wouldn't expect scenarios created with versions as old as message_ix v1.x or even 2.x to pass (since we have fixed several bugs in the GAMS code since those). So this is also an opportunity to consider more carefully what precisely we expect and maybe adjust the tests to reflect that. |
Per Behnam's point (1), this tells us there is something specific about the particular scenario we use for the nightly tests that makes its objective value sensitive to this recent change. This characteristic is not in the other, ENGAGE scenario. It would be nice to try to identify what this is, so we could warn users: “if your scenarios have such-and-such characteristics, outputs may change” etc. However I also realize that might take quite some detective work that we may not have bandwidth for. |
Thanks Paul. Good points. I agree that we should test some old scenarios for backward compatibility. Unless we change the code or resolve a bug as this PR does. Then we can update the old check values if the scenario itself is still valid. Especially in this case, as the change of the objective function is significant, I agree that a more detailed investigation can be useful. |
As for point 3, the |
I opened #603 as one suggestion of how to deal with these issues in the future. To discuss at our message meeting. |
Thank you for this :) |
That was my thinking, I should have said so explicitly, sorry! |
It looks like it works (Link). |
Ah not at all :) |
I have run some tests comparing the latest version and the commit 2045b07 "baseline":
Differences in output gdx (womacro) -> capacity factor entries in LAM for "NPi2020_1000-con-prim-dir-ncr":
"NPi2020_400-con-prim-dir-ncr":
For both mitigation scenarios, with macro, while overall trends are similar between the version
|
@khearu and @behnam-zakeri I have noticed that we may have the same issue here as already highlighted in an earlier PR. The issue is that |
Good catch. We need to be careful with inheritance of those classes (i.e. the MESSAGE_MACRO Python class needs to do MESSAGE things and MACRO things), and I think this slipped through. If you copy MESSAGE.enforce to MACRO.enforce (this will not be the solution, only a check) does that help? |
yes this solves the issue. In the gdx file, |
Great, thanks for confirming. The fix should be fairly simple then (ensure the MESSAGE_MACRO class gets the enforce() method, which should be possible by multiple inheritance), but we would need to add a simple test that checks it's so. |
I have added the quickfix to a test PR and the nightly tests have also passed |
Upon resolving this issue, I would suggest to make a new mini-release v3.5.1? |
Agreed we should release quickly to fix the bug. Ordinarily this would be v3.5.1, yes, but a release will include the changes from #572 that are now on Following this logic, the next release will be v3.6.0. |
As first mentioned by @khaeru in the #message_general slack channel, the nightly workflow is failing possible after merging #561, please see here.
Please find further information under the thread in #message_general here.
Taking the liberty to copy @behnam-zakeri tip to check weather the failing nightly is related to the merged PR:
The text was updated successfully, but these errors were encountered: