Modelling unit: sub-watersheds¶
Every quantity in SWAG-DSS is computed at the sub-watershed level, using hydrologically-conditioned drainage polygons clipped to each WRUA boundary.
Why sub-watersheds¶
A sub-watershed is a small, hydrologically meaningful unit. Each polygon has:
- a single defined outlet,
- a known upstream neighbour (where its inflow comes from), and
- a known downstream neighbour (where its outflow goes).
That topology is what makes the reallocation step in SWAG-DSS valid. Water can only move along the drainage chain, downhill, never sideways into an unrelated polygon.
Per-polygon attributes¶
Each sub-watershed carries five attributes that drive the water-balance and intervention pipelines:
| Attribute | Source | Used for |
|---|---|---|
| Flow direction | Drainage dataset | Upstream-to-downstream routing chain |
| Area | Drainage dataset | Volumetric balance, demand aggregation |
| Slope | SRTM 30 m DEM | ET, pond suitability |
| Soil class | ISRIC SoilGrids | Effective rainfall, pond suitability |
| Land cover | ESA WorldCover | Cropland mask, ET coefficients |
Resolution¶
Across the 110 modelled WRUAs, SWAG-DSS resolves 1,847 modelled sub-watersheds. Each modelled WRUA is split into many sub-watersheds. On the spatial map, 2,343 sub-watershed polygons are drawn in total, spanning the wider set of 119 formed WRUAs; the detailed water-balance and intervention modelling runs over the 1,847 sub-watersheds in the 110 modelled WRUAs.
How it shows up in the app¶
- Spatial map: sub-watershed polygons are drawn, tinted by deficit class.
- Dashboard: KPIs roll polygon-level results up to the WRUA, but the heatmap and intervention list stay at sub-watershed resolution.
- Reallocation: surplus volumes are routed from one polygon to its downstream neighbour, strictly within the same WRUA boundary.
Data identifiers¶
The sub-watershed identifier in CSVs and JSON is band_id. The name is historical but the value is the sub-watershed polygon ID. Endpoints that key spatial joins use band_id (not elevation) so polygons sharing an elevation do not collide.
Where to look¶
app/data_prep/prepare_hydrosheds.py: pipeline that builds the sub-watershed inputs.- Data pipeline: how the polygons are populated end-to-end.
- Reallocation rules: how polygons participate in scenario logic.