Skip to content
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
ed4c359
feat : icosahedral mesh layout
yuvraajnarula Feb 28, 2026
2b3445f
feat : .ipynb for demo functioning of the layout
yuvraajnarula Feb 28, 2026
814d2af
chore : added lib support
yuvraajnarula Feb 28, 2026
e9244a9
feat: integrate trimesh icosahedral generation utility
mandeepsingh2007 Feb 28, 2026
41f5f6a
chore
yuvraajnarula Mar 1, 2026
bf299ed
Merge branch 'feature/icosahedral-connectivity' of https://github.com…
yuvraajnarula Mar 1, 2026
28fc83e
refactor : Extend m2m_connectivity to include 'icosahedral'
yuvraajnarula Mar 1, 2026
3fbf49c
feat : Implemented the mesh generation functions in icosahedral.py
yuvraajnarula Mar 1, 2026
a3f1e03
feat : ipynb implementation
yuvraajnarula Mar 1, 2026
22b9590
chore : fixed m2g graph plotting(g2m plotting bugs left)
yuvraajnarula Mar 1, 2026
0a4f718
chore : g2m bugs solved (Missing longitude coverage still -90 to +90°…
yuvraajnarula Mar 1, 2026
271a4a5
chore : m2m bug fixed + visuals enhanced
yuvraajnarula Mar 1, 2026
09ca697
feat : tests for icosahedral.py
yuvraajnarula Mar 1, 2026
f64c79b
chore : changes as per test/
yuvraajnarula Mar 1, 2026
d2d4b82
chore : changelog.md
yuvraajnarula Mar 1, 2026
4b27680
refactor : optimize mesh-to-grid connectivity with spatial indexing
yuvraajnarula Mar 2, 2026
b661760
chore : added missing early exit in find_containing_triangle + implem…
yuvraajnarula Mar 2, 2026
5af2411
feat: use 3D Cartesian vdiff for icosahedral graphs
Joltsy10 Mar 2, 2026
689e8bd
chore : fixed icosahedral mesh test and add fallback:
yuvraajnarula Mar 2, 2026
0030377
feat: use 3D Cartesian vdiff for icosahedral graphs
Joltsy10 Mar 2, 2026
00a0bf3
refactor: Fix incorrect calculation of finer_start in create_hierarch…
yuvraajnarula Mar 4, 2026
b5ada6f
refactor: handle none returns from find_containing_triangle in connec…
yuvraajnarula Mar 4, 2026
a7fe346
refactor : optimized compute_max_edge_length by vectorizing
yuvraajnarula Mar 4, 2026
9675742
refactor : vectorized connect_grid_to_mesh
yuvraajnarula Mar 4, 2026
5d774f6
refactor :grid_spacing argument
yuvraajnarula Mar 4, 2026
7e5a4f0
fix: correct icosahedral barycentric weights, grid spacing level sele…
yuvraajnarula Mar 4, 2026
30a09bd
feat: Add face-adjacent connectivity and containing triangle M2G visu…
Joltsy10 Mar 4, 2026
a41e588
Merge branch 'feature/icosahedral-connectivity' of https://github.com…
Joltsy10 Mar 4, 2026
46761ff
feat : linting
yuvraajnarula Mar 7, 2026
79db89b
chore : doc fixes
yuvraajnarula Mar 7, 2026
3e9d698
Merge branch 'feature/icosahedral-connectivity' of https://github.com…
yuvraajnarula Mar 7, 2026
c8f439d
chore : .ipynb fixes + linting
yuvraajnarula Mar 7, 2026
831e7fe
chore : changelog.md
yuvraajnarula Mar 18, 2026
b7e2f4d
chore : linting
yuvraajnarula Mar 18, 2026
7996a21
chore : Deleted .pkl
yuvraajnarula Mar 19, 2026
97b5d9f
Merge branch 'mllam:main' into feature/icosahedral-connectivity
mandeepsingh2007 Mar 19, 2026
081a59e
Merge branch 'feature/icosahedral-connectivity' of https://github.com…
yuvraajnarula Mar 19, 2026
91e21e8
refactor(icosahedral): rename G/DG to lowercase, add type annotations…
mandeepsingh2007 Mar 19, 2026
92fa6c4
Merge branch 'feature/icosahedral-connectivity' of https://github.com…
yuvraajnarula Mar 19, 2026
f460044
refactor splitting ipynb
yuvraajnarula Mar 19, 2026
bef3c6f
chore : updated pyproject
yuvraajnarula Mar 19, 2026
c042c37
chore : linting
yuvraajnarula Mar 19, 2026
83108df
fix: replace icosahedral vdiff with tangential plane displacement
Joltsy10 Mar 19, 2026
4fada8d
chore : linting
yuvraajnarula Mar 20, 2026
1acf85e
chore
yuvraajnarula Mar 20, 2026
dbe2843
feat : Feature Dimension Detection
yuvraajnarula Mar 20, 2026
e7a9edc
refactor : .ipynb doc -> doc/internals
yuvraajnarula Mar 21, 2026
026f792
chore : linting
yuvraajnarula Mar 21, 2026
c10b686
chore : reverted usage.ipynb
yuvraajnarula Mar 21, 2026
90a613e
chore : usage.ipynb
yuvraajnarula Mar 22, 2026
0e1ff33
chore : linting
yuvraajnarula Mar 22, 2026
37848db
fix: remove pos3d from mesh nodes, detect icosahedral graphs via mesh…
Joltsy10 Mar 22, 2026
ccf1f12
Merge branch 'feature/icosahedral-connectivity' of https://github.com…
Joltsy10 Mar 22, 2026
b0639a7
feat : added 3d visualization support
yuvraajnarula Mar 22, 2026
99e6916
Merge branch 'feature/icosahedral-connectivity' of https://github.com…
yuvraajnarula Mar 22, 2026
107703b
chore : linting
yuvraajnarula Mar 22, 2026
b00ca64
feat : hierachal mesh graph with concentric circles
yuvraajnarula Mar 24, 2026
6a7a689
chore : linting
yuvraajnarula Mar 24, 2026
b269a9c
Merge branch 'main' into feature/icosahedral-connectivity
yuvraajnarula Mar 24, 2026
1d17a2f
chore : reverted back to 2d visualization
yuvraajnarula Mar 25, 2026
d5da03c
Merge branch 'feature/icosahedral-connectivity' of https://github.com…
yuvraajnarula Mar 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,30 @@ and Oskarsson hierarchical graphs) deliniating the different connectivity
options, background on graph-based data-driven models, 2D plotting utilities,
JupyterBook based documentation. In this version the graph assumes grid
coordinates are Cartesian coordinates.

