Skip to content

SWOT obs coverage gap for type=3 (lake_on_river) — need LakeSP integration #180

Description

@jameshgrn

Problem

aggregate_swot_observations reads from SWOT RiverSP parquet files only. Type=3 (lake_on_river) reaches have 13-54% observation coverage vs 97-99% for type=1 rivers, because lake reach measurements in RiverSP are mostly sentinel values (-1e12) that get filtered out by quality gates.

Coverage by type (current)

Type Description Coverage
1 River 97-99%
3 Lake on river 13-54%
4 Dam 80-90%
5 Unreliable 95-99%
6 Ghost 0% (correct)

Type=3 detail by region

Region Total type=3 With obs %
AF 1,551 318 20.5%
AS 7,631 1,896 24.8%
EU 4,159 888 21.4%
NA 9,194 1,248 13.6%
OC 808 436 54.0%
SA 3,485 521 14.9%

Root cause

  • SWOT publishes lake observations in the LakeSP product, not RiverSP
  • Type=3 reach_ids DO appear in RiverSP parquet files (6,551 of 9,194 NA type=3), but river-specific fields (slope, width) are mostly sentinels
  • Our quality filters correctly reject these sentinel values → NULL obs stats for most lake reaches

Proposed fix

Integrate SWOT LakeSP parquet data for type=3 reaches:

  1. Acquire LakeSP parquet files (same source as RiverSP)
  2. Map LakeSP observations to SWORD reach_ids (lake_id → reach_id mapping needed)
  3. Aggregate WSE stats from LakeSP (slope/width may not apply the same way for lakes)
  4. Mark data source in a new column or in slope_obs_quality so downstream users know which product the stats came from

Notes

  • swot_obs (max passes per 21-day cycle) is >0 for most type=3 reaches — SWOT CAN observe them, we just aren't reading the right product
  • This does NOT affect type=1 river coverage (97-99%) or any shipped v17c columns
  • Lake WSE from LakeSP may be more reliable than RiverSP anyway (purpose-built for lake surfaces)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions