Python for Hydrological and Geospatial Analysis Training Course

Duration 10 days 20 modules · 65 contact hours
Level Intermediate Certificate on completion
Who attends Hydrologists, GIS Analysts and others
Fee from USD 2,200 KSh 190,000 for Kenyan organisations
Where 52 cities + online See dates by city
Next start 16 Nov 2026 Course code SD-GRS-154

Before you join: Participants should be comfortable using GIS software to view layers, inspect attributes, make basic maps and work with common spatial formats.

Dates & prices

Two start dates a month in every city, and live online on weekdays or weekends. Fees are per participant; classroom fees include tuition, materials, lunch and refreshments, and the certificate.

Suggest a date or city

Showing the next six months. Later dates, other cities and private deliveries for your team are available on request.

Course overview

Hydrological decisions depend on data that are often fragmented across rainfall gauges, river stations, digital elevation models, satellite imagery and administrative GIS layers. Analysts must convert these sources into defensible catchment boundaries, rainfall estimates, flow indicators, hazard screening maps and model results. Manual GIS workflows become difficult to repeat when data volumes grow, methods change or colleagues need to review assumptions. Python provides a practical way to automate geospatial processing, preserve data lineage and produce consistent outputs for water resources, flood risk, drought monitoring and environmental planning.

This course teaches participants to build Python workflows for hydrological and geospatial analysis. Participants work with GeoPandas, Rasterio, xarray, pandas, NumPy and related libraries to process vector, raster, time-series and multidimensional climate data. They delineate watersheds from elevation models, analyse rainfall and streamflow records, prepare satellite-derived land-cover and vegetation indicators, develop conceptual rainfall-runoff models, assess model performance and communicate uncertainty. The course also covers flood and drought screening methods, cartographic outputs, reproducible project structures and code review practices.

Instruction combines short technical briefings with guided case work based on river basins, urban drainage catchments, drought-prone agricultural areas and infrastructure exposure. Participants apply methods throughout the course rather than waiting until the final sessions. They leave with a reusable Python hydrological analysis project containing documented scripts, geospatial outputs, quality-control checks, model results, maps and a reporting structure. The final capstone requires participants to build, review and present an end-to-end basin analysis.

The course suits professionals who already work with GIS, environmental data or water information and need stronger Python-based analytical methods. It is particularly relevant to water utilities, environmental agencies, engineering consultancies, disaster-risk teams, agricultural programmes and organisations managing climate-sensitive assets.

What you will be able to do

  • Build reproducible Python projects for vector, raster, time-series and NetCDF hydrological data
  • Transform geospatial datasets using appropriate coordinate reference systems, formats and metadata controls
  • Delineate watersheds, stream networks and terrain indicators from digital elevation models
  • Analyse rainfall, discharge and climate records using quality-control, aggregation and event-detection methods
  • Produce satellite-derived land-cover, water and vegetation indicators from multispectral imagery
  • Implement and evaluate conceptual rainfall-runoff models using calibration and validation metrics
  • Assess flood and drought indicators with explicit uncertainty and screening limitations
  • Present a documented basin analysis with maps, code, findings and recommended actions

Benefits of attending

For you

  • Reusable Python workflows for repeated basin, rainfall and terrain analyses
  • Stronger capability to audit GIS calculations and hydrological assumptions
  • Practical evidence for technical reports, model reviews and water-management decisions
  • Ability to combine station records, satellite imagery and climate grids independently
  • A documented capstone project suitable for a professional work portfolio

For your organisation

  • Reduced manual processing time for recurring catchment and hydroclimate reporting
  • More consistent watershed, rainfall and hazard outputs across technical teams
  • Traceable data lineage for review by regulators, clients and internal assurance teams
  • Earlier identification of flood, drought and catchment-change indicators
  • Reusable code assets that reduce dependence on spreadsheet-based analysis

Course modules

20 modules over 10 days

Participants can create a reproducible Python project and process basic hydrological datasets.

  • Python environments, notebooks, packages and reproducible project folder conventions
  • Core syntax: variables, lists, dictionaries, functions and exceptions
  • NumPy arrays, broadcasting and vectorised calculations for hydrological series
  • pandas DataFrames for timestamped observations, attributes and station metadata
  • Read and write CSV, GeoJSON, GeoTIFF and NetCDF formats
  • Git commits and environment files for auditable analytical work

