-
Notifications
You must be signed in to change notification settings - Fork 20
healpix moc index #151
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
base: main
Are you sure you want to change the base?
healpix moc index #151
Conversation
Nice! Not sure this PR fully closes #143, though, since this is Healpix specific.
I'll take a stab at adding coordinate transforms in a dggs-agnostic way in another PR (at least for lat/lon auxiliary coordinates), hopefully this will provide a good baseline for adding a lazy coordinate for cell ids here. |
(this doesn't work yet because `moc::RangeMOC` does not derive from `serde`'s `Serialize` and `Deserialize`)
@benbovy, this appears to work properly now. The current behavior is:
Missing functionality (compared to I'll look into adding a few more tests before this is ready for merging. |
I think I addressed the review comments (and I'll punt the decision on optional vs required dependencies to a different PR), so this should be ready for another round of reviews? |
the indexing by a |
I've opened dask/dask#11998 to fix the above error |
I'm working on getting the macos CI to run (no osx-arm64 healpix-geo builds on conda-forge, yet), but other than that this should be ready, @benbovy |
Note: This is a highly experimental PR (and a lot still has to be done for this to be usable)
This tries to use the
RangeMOCIndex
class from EOPF-DGGS/healpix-geo#31 instead of the standard pandas index.In theory, this should allow opening and decoding datasets up to level 29 without having to keep the cell ids in memory (and quite possibly we can skip loading the cell ids if we see that we have$12 \cdot 4^{\mathrm{level}}$ cells).
The current state does not support
dask
(so the cell ids will still be kept in memory), but this is definitely something that will be added as the PR progresses – I still have to understand how the coordinate transform indexes work in xarray.changelog.md
api.rst
cc @benbovy