All ECSTATIC Materials

interactive Reservoir Operation Notebooks and Software (iRONS)

Document Type


Publication Date



iRONS (interactive Reservoir Operation Notebooks and Software) is a Python package that enables the simulation, forecasting and optimisation of reservoir systems. The package includes a set of interactive Jupyter Notebooks that demonstrate key functionalities through practical examples, and that can be run in the Jupyter environment either locally or remotely via a web browser.

The iRONS Software provides a set of Python functions implementing typical reservoir modelling tasks, such as: estimating inflows to a reservoir, simulating operator decisions, closing the reservoir mass balance equation – in the context of both short-term forecasting and long-term predictions.

iRONS is based on the use of interactive Jupyter Notebooks ( Jupyter Notebooks is a literate programming environment that combines executable code, rich media, computational output and explanatory text in a single document. The notebooks included in iRONS are divided in two sections:

A. Knowledge transfer: a set of simple examples for training/teaching and knowledge transfer purposes to demonstrate the value of simulation and optimisation tools for reservoir operations by application to ‘proof-of-concept’ systems. The Notebooks cover a range of concepts relevant to reservoir operation, such as: manual vs automatic calibration of rainfall-runoff models used to generate reservoir inflows; what-if analysis vs optimisation of reservoir releases; optimisation under conflicting objectives and under uncertainty; optimisation of release releases scheduling vs optimisation of an operating policy; different shapes of operating policies for different reservoir purposes such as domestic or irrigation supply, flood control, or hydropower production.

B. Implementation: a set of workflow examples showing how to apply the iRONS functions to real-world data and problems including: generating inflow forecasts through a rainfall-runoff model, including bias correcting weather forecasts; optimising release scheduling against an inflow scenario or a forecast ensemble; optimising an operating policy against time series of historical or synthetic inflows. These Notebooks are meant to serve as a ‘learn-bydoing’ alternative to a User manual and a starting point for the user’s own application workflows.

Creative Commons License

Creative Commons Attribution 4.0 License
This work is licensed under a Creative Commons Attribution 4.0 License.