Hydrology

Catchments, flow routing, floods and surface water from DEMs and satellite imagery.

Four panels showing how Voronoi polygons are built for 47 rain gauges around the River Eden catchment: the gauges and the catchment outline, their Delaunay triangulation, the triangle circumcentres joined into red Voronoi edges, and the cells clipped to the catchment and shaded by each gauge's rainfall.

Tutorial Python

Voronoi (Thiessen) polygons in Python: catchment rainfall from EA rain gauges and fire station areas in Cumbria

Build Voronoi (Thiessen) polygons in Python with shapely and GeoPandas, clipped to a real boundary. Compute Thiessen-weighted catchment rainfall for the River Eden from Environment Agency rain gauge readings, check the gauges, compare with the gauge average and IDW, then compare Voronoi 'nearest fire station' areas in Cumbria with drive-time service areas from OpenStreetMap.

Intermediate 15 min read

Tutorial Python

Height above nearest drainage (HAND) flood mapping in Python: the River Severn

Compute height above nearest drainage (HAND) from the Environment Agency LIDAR DTM at 5 m with pysheds, turn it into inundation extents for a range of stage heights on the River Severn between Shrewsbury and Buildwas, relate them to the Buildwas gauge, and score them honestly against the Environment Agency Flood Map for Planning with the hit rate, false-alarm ratio and critical success index.

Intermediate 13 min read

Tutorial Python

Watershed delineation in Python with pysheds: the River Derwent above Ladybower

Delineate a catchment and its stream network from a free DEM in Python with pysheds: fill pits and depressions, D8 flow direction, flow accumulation, snapping the pour point, catchment polygon and area, Strahler stream order and drainage density, all checked against the official NRFA boundary for the River Derwent at Yorkshire Bridge in the Peak District.

Intermediate 13 min read

Tutorial Python

Sentinel-1 SAR flood mapping in Python: the 2022 Pakistan floods

Map the 2022 Sindh floods with free Sentinel-1 radar from the Microsoft Planetary Computer: convert backscatter to decibels, remove speckle with a Lee filter, pick a water threshold with Otsu's method, and measure the flood extent and how it receded over seven months.

Intermediate 10 min read

Cracked, dried mud on Lake Mead's exposed lake bed during the 2022 drought.

Article Remote Sensing

Monitoring Lake Mead Drought

A look at the dramatic fall in Lake Mead's water level during the 2022 drought.

Beginner 1 min read