Inspiration

  • Shocking news stories about dead fish.
  • Vast quantities of data available from water and weather monitoring stations that are under-used.
  • Listening to an ECMWF AI flood modelling talk last week.

What it SHOULD DO

Not currently working but...

  • Collect data using MetOffice Observations API for temperature and weather codes and also DEFRA Hydrology API for rainfall, dissolved Oxygen (DO), turbidity, water temperature and Ammonium
  • Build combined historic data by comparing long and lat of each weather/water station
  • Split into training, testing and validation folds (use CV).
  • Build and train a LSTM model on the historic data looking at multivariate analysis with dissolved oxygen as a target.
  • Compare actual against predictions to test model and calculate accuracy using metrics.
  • Once the model is working it could be used to model how next week's future weather might impact dissolved oxygen.

How we built it

  • Two different APIs
  • LSTM
  • Python

Challenges we ran into

  • Getting distracted trying to match reports of fish kills with Environment Agency incidents
  • Difficulty getting data from MetOffice API (needed API key) and DEFRA Hydrology API in matching timeseries.
  • Missing rainfall data
  • Matching geolocation of water and weather stations.
  • Trying to have proper ETL using APIs rather than just reading a csv.
  • Tensorflow / PyTorch not running on laptop as not GPU and CPU version not working (even when running venv)
  • Resorting to trying to use GenAI to generate code (due to time constraints) and it being rubbish!

Accomplishments that we're proud of

  • Keeping going despite barriers.
  • Learning about different multivariate forecasting and LSTM.
  • Using lots of new techniques.

What we learned

Using APIs, timeseries data, forecasting, LSTM, Deep learning - all are new to me

What's next for Using weather to predict low dissolved oxygen in waterways

  • Get it working!
  • Use historic correlation comparisons to ensure accuracy of the model.
  • Build an early warning system with dashboard to make it easy for suers to run the model on predicted weather and to identify dangerous DO levels

Built With

Share this project:

Updates