owned this note
owned this note
Published
Linked with GitHub
# xdggs development meetings
Meeting link: https://numfocus-org.zoom.us/j/81977735338?pwd=pVM3UvnSAJORc2p4Oad39TESPvBzV5.1
## Sep 8, 2025
### Attendees
- Justus Magin / @keewis
- Wai Tik Chan / @tik65536
### 60-second updates
- Justus:
- alignment: https://github.com/xarray-contrib/xdggs/pull/166
- sel for MOCIndex
- querying by geometries (tentative API): https://github.com/xarray-contrib/xdggs/pull/169
- NASA / a adjacent group is interested in a cubed-sphere xdggs backend
- Tik: MOC for the ISEA grid, trying to use (https://cds-astro.github.io/mocpy/index.html)
## Aug 11, 2025
### Attendees
- Justus Magin / @keewis
- Alex Kmoch / @allixender
### 60-second updates
- Alex
- OGC DGGS-AI pilot, demonstrating OGC DGGS API as frontend to XDGGS/Zarr (and dataframe Parquet/database tables) backends, but ideally have NUNIQ or ZUNIQ for HEALPIX hierarchical zonal identifiers https://github.com/LandscapeGeoinformatics/pydggsapi/
- DGGRIDlib, towards shared lib (vs current cmdline use): https://github.com/LandscapeGeoinformatics/dggridlib
- DGGAL Jerome, potential XDGGS plugin: https://pypi.org/project/dggal/
- Justus:
- positional slicing with multiple slices in xarray: https://github.com/pydata/xarray/pull/10573
- looking into sel for MocIndex
### Agenda
## Jul 14, 2025
(Justus is on holiday)
## Jun 30, 2025
### Attendees
- Justus Magin / @keewis
### 60-second updates
- Justus:
- new release of healpix-geo on PyPI
- conversion functions for ellipsoidal healpix
- Subsetting the MOC index by a positional integer array
- thinking about extending the indexing xarray machinery by a list of (disconnected) slices
## Jun 16, 2025
### Attendees
- Justus Magin / @keewis
- Alexander Kmoch / @allixender
- Wai Tik Chan / @tik65536
- Pablo / @pablo-richard
### 60-second updates
- Justus:
- RangeMOC-based index is very close (https://github.com/xarray-contrib/xdggs/pull/151)
- Tina made this: https://github.com/pangeo-data/awesome-HEALPix
- Alex:
- published hierarchical indexing for ISEA7H -> IGEO7 = ISEA7H+Z7 (https://agile-giss.copernicus.org/articles/6/32/2025/)
- depth-first indexing scheme
- still use dggrid for complicated things like vertices and neighbourhood
- Awesome DGGS Github repo: https://github.com/LandscapeGeoinformatics/awesome-discrete-global-grid-systems
### Agenda
- EOPF / position accuracy of healpix (ellipsoidal)
- transformation: spherical = authalic, conversion to geographic
- offset compared to geographic (between ±0.13° for WGS84)
- investigate whether that's actual equal area, look at shape / distance distortion (with graphs that show the differences between spherical / ellipsoidal)
- comes with a computational cost (e.g. spherical harmonics)
- position accuracy: roundtrip?
- tasks:
- describe extension healpix to ellipsoid
- evaluate the difference with spherical healpix
- show at which refinement level the cell centers would flip to different IDs
- healpix-geo issue to continue this discussion
## Jun 02, 2025
### Attendees
- Justus Magin / @keewis
### 60-second updates
- Justus:
- preparing a plot for the different definitions of latitude (no PR yet)
- looking into a more sophisticated xarray index that is based on cell id ranges ([EOPF-DGGS#31](https://github.com/EOPF-DGGS/healpix-geo/pull/31))
### Agenda
## May 19, 2025
### Attendees
- Justus Magin / @keewis
- Alexander Kmoch / @allixender
- Wai Tik Chan / @tik65536
### 60-second updates
- Justus
- km-scale global hackathon
- higher resolution data than expected
- smarter way to index using sets of ranges (e.g. healpix MOCs)
- image pyramids for visualization
- need a overview table for cell sizes on healpix
- interesting DGGS: a5, IVEA*
### Agenda
## May 04, 2025
(skipped)
## Apr 21, 2025
(skipped, easter holiday)
## Apr 7, 2025
### Attendees
- Justus Magin / @keewis
- Alex Kmoch / @allixender
- Wai Tik Chan / @tik65536
### 60-second updates
- Alex
- trying to visualize ~1M cells
- api service: does the index have to live in memory?
- Justus
- regridding post: https://discourse.pangeo.io/t/distributed-computation-of-regridding-weights/5031
- regridding API draft: https://github.com/keewis/grid-weights/issues/7
- RTree with geographic data: https://dx.doi.org/10.1007/978-3-642-40235-7_9
- different algorithms (besides nearest)?
- cell in polygon search?
- zonal stats with dask: https://github.com/IAOCEA/pangeo-iaocea/blob/ffe75b848791d182064eb784a010556b3ea72677/pangeo_iaocea/regridding.py
## Mar 24, 2025
### Attendees
- Justus Magin / @keewis
- Wai Tik Chan / @tik65536
### 60-second updates
- Justus
- debugging of the windows CI of `grid-indexing` / `grid-weights`
- it works, but building wheels for windows doesn't
- (remove the `Requires.private` line from `$CONDA_PREFIX/Library/lib/pkgconfig/proj.pc`)
- Tik
- IGEO7 xdggs plugin restructured, separated conversion into a separated function.
### Agenda
- polygon selection:
- would be possible to rasterize the polygon, then perform a set union of cell ids
- but this is inefficient, especially on higher resolution levels and big polygons
- thus, we may need to have specialized indexing functions in the backend libraries
- neighbours search
- https://github.com/iaocea/healpix-convolution
## Mar 10, 2025
### Attendees
- Justus Magin / @keewis
- Alex Kmoch / @allixender
- Wai Tik Chan / @tik65536
- Kayziel Martinez / @kai-zie
### 60-second updates
- Justus: nothing new
- Alex:
- ESA proposal on Healpix/DGGS for satellite data submitted
- xdggs-dggrid4py link in the ecosystem page
### Agenda
- xdggs tutorial at LPS? (needs Alex / Tina to discuss)
- Alex will try to submit (Deadline was today)
- debugging zoom: https://cnrs.zoom.us/j/96858567435?pwd=qVtdQwpVzmCV4GaLqOGZLjDk6zrgMd.1
## Feb 24, 2025
### Attendees
- Justus Magin / @keewis
- Wai Tik Chan / @tik65536
- Kayziel Martinez / @kai-zie
### 60-second updates
- Tik: release for the xdggs extension
- https://github.com/LandscapeGeoinformatics/xdggs-dggrid4py
- Kayziel:
- trying out xdggs and the extension
- Justus:
- interaction with the cdshealpix rust package maintainer
- kth ring neighbours search (or `neighbours_disk`)
- wrapper/vendor package: https://github.com/keewis/healpix-geo/
-
- progress on regridding of arbitrary grids using polygons:
- gist: https://gist.github.com/keewis/1ba41873065e2a2f68a12269dbf1ae11
- distributed tree PR merged
## Feb 10, 2025
### Attendees
- Justus Magin / @keewis
- Wai Tik Chan / @tik65536
-
### 60-second updates
- Justus:
- multi-dimensional `explore` using sliders
- https://github.com/xarray-contrib/xdggs/pull/124
- release coming soon
-
### Agenda
- minimal dependencies
- https://github.com/xarray-contrib/xdggs/issues/128
- extensions page
- contains a guide on how to write plugins
- with a list of known plugins
## Jan 27, 2025
### Attendees
- Justus Magin / @keewis
- Alex
- Tik
- Tina
### 60-second updates
- Justus:
- more progress on regridding (public interface still to be done):
- https://github.com/keewis/grid-indexing
- https://github.com/keewis/grid-weights
- several merged PRs:
- allow passing colormap objects (by @annefou): https://github.com/xarray-contrib/xdggs/pull/120
- override the grid parameters: https://github.com/xarray-contrib/xdggs/pull/63
- fix the healpix repr: https://github.com/xarray-contrib/xdggs/pull/119
- should we cut a new release?
- yes
### Agenda
- plugins
- create documentation on plugin writing
## Jan 13, 2025
(first meeting in 2025)
### Attendees
- Justus Magin / @keewis
- Alexander Kmoch / @allixender
- Wai Tik Chan / @tik65536
- Kayziel Martinez
### 60-second updates
- Justus: progress on regridding (indexing): https://github.com/keewis/grid-indexing
- Alex/Tik: XDGGS plugin - https://github.com/LandscapeGeoinformatics/xdggs-dggrid4py
### Agenda
- multi-dimensional arrays (https://github.com/xarray-contrib/xdggs/issues/117)
- parents: https://github.com/xarray-contrib/xdggs/pull/62
- limit to just computing the parent cell ids
- don't worry about compressed cells
- overriding grid metadata in `decode`: https://github.com/xarray-contrib/xdggs/pull/63
- use the accessor method
- try to avoid the internal consistency check somehow
## Dec 30, 2024
(cancelled, end of year holidays)
## Dec 16, 2024
(cancelled, Alex and Justus are travelling)
## Dec 02, 2024
### Attendees
- Justus Magin / @keewis
- Alexander Kmoch / @allixender
- Wai Tik Chan / @tik65536
- Tina odaka / @tinaok
- Alejandro Coca-Castro / @acocac
### 60-second updates
- Justus
- preparing for presentation on Wednesday
- discussion on selecting cells using geometries
- conda-forge packages for h3ronpy
- Alex
- preparing to migrate the dggrid
- interest in `xdggs` from Canada
- Tina
- will submit the abstracts today
- Alejandro
- a colleague is using H3 for land use / weather modelling, interested in xdggs
### Agenda
## Nov 18, 2024
### Attendees
- Justus Magin / @keewis
- Alexander Kmoch / @allixender
- Wai Tik Chan / @tik65536
### 60-second updates
- Justus:
- very short presentation of xdggs during the CNES-pangeo meeting last week
- switched the healpix code to use cdshealpix because of licensing issues
- more work on preparing for the release (publications are still missing)
### Agenda
- future of the healpix index / grid info class:
- should we keep using healpy? (as in, do we live with the uncertainty whether GPLv2+ is legally allowed to force our code to be GPLv2+?)
- healpy is tricky to install (mostly, no support for windows), and can cause segfaults in the upstream-dev CI
- switch to cdshealpix / cdshealpix-python as proposed in https://github.com/xarray-contrib/xdggs/pull/92?
- decision: merge once all CI issues have been resolved
- do we create a separate package for healpy (something like xdggs/xdggs-healpix-healpy)? How do we choose which implementation is used?
- extend `xdggs.decode` (or `ds.dggs.decode`, should we merge https://github.com/xarray-contrib/xdggs/pull/63)
- other implementations:
- https://github.com/manaakiwhenua/rhealpixdggs-py
- showcase presentation description
- Justus will send a draft of the showcase description
- documentation pages on different DGGS
- into the user guide
- Alex will send in a PR
## Nov 4, 2024
### Attendees
- Justus Magin / @keewis
- Alejandro Coca-Castro /
- Alexander Kmoch / @allixender
- Tina odaka / @tinaok
### 60-second updates
- Justus
- preparing for release (publications page still missing)
- Alejandro
- Going through xdggs docs
### Agenda
- expose the dggs registering function publicly and write a guide for it
- https://pypi.org/project/icosphere/
- Justus will open an issue and ping Alejandro
- relation to [uxarray](https://github.com/UXARRAY/uxarray) and [xugrid](https://github.com/Deltares/xugrid)?
- target audience? conventions? standards?
- in-memory vs cell ids
- Justus will open an issue on uxarray
- Show case XDGGS 4th Dec.
- CNES meeting on Nov 11, 2024
- https://docs.google.com/document/d/1goKPEfsv784jnfEz-5zup9i_ociPz7Ck4fUrdfeIw3s/edit?tab=t.0
- Docs
- Alejandro will revisit the docs and open PRs for potential bugs in tutorials and/or doc improvements
- Orgs (describe them in the docs? e.g. community section?)
- Core repo, https://github.com/xarray-contrib/xdggs
- Contributors, https://github.com/xdggs
- Community, https://github.com/xdggs-community
## Oct 21, 2024
### Attendees
- Justus Magin / @keewis
- Alexander Kmoch / @allixender
- Tina Odaka / @tinaok
- Wai Tik Chan / @tik65536
### 60-second updates
- Tina:
- DestinE user meeting
- funding opportunities
- Alex:
- dggrid transformation to a library: progress, but not there yet
- Justus:
- merged the visualization PR
- investigation of polygon rasterization / polyfill / polygon search
- [geometry_to_cells](https://h3ronpy.readthedocs.io/en/latest/api/arrow.html#h3ronpy.arrow.vector.geometry_to_cells)
- [query_polygon](https://healpy.readthedocs.io/en/latest/generated/healpy.query_polygon.html#healpy.query_polygon)
### Agenda
- release (https://github.com/xarray-contrib/xdggs/issues/75)
- resolution → level: https://github.com/xarray-contrib/xdggs/pull/65
- xdggs-dggrid?
## Oct 7, 2024
### Attendees
- Justus Magin / @keewis
- Tina Odaka / @tinaok
- Alexander Kmoch / @allixender
- Wai Tik Chan / @tik65536
### 60-second updates
- Justus
- interactive visualization with lonboard
- for quick loading, requires constructing polygons as geoarrow, not shapely
- very fluid zooming / panning
- up to 50M polygons on my machine (after that I run out of memory)
- other visualizations (from Alex):
- https://dggs-info.web.app/
### Agenda
- destine user meeting poster
- https://docs.google.com/presentation/d/1CIky1FMr2PMwmiQXnWBY2ldJM0hD6NoicMVtsR892LI/edit?usp=sharing
- https://docs.google.com/presentation/d/18OFBiMdkR0UsD81ix2vfaol-jN27kQGor-XDxCxO9c4/edit?usp=sharing
- pangeo showcase talk (probably late Nov / early Dec)
- method for computing parents / children of cell ids (name?)
- use `derive_cells` for now, find a better term in the future
## Sep 23, 2024
(low attendance, cancelled)
## Sep 9, 2024
(Justus is absent, but the meeting may take place if sufficient interest)
## Sep 2, 2024
### Attendees
- Benoit Bovy / @benbovy
- Alexander Kmoch / @allixender
- Justus Magin / @keewis
- Wai Tik Chan / @tik65536
### 60-second updates
- Justus: healpix-convolution
### Agenda
- hierarchical operations: [#38](https://github.com/xarray-contrib/xdggs/issues/38)
- `resolution` vs `level` (see [this comment](https://github.com/xarray-contrib/xdggs/pull/62#issuecomment-2295248616))
- parent / child cells ([PR #62](https://github.com/xarray-contrib/xdggs/pull/62))
- maybe lazy computation of cell ids
- cell boundaries ([PR #30](https://github.com/xarray-contrib/xdggs/pull/30))
- try with spherely
- ogc dggs wg:
- abstract spec: https://docs.ogc.org/as/15-104r5/15-104r5.html#11
- ogc dggs api: https://docs.ogc.org/DRAFTS/21-038.html
## Aug 26, 2024
(low attendance, cancelled)
## Aug 12, 2024
(low attendance, cancelled)
## Jul 29, 2024
(low attendance, cancelled)
## Jul 15, 2024
(low attendance, cancelled)
## Jul 1, 2024
(low attendance, cancelled)
## Jun 17, 2024
(cancelled)
## Jun 3, 2024
### Attendees
- Justus Magin / @keewis
- Benoit Bovy / @benbovy
- Alexander Kmoch / @allixender
- Clay
### 60 second updates
- Justus
- grid object PR is basically done
- [healpix convolution](https://github.com/iaocea/healpix-convolution/): convolution on healpix using sparse matrices
- Benoit
- talk on xdggs at GeoPython
- Demo with integrating xdggs with xvec
- Alex
- DGGRID improvements (z7 index similar to H3, incl resolution, parent-child, str and int64 repr)
- Tik continued with DGGRID+xdggs -> Zarr, first experiences
- a test Pybind11-based lib binding for DGGRID prototype, not ready for 'heavy-duty' yet, but good basis for discussion/architecture/design
- Clay
- ASCAD soil moisture
### Agenda
- external index implementations (https://github.com/xarray-contrib/xdggs/issues/43)
- some time later, as the API is bound to change
- but definitely useful and on the roadmap
- visualization
- lonboard: pass H3 or S2 cell ids and data, the rendering is done on the GPU (using deck.gl)
- passed through using GeoArrow
## May 20, 2024
(This is a holiday in ~~most of Europe~~ France and Germany, so attendance might be low)
### Attendees
- Justus Magin / @keewis
- Wai Tik Chan / @tik65536
### 60 second updates
- Tik:
- trying to aggregate to a DGGS using `flox`'s `mode` aggregation
- pretty slow to aggregate ~500MB of data
- `flox`'s `mode` aggregation uses `scipy.stats.mode` with lots of small arrays
- might be faster to use a custom implementation in `numba`
- once you have that, maybe add it to `numbagg`?
## May 6, 2024
### Attendees
- Justus Magin / @keewis
- Daniel Loos / @danlooo
- Wai Tik Chan / @tik65536
- Alexander Kmoch / @allixender
### 60 second updates
- Justus:
- upstream-dev CI: can't build healpy in upstream-dev, thus disabled
- grid info objects: basically done for healpix, h3 to be done, still needs a good test strategy
- looking into nth-order neighbours with healpix
- Alex:
-
### Agenda
- meeting room (host privileges)
- Multi dimensional Index
- e.g. DGGRID PROJTRI (face, x, y) or [H3 IJK](https://h3geo.org/docs/core-library/coordsystems/#ijk-coordinates)
- some DGGS of aperture 4 allow to store the data in just 10 matrices without gaps 
- 2D index suited for 2D convolutions on high res data at global scale [Convolutions at Uber](https://www.youtube.com/watch?v=z3PaGIQTFSE)
- 2D lon/lat Bounding boxes can be descibed easier with a multidimensional index, no need to list ids of all cells individually
- However, we currently use PandasIndex which must be 1D.
- can be replaced with a suitable multi-dimensional index by the DGGS index implementation (DGGS indexes are nested indexes)
- Index choice depends on use case
- 1D Index: small datasets, few points, data frame, GIS
- 2/3D Index: big datasets, all points, raster, convolutions
## April 22, 2024
### Attendees
- Justus Magin / @keewis
- Alexander Kmoch / @allixender
- Wai Tik Chan / @tik65536
- Tina Odaka / @tinaok
### 60-second updates
- Justus:
- presentation about xdggs at the EGU last week
- `decode` function
- Tik:
- DGGRID initial prototype for DGGSIndex:
- 
- 
- tina:
- grib2 extension for healpix should be able to recognised by xdggs
- information from Kluft, Lukas(mpg)
```
Section 3 in a GRIB file describes the grid and its defining parameters. The important information for you is the following:
gridDefinitionTemplateNumber = 150 [150 means HEALPix]
Nside = 1024 [The nside parameter defining the resolution of the HEALPix grid]
ordering = 1 [A flag denoting the ordering of the grid, 1 = nested]
```
### Agenda
- workflow:
- separate resources for regridding (out-of-scope for xdggs)
- demonstrate the use with xdggs
- DGGS resolution:
- small number, starting with 0 / 1 (depending on the specific dggs)
- paper: deadline in two weeks
## April 8, 2024
### Attendees
- Justus Magin / @keewis
- Anne Fouilloux / @annefou
- Benoît Bovy / @benbovy
- Alexander Kmoch / @allixender
- Wai Tik Chan /
- Tina Odaka / @tinaok
### 60-second updates
- Justus: current status of xdggs
- index implementations:
- h3: h3ronpy
- healpix: healpy (replace with cdshealpix?)
- initialization, conversion to/from cell centers, selection using cell centers
- PR: [grid objects](https://github.com/xarray-contrib/xdggs/pull/39)
- Alex/Tik;
- DGGRID (ISEA7H), now would start with dggrid4py test plugin
- OGC towards DGG RS registry -> how to metadata define DGGS type and its properties (think proj string or WKT CRS)
- hope to have Python bindings eventually
- saw a guy do a DGGRID WASM, could we have a wasmtime?
### Agenda
- high-level overview of usage workflow
- data production, regridding (out of scope for the library): xesmf, binning, ...
- examples of producing data in a separate repository
- calculations:
- transforms: cell centers, cell outlines / boundaries (coordinates, shapely/spherely polygons), ...
- indexing: selection, neighbor search, ...
- repeating values?
- geometric operations: overlap, intersection, ... (using xvec?)
- hierarchical operations: parent cells, siblings, up / downscaling (binning, interpolation), ...
- storing to disk: conventions?
- → OGC DGG RS?
- custom decoder?