RWQForecast (Remote Water Quality Forecast) is a web application designed for short-term forecasts of water quality changes in reservoirs over a timeframe of days, for analyzing temporal changes in water quality within reservoirs, and for assessing the spatial distribution of water quality within a reservoir for a given date. The analysis is based on combination of the Sentinel 2 satellite data and their analysis using AI Machine Learning and Deep Learning methods.
The RWQForecast system consists of two parts:RWQForecast offers the following options for processing and evaluating satellite data:
RWQForecast allows evaluation of the following parameters:
Upcoming models will include:
The system's functionality is designed to minimize user input requirements. The web application handles the user interface, where users simply select a reservoir from a map or list and specify the desired water quality parameters.
The source code is available at: https://github.com/JakubBrom/RWQForecast. The system is written in Python, the web service uses the Flask microframework, and the database is PostgreSQL/PostGIS.
Testing version.
The testing web page is available at http://160.217.162.143:8080/ (can be temporaly unavailable because the development). The later version will be placed at https://rwqforecast.com (upcoming).
Jakub Brom - libretto, drama, roles, actors, stage, light design, prompter, masks, coffeelings and other issues Václav Nedbal - data acquisition, water field sampling, spectral measurement, laboratory preparation of samples Blanka Tesařová - laboratory analyses Jan Kuntzman - field work, laboratory preparation of samples GNU GPL v. 3 or later © 2024 Jakub Brom, University of South Bohemia in České Budějovice, Faculty of Agriculture and Technology © 2024 AIHABs Consorcium E-mail: jbrom@fzt.jcu.cz The RWQForecast service has two parts. The first is a user interface (frontend) and the second is computational which provide data downloading and processing. The computational unit provides the data/results to the user with using the database, which is connected with the user interface. The computational unit is implemented in the RWQForecast services.
The RWQForecast system is designed to be user-friendly and intuitive. Some parts are still under development. The following tutorial provides a step-by-step guide to using the system: The user selects the desired reservoir, evaluation parameter, and prediction model either through the reservoir selection form or from the map window.
After confirming the selection, the time series for the chosen parameter and reservoir is displayed with all available data. Missing data (part of time series) can be filled using the "Update dataset" button, which initiates the process of data retrieval and feature computation. To perform analyses, the user must set up OpenEO/CDSE access credentials. The system will request these credentials during or before the first analysis. The credentials can be obtained through a Copernicus DataSpace Ecosystem account. If the user does not have an OpenEO account, they must register first. For parallel computing, multiple OpenEO credentials can be used, but a single key cannot be utilized for multiple analyses simultaneously. A table displays information about the reservoir and the dataset after confirmation.
The time series line chart presents the average, median, and confidence intervals.
The forecast chart shows a two-week prediction as an interactive line graph (upcoming).
Time series and forecast data can be downloaded as a value table (upcoming for forecast). The user can display the spatial distribution of values for the selected reservoir. After selection of the particular date of the data acquisition and confirmation, a table with statistics for the reservoir and selected date is generated and an interactive graph visualizing the spatial distribution of values across the reservoir is displayed.
Data in the form of a point vector layer can be downloaded by clicking the "Download data" button. Statistical indicators are computed from interpolated data using the linear interpolation method. For adding a new water reservoir, user can click the "Add new reservoir" button which goes to the "Select reservoir" window. The page provides selection of the reservoir from the map for data processing. After confirming the selection the system requests confirmation again and then initiates the analysis. Once the analysis starts, the system notifies the user in a new application window. After the analysis is completed, the user receives an email notification with a link to the results. The computation unit (RWQForecas-engine) is a software which provides all the processing steps of the data including satellite data downloading, feature calculation/prediction and forecast of the water quality parameters. The RWQForecast engine is available at https://github.com/JakubBrom/RWQForecast-engine. The user selects a reservoir in the application, which is retrieved from the OpenStreetMap database and stored in the system's database. Users can select any reservoir worldwide, with processing available for reservoirs larger than 1 hectare. The system generates spatial points inside the selected reservoir using OpenStreetMap as a reference. Each point serves as a spatial reference for processing time series data, allowing interpolation to reconstruct the spatial distribution of values for a given time interval. The approach considers the geometric complexity of reservoirs, ensuring that areas such as bays are included in the analysis. The point density is set to 100 points per km², with adjustments for small and large reservoirs. The system randomly selects and processes a maximum of 5,000 points per reservoir to optimise computational efficiency. The system automatically downloads data for the defined points from Sentinel-2 satellite imagery available in the ESA OpenEO archive. Meteorological data for each location is retrieved from OpenMeteo. In this step, a pre-trained AI estimation model is used to compute the requested water quality parameters based on the corresponding data stored in the database. Satellite image data availability is irregular due to weather conditions, especially cloud cover, which varies geographically. The system handles missing data using the Support Vector Machine (SVM) method, which reconstructs a complete daily time series by utilizing the characteristics of each time series along with meteorological data as a coregressor. The model estimates the probable evolution of time series using historical data and meteorological information as coregressors. The Long Short-Term Memory (LSTM) method is used for prediction, generating forecasts for all selected points within the reservoir. upcoming) Spatial distribution of data for a given date is visualized using contour plots (ContourPlot). The web application provides visualization of results using the Plotly library. Time series are represented by interactive line charts displaying the mean value, median, and confidence intervals. Missing data are handled using the connectgaps method, and smoothing is applied for improved clarity. Statistical indicators are computed from interpolated data using the inverse distance weighting (IDW) interpolation method. The application allows users to download time series data for a selected reservoir as a data table, as well as spatial data for individual dates in the form of a point vector layer in the WGS84 coordinate system. The system has following limitations:Authors and Collaborators
License
Documentation
User interface
Computation workflow
System limitations