You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper/paper.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,6 +67,19 @@ We compare UXarray to adjacent tools and libraries (e.g., generic mesh readers,
67
67
68
68
# Implementation
69
69
70
+
## Architecture and design
71
+
72
+
We organize UXarray around a core Grid abstraction paired with Xarray-backed UxDataArray/UxDataset containers. Accessors (subset, remap, cross_section, plot) provide mesh-aware operations that preserve dimensions and coordinate semantics while normalizing disparate I/O formats into a minimal UGRID-consistent contract. Figures above depict the architecture and data flow.
73
+
74
+
## Cross-sections
75
+
76
+
Great-circle sampling uses pyproj.Geod on WGS84 to compute intermediate lon/lat along the geodesic, which are then mapped to unit-sphere Cartesian coordinates for face lookup. Constant latitude/longitude modes sample uniform steps along parallels/meridians. Values are gathered via nearest-face selection and returned with a new steps dimension plus along-track lat/lon coordinates.
77
+
78
+
Caveats and design notes:
79
+
- For integer-typed inputs, NaN representation requires upcasting to float when samples fall outside the mesh.
80
+
- Current implementation materializes the backing array; future work will preserve dask laziness where supported.
81
+
- Face selection depends on get_faces_containing_point behavior and grid coverage.
82
+
70
83
- Core abstractions: Grid and UxDataArray, with UncachedAccessor-based extensions.
71
84
- I/O across multiple formats with normalization to a common topology representation.
72
85
- Cross-sections via geodesic and constant-lat/lon sampling with nearest-neighbor face selection.
0 commit comments