Skip to content
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

Grid.from_points() with Spherical Delaunay & Voronoi #1023

Merged
merged 22 commits into from
Nov 4, 2024
Merged

Conversation

philipc2
Copy link
Member

@philipc2 philipc2 commented Oct 15, 2024

Overview

  • Implements the Grid.from_points() class method which is used to construct grid connectivity from unstructured grid points
    • Spherical Voronoi Regions
    • Spherical Delaunay Triangulation
  • Implements multiple descriptor variables for assistance with grid diagnostics
    • Grid.triangular
    • Grid.partial_sphere_coverage
    • Grid.global_sphere_coverage
    • Grid.boundary_node_indices
    • Grid.boundary_face_indices
  • Implements two new grid plotting routines
  • Grid.plot.face_area_distrubtion()
  • Grid.plot.face_degree_distribution()

User Guide

User guide notebook showcasing how to construct a grid from points consider the various types of distributions that are possible (global, global with holes, regional, and regional with holes)

@philipc2 philipc2 self-assigned this Oct 15, 2024
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@philipc2 philipc2 changed the title DRAFT: Grid.from_points(), Spherical Voronoi DRAFT: Grid.from_points(), Global Spherical Voronoi Oct 17, 2024
@philipc2 philipc2 changed the title DRAFT: Grid.from_points(), Global Spherical Voronoi DRAFT: Grid.from_points(), Global Spherical Voronoi & Spherical Delaunay Triangulation Oct 17, 2024
@aaronzedwick
Copy link
Member

What needs to be done here in order to get it ready for review?

@philipc2
Copy link
Member Author

What needs to be done here in order to get it ready for review?

I am wrapping up the implementation and documentation today. Will be requesting reviews after.

We should start looking at regional triangulation using projections, like what you were doing in #442

I'll be populating the sub-issues n #349 today as well. Will assign and update you accordingly.

@aaronzedwick
Copy link
Member

What needs to be done here in order to get it ready for review?

I am wrapping up the implementation and documentation today. Will be requesting reviews after.

We should start looking at regional triangulation using projections, like what you were doing in #442

I'll be populating the sub-issues n #349 today as well. Will assign and update you accordingly.

Awesome! It looks good to me so far.

What do you mean by regional triangulation?

@philipc2
Copy link
Member Author

What needs to be done here in order to get it ready for review?

I am wrapping up the implementation and documentation today. Will be requesting reviews after.
We should start looking at regional triangulation using projections, like what you were doing in #442
I'll be populating the sub-issues n #349 today as well. Will assign and update you accordingly.

Awesome! It looks good to me so far.

What do you mean by regional triangulation?

Spherical triangulation works great for data that is distributed across the sphere. If we have regional patches of data (think a subset over some arbitrary region), performing a spherical triangulation will produce extremely large triangles along the border of the region. In this case, we'd want to investigate using a planar triangulation on a projection (i.e. sterographic) like you were doing in #442

@aaronzedwick
Copy link
Member

Gotcha that makes sense, thanks for explaining!

@philipc2 philipc2 changed the title DRAFT: Grid.from_points(), Global Spherical Voronoi & Spherical Delaunay Triangulation DRAFT: Grid.from_points() with Spherical Delaunay & Voronoi Oct 23, 2024
@philipc2 philipc2 changed the title DRAFT: Grid.from_points() with Spherical Delaunay & Voronoi Grid.from_points() with Spherical Delaunay & Voronoi Oct 23, 2024
@philipc2 philipc2 marked this pull request as ready for review October 23, 2024 20:02
@aaronzedwick
Copy link
Member

Is this ready for review now?

@philipc2
Copy link
Member Author

Is this ready for review now?

Yes

Copy link
Contributor

@rajeeja rajeeja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good foundational work, we can specify laplacian smoothing etc. as a follow up PR.

@rajeeja
Copy link
Contributor

rajeeja commented Oct 26, 2024

Did some more digging - pys2geometry and healpy it might be worth exploring these also at somepoint. I'll put an issue about it.

@philipc2
Copy link
Member Author

Did some more digging - pys2geometry and healpy it might be worth exploring these also at somepoint. I'll put an issue about it.

healpy is relevant to #1028

Copy link
Member

@aaronzedwick aaronzedwick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, I will finish the regional delaunay part hopefully next week and get that added in as well. Just fix the merge conflicts and it's good to go!

@philipc2 philipc2 merged commit 6cd2e64 into main Nov 4, 2024
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment