Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
AI & ML

River Flood Forecasting with LSTM Models from Upstream Gauges and Satellite Rainfall

Train and evaluate machine learning models that forecast river discharge one to five days ahead for a few South Asian or African river basins, using upstream gauge readings, satellite rainfall and public hydrology datasets. Compare against simple persistence and published global forecasts, and report the lead time at which a warning threshold would have been crossed in past floods. This is the forecasting model, not a sensor network or an alert app.

Difficulty

Advanced

Needs a team, real planning, and a supervisor who knows the area.
Effort

2 semesters · 2 students

Deliverables

7 to ship

4 optional extras

Suggested stack

PythonPyTorchNeuralHydrologyxarraypandasJupyter
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • A dataset for 3 to 10 basins built from public sources: discharge or water level records, satellite or reanalysis rainfall and catchment attributes
  • Baselines: persistence and a simple linear model
  • An LSTM model trained across basins, following the published NeuralHydrology set-up
  • Forecasts at 1 to 5 day lead times with uncertainty
  • Evaluation with hydrology metrics (Nash-Sutcliffe and Kling-Gupta efficiency) and event-based metrics for floods
  • A replay of two or three past flood events showing when each model would have crossed the warning level
  • A reproducible report and notebook others can rerun

If you have time left

  • Testing on a basin the model never saw in training
  • Comparing with GloFAS forecasts for the same events
  • A small web map that shows forecast hydrographs
  • Using upstream gauges as inputs for downstream forecasts on a large river

The problem: warnings that come too late

Floods in Pakistan in 2022, and repeated monsoon floods in Bangladesh, India and Nigeria, showed how much a few extra days of warning matter. National agencies run forecasting systems, but many smaller rivers have short records, few gauges and forecasts that arrive late or not at all. Machine learning models trained on many basins at once have recently shown they can forecast well even where local data is thin.

What already exists and the gap

  • Google Flood Hub publishes riverine flood forecasts for many countries, built on machine learning hydrology models.
  • GloFAS, the Copernicus Global Flood Awareness System, provides global river discharge forecasts from physical models.
  • National flood forecasting divisions issue warnings for major rivers based on gauges and hydrological models.

These systems exist; the gap for a student team is a careful, reproducible study on specific regional basins that shows what open models can and cannot do, with honest event-based evaluation.

Inspiration

Frederik Kratzert and colleagues showed in Water Resources Research (2019) that LSTM networks trained across many catchments can forecast streamflow, including in basins they did not train on. Grey Nearing and colleagues published "Global prediction of extreme floods in ungauged watersheds" in Nature (2024), describing the approach behind Google's flood forecasts. The open NeuralHydrology library and the Caravan dataset make these methods reproducible.

What you build

  • Hydrologists and disaster agencies get a tested model and a clear report of its lead time and errors on local rivers.
  • Researchers get a reproducible pipeline for new basins.
  • Students get a solid introduction to machine learning on physical time series.

The technically interesting part

  • Data assembly. Gauge records may be patchy or only available for some years. Combine public discharge data with reanalysis and satellite rainfall, and document every gap.
  • Training across basins. Using many basins helps the model learn general rainfall-runoff behaviour. Use static catchment attributes so it can tell basins apart.
  • Evaluation that matters. Average metrics hide failures on peaks. Report peak timing and magnitude errors and warning lead time.
  • Leakage. Split by time, and test on held-out basins too.

How to evaluate it

  • Nash-Sutcliffe and Kling-Gupta efficiency per basin, against persistence.
  • Peak error and peak timing error on the largest events.
  • Warning lead time: days before a threshold crossing that each model forecasts it.
  • Ungauged test: performance on basins excluded from training.

Suggested plan

  • Weeks 1 to 5: read the papers, run NeuralHydrology on Caravan examples.
  • Weeks 6 to 12: assemble regional basin data.
  • Weeks 13 to 18: baselines and LSTM training.
  • Weeks 19 to 24: event replays and ungauged tests.
  • Weeks 25 to 28: report, notebook and demo.

Path to a product

Insurers, hydropower operators, NGOs running anticipatory cash programmes and local governments all need forecasts for rivers that big systems cover poorly. A team that can build and validate basin-specific models has a real service to offer. The project is also a strong machine learning portfolio piece with a public benefit.

Scope warning

Your forecasts are a research result, not an official warning. Never publish them as warnings to the public. Use only data you are allowed to use and credit every source. Keep the number of basins manageable.

Learn what you need on Sefism

Get help with this idea

Data assembly takes longer than anyone expects. Tauseef can help you choose basins with usable data and set up event-based evaluation early. If you are new here, create a free account first.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.