Skip to content

Conversation

@rajeeja
Copy link
Contributor

@rajeeja rajeeja commented Jan 10, 2026

Closes #1441, Close #897

  • Added a YAC-backed remapping backend so UXarray can use YAC’s interpolation machinery when requested, while remaining entirely unchanged for existing UXarray workflows. The UXarray remap API now accepts backend="yac" plus yac_method and yac_options. If YAC isn’t available, throw error.
  • Implemented YAC NNN (nearest‑neighbor) remap using YAC’s InterpolationStack.add_nnn, mapping UXarray grid locations (nodes/edges/faces) to YAC cloud grids (point-based) and remapping via YAC’s coupling API.
  • Implemented YAC conservative remap for face‑centered data only, using YAC unstructured grids with face‑node connectivity. This preserves the correct conservative semantics for cell‑centered fields.
  • Built a YAC-to-UXarray conversion path that:
    • Converts node coordinates to radians for YAC,
    • Constructs YAC UnstructuredGrid from UXarray face_node_connectivity,
    • Uses YAC points at the appropriate locations (CELL for conservative, CORNER for cloud).
  • Added a backend parity test to compare UXarray NN and YAC NNN on a tiny deterministic 3‑node grid. This avoids tie‑breaking ambiguity and provides a direct sanity check that YAC’s nearest‑neighbor agrees with UXarray’s own implementation.

@rajeeja rajeeja self-assigned this Jan 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

YAC as optional dependency Area Weighted Conservative Remapping

2 participants