Skip to content

Add SWOT satellite geometry support to DDR routing#161

Closed
taddyb wants to merge 2 commits intoDeepGroundwater:masterfrom
taddyb:swot
Closed

Add SWOT satellite geometry support to DDR routing#161
taddyb wants to merge 2 commits intoDeepGroundwater:masterfrom
taddyb:swot

Conversation

@taddyb
Copy link
Collaborator

@taddyb taddyb commented Mar 6, 2026

Summary

  • Add SWOT satellite geometry pipeline: join EIV fits to MERIT COMIDs via MERIT-SWORD crosswalk to derive top_width and side_slope
  • Update Muskingum-Cunge routing (mmc.py) to blend SWOT/Lynker observed geometry with derived values, handling partial NaN coverage
  • Extend configs, data loaders, and tests to support the new SWOT geometry fields

Changes

  • references/geo_io/build_swot_geometry.py (new): Pipeline to build SWOT geometry NetCDF from EIV fits + MERIT-SWORD crosswalk for North American PFAF regions
  • src/ddr/routing/mmc.py: New _apply_data_override() for 3-case blending (MERIT-only, full Lynker, partial SWOT); refactored _get_trapezoid_velocity() to derive width/slope from hydraulic geometry power law with data override
  • src/ddr/routing/torch_mc.py: Updated to pass new geometry tensors through the routing interface
  • src/ddr/geodatazoo/merit.py: Extended MERIT data loader for SWOT geometry fields
  • src/ddr/validation/configs.py: New config fields for SWOT geometry paths
  • scripts/train.py: Minor update for new config fields
  • tests/: Updated routing and config tests for new interface

Test plan

  • Run tests/routing/test_mmc.py and tests/routing/test_utils.py
  • Run tests/validation/test_configs.py
  • Verify build_swot_geometry.py produces valid NetCDF with sample EIV/crosswalk data

🤖 Generated with Claude Code

@taddyb
Copy link
Collaborator Author

taddyb commented Mar 14, 2026

Closing since experiments didn't net a positive change

@taddyb taddyb closed this Mar 14, 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