Skip to content

Integrate the regional application into the main branch - #122

Open
xincjin-NOAA wants to merge 7 commits into
mainfrom
feature/regional_merge
Open

xincjin-NOAA wants to merge 7 commits into
mainfrom
feature/regional_merge

Conversation

@xincjin-NOAA

@xincjin-NOAA xincjin-NOAA commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

The regional application was originally developed as an independent package in [PR #116].

This branch extracts the regional application code from that implementation and integrates it into the main branch. This allows the regional application to benefit from ongoing model development and updates in the main OCELOT codebase.

Awaiting input data to verify correctness; however, this should not affect the global application workflow.

@xincjin-NOAA

xincjin-NOAA commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor Author

Summary from copilot

Main changes

  • Regional mesh implementation

    • Adds gnn_model/create_mesh_graph_regional.py.
    • Builds flat or hierarchical 2D Cartesian meshes.
    • Projects latitude/longitude coordinates using an RRFS-style Lambert Conformal projection.
    • Adds regional observation-to-mesh and mesh-to-observation connectivity.
    • Normalizes regional mesh positions to [-1, 1] to avoid large-coordinate issues in reduced precision.
  • Model integration

    • Adds mesh_geometry="global" | "regional" support to GNNLightning.
    • Adds regional domain bounds:
      • lon_min, lon_max
      • lat_min, lat_max
    • Adds configurable connectivity parameters:
    • mesh_cutoff_factor
    • mesh_num_neighbors
    • Preserves the existing global mesh path.
  • Data-module changes

    • Dispatches mesh connectivity based on global versus regional geometry.
    • Makes missing training or validation bins fail explicitly with diagnostic errors.
    • Passes through the configured verbose value.
  • Time-series processing

    • Replaces a sampled sortedness heuristic with an exact chunked check before using binary search on time arrays.
    • Adds fallback behavior when a valid time range contains no observations.
  • Training CLI

    • Adds command-line options for regional mesh geometry and domain bounds.
  • Testing and documentation

    • Adds gnn_model/tests/test_regional_mesh_smoke.py.
    • Adds gnn_model/regional.md with standalone, model-construction, and training smoke-test instructions.
    • Adds pyproj==3.6.1 to gnn_model/requirements.txt.

@xincjin-NOAA xincjin-NOAA changed the title Add regional application to the main branch Integrate the regional application into the main branch Sep 25, 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.

1 participant