Fixed strange behaviour when creating variables with conflicting coordinates#499
Closed
RobbieKiwi wants to merge 5 commits intoPyPSA:masterfrom
Closed
Fixed strange behaviour when creating variables with conflicting coordinates#499RobbieKiwi wants to merge 5 commits intoPyPSA:masterfrom
RobbieKiwi wants to merge 5 commits intoPyPSA:masterfrom
Conversation
Collaborator
|
thanks @RobbieKiwi! I have to look into this a bit more and we need to be careful here as it could lead to unexpected behavior. and yes I am not happy with the API in terms of coords alignment, it is just too vague, we need a strict convention here. We also need to think about different operations
ideally they all follow the same convention but they are currently not. for example there is the logic that coords of a secondary term in operations like |
Contributor
Author
|
Hey thanks for having a look and let me know if you have any ideas of how to progress with this |
This file contains hidden or 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
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.
Closes #450
Previous logic
For
as_data_arraywhencoordsis provided:For a more concrete example, if you provide 2 dimensional coords, this is the result of different input data:
The behavior of 1 dimension -> 1 dimension is clearly the odd one out and is not very intuitive.
This behavior was noticed by people using
m.create_variablewhich callsas_data_arrayunder the hoodChanges proposed in this Pull Request
Add the
force_broadcastoption toas_data_array. When true, it will always try to broadcast to the dimensions implied by coords.For the example above this means
Use this new option inside
m.add_variableso that variable creation is more intuitive.Note that this is a breaking change for anyone who was relying on the previous behavior when creating variables (I.e they were depending on the coords argument to be ignored). This seems like quite an edge case so perhaps it's OK to change directly.
Checklist
doc.doc/release_notes.rstof the upcoming release is included.