Skip to main content

Welcome to WSIMOD WSIMOD logo

WSIMOD stands for the Water Systems Integrated Modelling framework.

The terrestrial water cycle is a highly interconnected system where the movement of water is affected by physical and human processes. Thus, environmental models may become inaccurate if they do not provide a complete picture of the water cycle, missing out on unexpected opportunities and omitting impacts that arise from complex interactions. WSIMOD is a modelling framework to integrate these different processes. It provides a message passing interface to enable different subsystem models to communicate water flux and water quality information between each other, and self-contained representations of the key parts of the water cycle (rivers, reservoirs, urban and rural hydrological catchments, treatment plants, and pipe networks). We created WSIMOD to enable a user greater flexibility in setting up their water cycle models, motivated by the abundance of non-textbook water systems that we have experienced in industry collaboration. The WSIMOD Python package provides tutorials and examples to help modellers create nodes, connect them with arcs, and create simulations.

You can access our documentation below or at https://imperialcollegelondon.github.io/wsi.

Requires: Python 3 (tested on versions >=3.7), tqdm, PyYAML, dill

Optional requirements to run demos: Pandas, GeoPandas, Matplotlib, Shapely

Please consider contributing and note the code of conduct

If you use WSIMOD, please make sure to cite.

Table Of Contents

The documentation follows the best practice for project documentation as described by Daniele Procida in the Diátaxis documentation framework and consists of:

  1. About

  2. Installation

  3. Tutorials

  4. How-To Guides

  5. Component library

  6. API reference

  7. Quickstart

  8. Coverage

Installation

Install WSIMOD directly from GitHub

pip install https://github.com/ImperialCollegeLondon/wsi/archive/refs/heads/main.zip

Use [demos] to include the demos and tutorials.

pip install https://github.com/ImperialCollegeLondon/wsi/archive/refs/heads/main.zip
pip install wsimod[demos]

If you want to make changes to WSIMOD you can download/clone this folder, navigate to it, and run:

pip install -e .[dev]

or (with demos)

pip install -e .[dev,demos]

How to cite WSIMOD

DOI DOI

If you would like to use our software, please cite it using the following:

Dobson, B., Liu, L. and Mijic, A. (2023) ‘Water Systems Integrated Modelling framework, WSIMOD: A Python package for integrated modelling of water quality and quantity across the water cycle’, Journal of Open Source Software. The Open Journal, 8(83), p. 4996. doi: 10.21105/joss.04996.

Find the bibtex citation below:

@article{Dobson2023,
        doi = {10.21105/joss.04996},
        url = {https://doi.org/10.21105/joss.04996},
        year = {2023},
        publisher = {The Open Journal},
        volume = {8},
        number = {83},
        pages = {4996},
        author = {Barnaby Dobson and Leyang Liu and Ana Mijic},
        title = {Water Systems Integrated Modelling framework, WSIMOD: A Python package for integrated modelling of water quality and quantity across the water cycle},
        journal = {Journal of Open Source Software}
        }

Please also include citation to the WSIMOD theory paper:

Dobson, B., Liu, L. and Mijic, A. (2024) ‘Modelling water quantity and quality for integrated water cycle management with the Water Systems Integrated Modelling framework (WSIMOD) software’, Geoscientific Model Development. Copernicus Publications, 17(10), p. 4495. doi: 10.5194/gmd-17-4495-2024

Find the bibtex citation below:

@article{gmd-17-4495-2024,
        author = {Barnaby Dobson and Leyang Liu and Ana Mijic},
        title = {Modelling water quantity and quality for integrated water cycle management with the Water Systems Integrated Modelling framework (WSIMOD) software},
        journal = {Geoscientific Model Development},
        volume = {17},
        year = {2024},
        number = {10},
        pages = {4495--4513},
        url = {https://gmd.copernicus.org/articles/17/4495/2024/},
        doi = {10.5194/gmd-17-4495-2024}
}

Acknowledgements

WSIMOD was developed by Barnaby Dobson and Leyang Liu. Theoretical support was provided by Ana Mijic. Testing the WSIMOD over a variety of applications has been performed by Fangjun Peng, Vladimir Krivstov and Samer Muhandes. Software development support was provided by Imperial College's Research Software Engineering service, in particular from Diego Alonso and Dan Davies.

We are incredibly grateful for the detailed software reviews provided by Taher Chegini and Joshua Larsen and editing by Chris Vernon. Their suggestions have significantly improved WSIMOD.

The design of WSIMOD was significantly influenced by CityDrain3, OpenMI, Belete, Voinov and Laniak, (2017), and smif.

We acknowledge funding from the CAMELLIA project (Community Water Management for a Liveable London), funded by the Natural Environment Research Council (NERC) under grant NE/S003495/1.

Release files for wsimod 0.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wsimod 0.8.1
File Size Uploaded
wsimod-0.8.1.tar.gz 7.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for wsimod 0.8.1
File Interpreter ABI Platform
wsimod-0.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 7.9 MB

Release files / wsimod-0.8.1.tar.gz

Download URL wsimod-0.8.1.tar.gz
Size 7.8 MB
Tags Source
SHA-256 checksum
How to use checksums
666877dbb342eeecb9ccfad0141a48b8bf3c45f21deaa90839a0681d4b8870a1
BLAKE2b-256 checksum
How to use checksums
30e939c4f8fda27e2c1a3cd2dfbfe9d2417d30ecefdd37be4307dc0d21d0aec5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 8, 2025.

Transparency log

Release files / wsimod-0.8.1-py3-none-any.whl

Download URL wsimod-0.8.1-py3-none-any.whl
Size 107.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce1e627a5abda46d7299b9a986e5067e75243ab68f9d99d42da164fded16c22d
BLAKE2b-256 checksum
How to use checksums
de981167abc1482130a1541f4a7b245156dc5140cbdf23bb70f70161e18cbf4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 8, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.8.1 This release

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page