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

SWAG-DSS resolves 1,782 sub-watersheds across 116 WRUAs. Every one of them is both drawn on the map and modelled: there is no set of polygons carrying no results, and no results without a polygon.

Measured from the served polygons, the median sub-watershed is 5.3 km² and the mean is 10.2 km², ranging from 0.25 km² to 87.4 km². A WRUA holds anywhere from 1 to 220 sub-watersheds, the median being 12.

The study area contains 119 WRUA outlines. The three that are not modelled have no cropland, so there is nothing for the water balance to compute; they are drawn as context and are not selectable.

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, and it equals the source GeoPackage's hydro_id. Despite the name it carries no elevation meaning: it is the polygon id, so polygons sharing an elevation do not collide.

band_id is unique within a WRUA, not across the study area. Any join must use the pair (WRUA_NAME, band_id). This is why the basin-wide map and heatmap label each unit WS <id> · <wrua> rather than by id alone.

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.
  • API reference: the endpoints that serve these units.