The project processes a dataset provided by Ålesund Kommune consisting of flow readings from two sensors on Spjelkavikelva, the main distributary of Brusdalsvatnet.
The data was collected by Multiconsult, with calibration assistance from NVE. Data is collected at 1-minute intervals, divided between the left and right channel under a bridge.
Data collection extends from 13 May 2020 through 16 October 2023 with minor interruptions, along with some discontinuous data from earlier in 2020 which is not processed here.
-
a.PreprocessFlow.py: Combine and reformat many individual .TSV files into a single continuous series per flow channel for easier handling. Should only need to be run once.
-
b.DownsampleFlow.py: Downsample and sum the left and right channels (default frequency: hourly) and write to file. Also save out an interactive .html visualization of flow time series.
-
c.PreprocessMet.py (future development): Ingest dataset of meteorological parameters, to use as predictors for flow. Backfill from public sources as neeed. for completeness. Add a column or columns of predicted evaporation rate on Brusdalsvatnet, using standard methods such as Penman. Evaporation is both an additional predictor for the hydrological model, and an intermediate calculation for estimating inflows (by setting inflows equal to outflows).
-
d.VisualizeData.py: Generates an interactive plotter showing all predictors, intermediate values, and targets.
-
e.TrainModel.py (future development): Apply standard Machine Learning regression models like transformers to create a data-driven hydrological model which predicts outflow from meteorological predictors.
-
f.EvaluateModel.py (future development): Quantify and visualize model performance by applying to held out portions of the dataset, for presenting results and recursively updating modelling methods.
-
g.OperationalModel.py (future development): Saves out a trained model which continuously forecasts flow in Spjelkavikelva from weather forecasts and sensor data, accessible online.