Participants can select, transform and document coordinate reference systems for catchment analysis.

  • Coordinate reference systems, datums, ellipsoids and projected coordinate distortions
  • EPSG identifiers and WKT definitions inspected with pyproj
  • Transform point, vector and raster data between appropriate CRSs
  • Assess UTM, national grids and equal-area projections for catchments
  • Detect axis-order, unit and datum errors in imported datasets
  • Document coordinate assumptions within data dictionaries and processing logs

Participants can process, validate and analyse vector datasets for hydrological applications.

  • GeoPandas GeoDataFrames: geometry columns, attributes, indexes and joins
  • Read Shapefile, GeoPackage and GeoJSON with Fiona-backed drivers
  • Spatial predicates for contains, intersects, within and nearest operations
  • Clip administrative boundaries and dissolve subcatchments by reporting units
  • Calculate geodesic and projected area, length and centroid measures
  • Validate geometries and repair self-intersections using Shapely methods

Participants can prepare aligned raster datasets for terrain, imagery and hydrological calculations.

  • Rasterio datasets: bands, transforms, nodata masks and metadata
  • Windowed reading and writing for large satellite raster collections
  • Resample grids using nearest, bilinear and cubic convolution methods
  • Align pixel grids, extents and CRSs before raster calculations
  • Derive raster statistics by polygon using raster masking
  • Build Cloud-Optimized GeoTIFF outputs with compression and overviews

Participants can derive terrain surfaces and drainage networks from prepared elevation data.

  • Acquire and inspect DEM tiles, vertical units and void values
  • Fill sinks using priority-flood depression treatment before flow routing
  • Calculate slope, aspect and hillshade from terrain derivatives
  • D8 flow direction and accumulation grids for drainage extraction
  • Threshold contributing area to define preliminary stream networks
  • Compare derived channels against mapped hydrography and imagery

Participants can delineate catchments and calculate physical descriptors for hydrological analysis.

  • Snap pour points to high-accumulation cells using distance tolerances
  • Delineate watersheds and nested subbasins from conditioned elevation grids
  • Compute drainage density, relief and hypsometric catchment descriptors
  • Extract longest flow paths and travel-distance raster surfaces
  • Review boundaries against ridgelines, culverts and engineered drainage
  • Export catchment polygons with provenance fields and area checks

Participants can clean, quality-check and structure rainfall and streamflow records.

  • Parse station records with timezone, units and sampling-interval controls
  • Construct regular time indexes and identify missing observation periods
  • Apply range, persistence and rate-of-change quality-control flags
  • Aggregate sub-hourly rainfall and discharge to operational reporting periods
  • Separate water years, seasons and event windows with pandas
  • Create station metadata tables linking gauges, basins and sensors

Participants can process multidimensional climate datasets for basin-scale hydrological use.

  • Open NetCDF and GRIB datasets with xarray and CF metadata
  • Select dimensions, coordinates and variables from multidimensional climate cubes
  • Apply temporal resampling, rolling windows and groupby climatologies
  • Convert precipitation fluxes and temperatures using explicit unit checks
  • Subset gridded data by basin masks and bounding geometries
  • Write analysis-ready NetCDF files with coordinates and encoding

Participants can derive water, vegetation and land-surface indicators from satellite imagery.

  • Interpret spectral reflectance, radiometric scaling and quality-assurance bands
  • Load Sentinel-2 and Landsat scenes through STAC catalog searches
  • Mask clouds, shadows and snow using scene classification flags
  • Calculate NDVI, NDWI and MNDWI with band-math expressions
  • Create seasonal composites using median reducers and observation counts
  • Assess sensor resolution, revisit intervals and mixed-pixel limitations

Participants can create and assess land-cover classifications for catchment analysis.

  • Prepare labelled samples from reference polygons and classified imagery
  • Random Forest classification using spectral bands and terrain predictors
  • Split training and validation samples without spatial data leakage
  • Calculate confusion matrices, producer accuracy and user accuracy
  • Post-process isolated pixels with majority filters and minimum mapping units
  • Summarise land-cover change by subcatchment and reporting period

