-
Notifications
You must be signed in to change notification settings - Fork 114
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
Enable populate_test_platform()
with IXMP4Backend
#560
base: enh/ixmp4-gams-io
Are you sure you want to change the base?
Conversation
* Add get_scenarios() * Add get_data() * Add set_data() * Ensure correct versions are used when cloning
platform_dest, | ||
model, | ||
scenario, | ||
version=cloned_run.version, |
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.
Does this result in the clone having the same version number as the original?
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.
It only means that the cloned Scenario
object has the same version as the cloned Run
object. I'm not sure how ixmp4 handles/changes versions upon cloning, but there was some test that failed with the previous version of the code because the version of the cloned Scenario
object was set incorrectly (not to the version of the cloned Run
).
Great progress 🚀
Yes, agreed this is the right approach. We can imagine a migration/deprecation path:
|
This PR adds a little more functionality to the
IXMP4Backend
, which is enough to makepopulate_test_platform()
pass. In turn, this includesmake_dantzig(solve=True)
, so this feels like quite a significant milestone. Enough, at least, to now turn to message_ix and see if I can't getwesteros_baseline
to run. After all, everything making that more fancy than the transport tutorial should be handled in message_ix, I think.One item deserves special attention, maybe: the
JDBCBackend
has certain units pre-defined, it seems. Formake_dantzig()
, I've included a check for now: when we're on anIXMP4Backend
, we quickly add the required units. However, this only covers this one test function and we probably want to come up with a solution that covers all cases. Which likely means:Platform.__init__()
that defines all these units on anIXMP4Backend
How to review
PR checklist