load_earth_mask: Keep data's encoding to correctly infer data's registration and gtype information #2632
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.
Description of proposed changes
See #2629 for the bug report.
The bug is because:
grid.encoding["source"]
to determine the grid's registration and gtypereturn grid.astype("int8")
. It copies the old xarray object to a new one, converts the new grid's data array toint8
type and returns the new xarary object. (ref: https://docs.xarray.dev/en/stable/generated/xarray.DataArray.astype.html)grid.encoding
information is lost.This PR fixes the bug by directly working on the grid's data array. I also updated the test to check if the returned grid has the correct gtype.
Closes #2629.
Reminders
make format
andmake check
to make sure the code follows the style guide.doc/api/index.rst
.Slash Commands
You can write slash commands (
/command
) in the first line of a comment to performspecific operations. Supported slash commands are:
/format
: automatically format and lint the code/test-gmt-dev
: run full tests on the latest GMT development version