Fixed strange behaviour when creating variables with conflicting coordinates #499
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_array
whencoords
is 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_variable
which callsas_data_array
under the hoodChanges proposed in this Pull Request
Add the
force_broadcast
option 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_variable
so 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.rst
of the upcoming release is included.