## [Unreleased]

### Added
- **Icosahedral mesh layout** (`mesh_layout='icosahedral'`) for global spherical graphs
- Mesh generation using `trimesh` (co-developed with @mandeepsingh2007)
- Grid-to-mesh (g2m) connectivity with radius-based queries in 3D Cartesian space
- Mesh-to-grid (m2g) barycentric interpolation via triangle containment
- Hierarchical variant with parent-child links between refinement levels
- Comprehensive test suite for spherical edge cases (anti-meridian, poles, etc.)
- Notebook demo in `/docs/icosahedral_global_graph.ipynb`
[\#76](https://github.com/mllam/weather-model-graphs/pull/76) @yuvraajnarula @mandeepsingh2007 @Joltsy10

- **New connectivity method**: `containing_triangle` for mesh-to-grid edges
- Extends existing `containing_rectangle` pattern to spherical geometry
- Stores barycentric weights as edge attributes for interpolation
[\#76](https://github.com/mllam/weather-model-graphs/pull/76) @Joltsy10

- **Coordinate utilities** for spherical geometry
- `lat_lon_to_cartesian` and `cartesian_to_lat_lon` conversions
- `compute_max_edge_length` for mesh distance calculations
- `find_containing_triangle` for point-in-triangle containment
[\#76](https://github.com/mllam/weather-model-graphs/pull/76) @yuvraajnarula

### Changed
- Extended `connect_nodes_across_graphs` to support 3D positions and spherical queries
- Added CRS-aware warnings when using icosahedral layout with non-geographic CRS
1,087 changes: 1,087 additions & 0 deletions docs/icosahedral_global_graph.ipynb
Comment thread
yuvraajnarula marked this conversation as resolved.
Outdated

Large diffs are not rendered by default.

Binary file added docs/saved_graphs/icosahedral_graph.pkl
Comment thread
yuvraajnarula marked this conversation as resolved.
Outdated
Binary file not shown.
393 changes: 309 additions & 84 deletions src/weather_model_graphs/create/base.py

Large diffs are not rendered by default.

Loading