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.
Model coordinates should be immutable objects, so tuples are prime candidates for that.
Unfortunately tuples cause problems when passed to xarray (#5043) which happens after the compute-intensive MCMC.
This PR modifies the
Model.coords
such that all coordinate values become tuples.This way they're immutable and one can do
model.coords["city"].index("London")
to obtain indices that can be used for slicing tensors.In the
InferenceData
conversion tuples are then automatically converted to NumPy arrays to avoid the problems with xarray.Note that while this PR restricts the
Model.coords
to tuples, the user may still manually pass other types such asMultiIndex
for the conversion.Depending on what your PR does, here are a few things you might want to address in the description: