-
Notifications
You must be signed in to change notification settings - Fork 7
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
Simplify interchange dictionary processing #564
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SamWitty
added
refactor
awaiting review
PR submitter awaiting code review from reviewer
labels
Apr 8, 2024
anirban-chaudhuri
approved these changes
Apr 8, 2024
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.
Looks good to me.
anirban-chaudhuri
added a commit
that referenced
this pull request
Apr 8, 2024
* simplify intervention splicing * lint * removed test Co-authored-by: Sam Witty <[email protected]>
SamWitty
added a commit
that referenced
this pull request
Apr 12, 2024
… specific interventions (#563) * Adding fixed interventions as input to `optimize` * Update optimize_interface.ipynb * Adding integration utility to combine interventions * Adding deepcopy for fixed interventions * Update intervention_builder.py * Sw output (#565) * simplify intervention splicing * lint * removed test --------- Co-authored-by: Sam Witty <[email protected]> * Update optimize_interface.ipynb * Adding tests for using fixed intervention with optimize * Simplify interchange dictionary processing (#564) (#566) * simplify intervention splicing * lint * removed test Co-authored-by: Sam Witty <[email protected]> * Update test_interfaces.py * updating name for combining interventions * Update ouu.py * lint * update tests to use new name for combining interventions * lint * Update optimize_interface.ipynb --------- Co-authored-by: Sam Witty <[email protected]>
SamWitty
added a commit
that referenced
this pull request
Apr 29, 2024
… specific interventions (#563) * Adding fixed interventions as input to `optimize` * Update optimize_interface.ipynb * Adding integration utility to combine interventions * Adding deepcopy for fixed interventions * Update intervention_builder.py * Sw output (#565) * simplify intervention splicing * lint * removed test --------- Co-authored-by: Sam Witty <[email protected]> * Update optimize_interface.ipynb * Adding tests for using fixed intervention with optimize * Simplify interchange dictionary processing (#564) (#566) * simplify intervention splicing * lint * removed test Co-authored-by: Sam Witty <[email protected]> * Update test_interfaces.py * updating name for combining interventions * Update ouu.py * lint * update tests to use new name for combining interventions * lint * Update optimize_interface.ipynb --------- Co-authored-by: Sam Witty <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This small PR removes some utilities that were previously used to splice in parameter interventions into the processed output. Previously, the utilities were agnostic to whether the intervention was on a state or a parameter. This is nice for its generality, but unfortunately caused some issues when there were multiple parameters that shared the same substring. See the last cell in this notebook for an example: https://github.com/ciemss/pyciemss/blob/ac-opt-fixedInterventions/docs/source/optimize_interface.ipynb
Fortunately, it turns out that splicing in the intervention values is only necessary for the interventions on parameters; interventions on states are already correctly reflected in the simulation output. Therefore, we can simply remove the state/parameter agnostic code, and manually pass in the target column name.