Participants can estimate basin rainfall from gauges and gridded precipitation products.

  • Retrieve gauge, radar and satellite precipitation data for basin analysis
  • Apply Thiessen polygons and inverse-distance weighting to gauge networks
  • Calculate areal rainfall from gridded products and basin masks
  • Compare IMERG estimates against gauges using bias and error metrics
  • Bias-correct daily precipitation using ratio and quantile-mapping approaches
  • Document missing gauges, interpolation choices and uncertainty bounds

Participants can quantify hydrograph behaviour, flow events and runoff characteristics.

  • Plot hydrographs with precipitation, discharge and threshold annotations
  • Calculate baseflow using digital filters and recession analysis
  • Identify events using inter-event time definitions and flow thresholds
  • Derive peak flow, runoff volume, lag time and runoff coefficient
  • Construct flow-duration curves and exceedance probability tables
  • Estimate annual maxima series for flood-frequency screening analyses

Participants can implement a conceptual rainfall-runoff model for a defined catchment.

  • Represent catchment storage using conceptual rainfall-runoff model structures
  • Implement a soil-moisture accounting model with Python functions
  • Route excess rainfall through linear reservoirs and unit hydrographs
  • Specify parameters, initial conditions and forcing-data requirements explicitly
  • Run baseline simulations across calibration and validation periods
  • Compare model structure assumptions against catchment process evidence

Participants can calibrate hydrological models and report performance with appropriate metrics.

  • Calibrate hydrological parameters using grid search and optimisation objectives
  • Calculate Nash-Sutcliffe efficiency, KGE, percent bias and RMSE values
  • Separate calibration, validation and test periods without temporal leakage
  • Inspect residual hydrographs, peak errors and low-flow performance
  • Conduct one-at-a-time sensitivity analysis for influential model parameters
  • Report parameter bounds, objective functions and reproducible calibration settings

Participants can quantify and communicate uncertainty in hydrological modelling and scenario results.

  • Distinguish input, parameter, structural and observational uncertainty sources
  • Generate parameter ensembles using Monte Carlo sampling methods
  • Propagate precipitation uncertainty through repeated model simulations
  • Summarise prediction intervals, exceedance probabilities and ensemble spread
  • Perform scenario analysis for land-cover change and climate perturbations
  • Communicate uncertainty without overstating forecast precision or model confidence

Participants can prepare transparent flood screening maps and exposure summaries.

  • Combine terrain, flow accumulation and imperviousness for screening maps
  • Map flood-prone corridors using HAND and relative elevation methods
  • Overlay exposed roads, facilities and population datasets with hazard zones
  • Rank subcatchments using weighted criteria and transparent scoring rules
  • Distinguish screening outputs from hydraulic inundation model results
  • Create response-ready maps with scale, north arrow and data dates

Participants can produce basin drought indicators from climate, streamflow and imagery datasets.

  • Calculate SPI and SPEI from precipitation and evapotranspiration series
  • Derive Standardized Streamflow Index values from discharge records
  • Map vegetation stress using NDVI anomalies and seasonal baselines
  • Define drought thresholds, durations and severity classes for reporting
  • Compare meteorological, agricultural and hydrological drought indicators
  • Produce basin drought bulletins with anomalies and confidence notes

Participants can communicate hydrological findings through clear maps, figures and automated reports.

  • Design hydrographs, hyetographs and duration curves for technical audiences
  • Build static maps with Matplotlib, scale bars and classified legends
  • Use contextily basemaps while managing projection and attribution requirements
  • Create interactive Folium maps with layers, popups and controls
  • Generate tables and figures automatically from parameterised Python scripts
  • Apply cartographic hierarchy, colour conventions and accessible labels

Participants can package hydrological analyses for maintenance, review and repeated execution.

  • Structure reusable workflows with functions, configuration files and logging
  • Manage dependencies using conda environments and pinned package versions
  • Add unit tests for transformations, units and watershed outputs
  • Profile bottlenecks and apply Dask to larger raster computations
  • Record lineage through input inventories, metadata and processing logs
  • Package scripts, outputs and README instructions for peer review

