A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

WSIMOD

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.
https://github.com/ImperialCollegeLondon/wsi

Category: Natural Resources
Sub Category: Water Supply and Quality

Keywords

hacktoberfest hydrology integrated-modelling pollution python wastewater water-quality

Keywords from Contributors

archiving measur observation transforms projection conversion optimize generic polars region

Last synced: about 16 hours ago
JSON representation

Repository metadata

WSIMOD is a software for simulating water quality and quantity

README.md

Welcome to WSIMOD

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.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 744
Total Committers: 8
Avg Commits per committer: 93.0
Development Distribution Score (DDS): 0.663

Commits in past year: 156
Committers in past year: 7
Avg Commits per committer in past year: 22.286
Development Distribution Score (DDS) in past year: 0.692

Name Email Commits
barneydobson b****1@g****m 251
Dobson b****n@i****k 243
liuly12 l****u@h****m 117
Diego Alonso Alvarez d****z@i****k 102
pre-commit-ci[bot] 6****] 23
dependabot[bot] 4****] 4
Tom Bland t****d@i****k 2
Daniel Cummins d****7@i****k 2

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 82
Total pull requests: 83
Average time to close issues: 3 months
Average time to close pull requests: 28 days
Total issue authors: 9
Total pull request authors: 7
Average comments per issue: 1.11
Average comments per pull request: 0.81
Merged pull request: 76
Bot issues: 0
Bot pull requests: 21

Past year issues: 21
Past year pull requests: 53
Past year average time to close issues: 16 days
Past year average time to close pull requests: 5 days
Past year issue authors: 3
Past year pull request authors: 6
Past year average comments per issue: 0.43
Past year average comments per pull request: 0.53
Past year merged pull request: 49
Past year bot issues: 0
Past year bot pull requests: 21

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/ImperialCollegeLondon/wsi

Top Issue Authors

  • barneydobson (37)
  • dalonsoa (20)
  • liuly12 (14)
  • RobinMaesPrior (5)
  • zzzzy9 (2)
  • fangjun336699 (1)
  • cheginit (1)
  • jlarsen-usgs (1)
  • tsmbland (1)

Top Pull Request Authors

  • barneydobson (28)
  • dalonsoa (19)
  • pre-commit-ci[bot] (17)
  • liuly12 (11)
  • dependabot[bot] (4)
  • tsmbland (2)
  • dc2917 (2)

Top Issue Labels

  • overrides (14)
  • DAFNI (12)
  • documentation (10)
  • bug (6)
  • hacktoberfest (6)
  • Infrastructure (5)
  • enhancement (5)
  • refactor (1)
  • hacktoberfest-accepted (1)

Top Pull Request Labels

  • overrides (4)
  • dependencies (4)
  • github_actions (4)

Package metadata

pypi.org: wsimod

WSIMOD is for simulating water quality and quantity

  • Homepage:
  • Documentation: https://wsimod.readthedocs.io/
  • Licenses: BSD 3-Clause License Copyright (c) 2022, barneydobson All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Latest release: 0.7.8 (published about 2 months ago)
  • Last Synced: 2025-04-25T14:33:07.826Z (1 day ago)
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 468 Last month
  • Rankings:
    • Dependent packages count: 9.993%
    • Average: 37.975%
    • Dependent repos count: 65.958%
  • Maintainers (1)

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
pyproject.toml pypi
  • PyYAML *
  • dill *
  • tqdm *
requirements-demos.txt pypi
  • attrs ==23.1.0
  • certifi ==2023.7.22
  • click ==8.1.7
  • click-plugins ==1.1.1
  • cligj ==0.7.2
  • colorama ==0.4.6
  • contourpy ==1.1.1
  • cycler ==0.12.1
  • dill ==0.3.7
  • fiona ==1.9.5
  • fonttools ==4.43.1
  • geopandas ==0.14.0
  • kiwisolver ==1.4.5
  • matplotlib ==3.8.1
  • numpy ==1.26.1
  • packaging ==23.2
  • pandas ==1.5.2
  • pillow ==10.1.0
  • pyparsing ==3.1.1
  • pyproj ==3.6.1
  • python-dateutil ==2.8.2
  • pytz ==2023.3.post1
  • pyyaml ==6.0.1
  • shapely ==2.0.2
  • six ==1.16.0
  • tqdm ==4.66.1
requirements-dev.txt pypi
  • black ==23.10.1 development
  • build ==1.0.3 development
  • cfgv ==3.4.0 development
  • click ==8.1.7 development
  • colorama ==0.4.6 development
  • coverage ==7.3.2 development
  • dill ==0.3.7 development
  • distlib ==0.3.7 development
  • filelock ==3.13.1 development
  • identify ==2.5.31 development
  • iniconfig ==2.0.0 development
  • mypy-extensions ==1.0.0 development
  • nodeenv ==1.8.0 development
  • packaging ==23.2 development
  • pathspec ==0.11.2 development
  • pip-tools ==7.3.0 development
  • platformdirs ==3.11.0 development
  • pluggy ==1.3.0 development
  • pre-commit ==3.5.0 development
  • pyproject-hooks ==1.0.0 development
  • pytest ==7.4.3 development
  • pytest-cov ==4.1.0 development
  • pyyaml ==6.0.1 development
  • ruff ==0.1.4 development
  • tqdm ==4.66.1 development
  • virtualenv ==20.24.6 development
  • wheel ==0.41.3 development
requirements-doc.txt pypi
  • 102 dependencies
requirements.txt pypi
  • colorama ==0.4.6
  • dill ==0.3.7
  • pyyaml ==6.0.1
  • tqdm ==4.66.1
Dockerfile docker
  • python 3.11.5-alpine build
.github/workflows/publish.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • softprops/action-gh-release v1 composite

Score: 12.036706799896434