Skip to content

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.