Participants can build, review and present a complete Python-based hydrological and geospatial basin analysis.

  • Frame a basin management question with decision criteria and scope
  • Prepare terrain, hydroclimate, remote-sensing and vector input datasets
  • Delineate catchments, derive indicators and document processing assumptions
  • Model rainfall-runoff response and evaluate performance against observed flows
  • Map flood or drought indicators with stated uncertainty limitations
  • Review code, data lineage, maps and findings against acceptance criteria
  • Present decision findings, methods and recommended next analytical actions

Exercises and examples are adapted to each cohort's sectors and roles.

What you take back to work

  1. Reproducible hydrological Python project template
  2. Catchment delineation and terrain-analysis workflow
  3. Rainfall and streamflow quality-control checklist
  4. Conceptual rainfall-runoff model notebook
  5. Flood and drought screening map templates
  6. Basin analysis reporting and data-lineage pack

Who should attend

  • Hydrologists — automate catchment analysis, streamflow assessment and model workflows
  • GIS Analysts — apply Python to raster, vector and satellite-based water analysis
  • Water Resources Engineers — produce repeatable evidence for planning and operational decisions
  • Environmental Scientists — connect field observations, climate data and spatial indicators
  • Flood Risk Officers — prepare transparent hazard screening maps and exposure analyses
  • Remote Sensing Specialists — convert imagery into basin-scale land and water indicators

Skills and tools covered

Hydrological Python workflowsCatchment delineationRaster data processingHydroclimate time-series analysisRainfall-runoff modellingFlood drought screening

Tools and standards

Python, GDAL, QGIS, xarray

How the course runs

Training methodology

The course uses short instructor briefings followed by guided technical case work, group interpretation of maps and hydrographs, and structured troubleshooting of realistic data issues. Participants work with river-basin, urban drainage, flood-risk and drought-monitoring scenarios. Demonstrations show each Python workflow before participants adapt it to supplied datasets. Group reviews examine coordinate systems, model assumptions, uncertainty statements and map design. Application planning sessions help participants identify datasets, decisions and reporting requirements for their own workplace use.

Requirements and prerequisites

Participants should be comfortable using GIS software to view layers, inspect attributes, make basic maps and work with common spatial formats. They should understand elementary hydrology concepts such as rainfall, runoff, catchments, streamflow and drainage networks. Prior Python experience is helpful, including variables, loops and simple functions, but participants do not need to be software developers. No prior experience with hydrological modelling, satellite image classification, command-line tools, advanced statistics or cloud platforms is required. Participants should be willing to inspect code and troubleshoot data issues.

A typical training day

08:30 – 10:30First session
10:30 – 10:45Refreshment break
10:45 – 12:30Second session
12:30 – 13:30Lunch and networking
13:30 – 15:00Third session
15:00 – 15:15Refreshment break
15:15 – 16:30Workshop and daily review

Live online deliveries follow the same structure in East Africa Time, with shorter screen blocks and longer breaks.

What the fee includes

  • Instruction by a practitioner facilitator
  • Full course workbook and materials
  • Exercise files, templates and case studies
  • Refreshments and lunch on classroom deliveries
  • Certificate of completion
  • Post-course application plan

Frequently asked questions

Participants should understand basic programming concepts such as variables, lists, conditions and functions. The course begins with Python project structures and data handling, but it is not designed as a first programming course.

Participants should bring a laptop capable of running Python, GIS software and moderately sized raster datasets. Pre-course installation guidance will identify the required Python environment, packages and software.

It is suited to hydrologists, GIS analysts, environmental scientists, water engineers, remote sensing specialists and flood or drought officers. Participants benefit most when they work with catchment, climate, station or geospatial datasets.

General Python courses focus on programming fundamentals, while general GIS courses focus mainly on desktop mapping and spatial data management. This course applies Python specifically to watershed delineation, hydroclimate analysis, remote sensing, rainfall-runoff modelling and hazard screening.

Participants can automate recurring basin reports, clean and analyse gauge records, produce catchment indicators and prepare transparent screening maps. The project structure, templates and documentation methods can be adapted to organisational datasets and reporting requirements.

Training runs from 08:30 to 16:30 each day, providing about 6.5 contact hours daily. The first week establishes Python, GIS, terrain, time-series and imagery workflows; the second week covers modelling, uncertainty, hazard analysis, reporting and the capstone.

Questions about this course?

Ask about dates, fees, group bookings or running it for your team. Our training team replies by email.