A water resource simulator in Python

Research output: Contribution to journalArticlepeer-review

124 Downloads (Pure)

Abstract

A new generalised water resource network modelling Python library, Pywr, is presented. Given hydrological inflows, Pywr simulates customisable water allocation and operation rules throughout complex multi-purpose managed water systems at each user-defined time-step. The model uses a low-level interface to existing linear programming solvers for fast priority-based optimisation-driven simulation. The library uses an object based system for users to provide input data and record simulation outputs. A novel multi-scenario simulation method provides an almost 4-fold improvement in model run-times and supports calculating robustness metrics across scenarios. A flexible interface to specify multi-objective optimisation formulations as part of a model's input file is included. These features enable analysts to apply advanced water planning approaches, such as robust decision making and robust optimisation, to real systems. The library is available under the GPLv3 open source licence, includes several examples and a regression test suite.

Original languageEnglish
Article number104635
JournalEnvironmental Modelling & Software
Volume126
Early online date20 Jan 2020
DOIs
Publication statusPublished - 1 Apr 2020

Keywords

  • Decision making under deep uncertainty
  • Multi-reservoir operations
  • Network optimisation
  • Open source
  • Python
  • Water resource simulation

Fingerprint

Dive into the research topics of 'A water resource simulator in Python'. Together they form a unique fingerprint.

Cite this