How pavanreddy565/reservoir_intelligence works
Reservoir Intelligence is a Flask dashboard for monitoring Chennai-area reservoirs and forecasting storage, outflow, demand, and supply. Its main workflow serves browser views and JSON APIs, reads historical records from Supabase, applies trained forecasting models, and returns time-series results for visualization and supply-demand comparison. The root route also refreshes records from reservoir and weather services. Source excerpts show the principal routes and model flow; GetWeek.py is partial, so uncertain internal details are omitted. ARIMA/SARIMA comparison is mentioned in the README, but no implementation is evident in the tree.
Main entry points: app.py Flask routes · GetWeek.py Storage/outflow forecast · Load.py Data refresh · current.js Browser UI
Components 17
Dashboard and API
- Browser UI
static/js/current.js - Dashboard pages
templates - Flask routes
app.py - Interactive charts
static/js/current.js
Data collection
- Data refresh
Load.py - Reservoir data site
- Weather service
- Supabase records
Forecasting
- Recent reservoir data
GetWeek.py - Storage/outflow forecast
GetWeek.py - Seq2seq architecture
models/storage_90days_to_30days_forecast/model.py - Reservoir model weights
models/storage_90days_to_30days_forecast
Supply-demand
- Demand forecast
GetWeek.py - Demand model weights
models/Demand_estimation_of_metroplotian - Supply estimate
GetWeek.py - Supply model weights
models/Supply
Other components
- Dashboard user
Connections 22
- Dashboard user → Browser UI: uses
- Browser UI → Flask routes: requests data
- Flask routes → Dashboard pages: renders pages
- Flask routes → Data refresh: refreshes records
- Data refresh → Reservoir data site: fetches levels
- Data refresh → Weather service: fetches weather
- Data refresh → Supabase records: inserts records
- Flask routes → Recent reservoir data: requests weekly data
- Recent reservoir data → Supabase records: reads records
- Flask routes → Storage/outflow forecast: requests predictions
- Storage/outflow forecast → Supabase records: reads history
- Storage/outflow forecast → Seq2seq architecture: runs inference
- Storage/outflow forecast → Reservoir model weights: loads weights
- Flask routes → Demand forecast: requests demand
- Demand forecast → Supabase records: reads demand
- Demand forecast → Seq2seq architecture: runs inference
- Demand forecast → Demand model weights: loads weights
- Flask routes → Supply estimate: requests supply
- Supply estimate → Storage/outflow forecast: gets forecasts
- Supply estimate → Supply model weights: loads weights
- Browser UI → Interactive charts: plots results
- Flask routes → Browser UI: returns JSON