Water Systems Integrated Modelling framework, WSIMOD

Water Systems Integrated Modelling framework, WSIMOD: A Python package for integrated modelling of water quality and quantity across the water cycle - Published in JOSS (2023)

https://github.com/ImperialCollegeLondon/wsi

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 14 DOI reference(s) in README
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    4 of 8 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.9%) to scientific vocabulary

Keywords

hacktoberfest hydrology integrated-modelling pollution python wastewater water-quality

Keywords from Contributors

hydraulic-modelling hydrology-stormwater-analysis stormwater swmm swmm5 swmmanywhere mesh energy-system exoplanet polygon

Scientific Fields

Political Science Social Sciences - 90% confidence
Last synced: 4 months ago · JSON representation

Repository

WSIMOD is a software for simulating water quality and quantity

Basic Info
Statistics
  • Stars: 16
  • Watchers: 2
  • Forks: 2
  • Open Issues: 32
  • Releases: 16
Topics
hacktoberfest hydrology integrated-modelling pollution python wastewater water-quality
Created about 3 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct Zenodo

README.md

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

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

Use [demos] to include the demos and tutorials.

bash 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:

bash pip install -e .[dev]

or (with demos)

bash 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:

bibtex @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:

bibtex @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

  • Name: Imperial College London
  • Login: ImperialCollegeLondon
  • Kind: organization
  • Email: icgithub-support@imperial.ac.uk
  • Location: Imperial College London

Imperial College main code repository

GitHub Events

Total
  • Create event: 34
  • Release event: 10
  • Issues event: 20
  • Watch event: 2
  • Delete event: 19
  • Issue comment event: 22
  • Push event: 131
  • Pull request review comment event: 35
  • Pull request event: 91
  • Pull request review event: 65
Last Year
  • Create event: 34
  • Release event: 10
  • Issues event: 20
  • Watch event: 2
  • Delete event: 19
  • Issue comment event: 22
  • Push event: 131
  • Pull request review comment event: 35
  • Pull request event: 91
  • Pull request review event: 65

Committers

Last synced: 4 months ago

All Time
  • Total Commits: 764
  • Total Committers: 8
  • Avg Commits per committer: 95.5
  • Development Distribution Score (DDS): 0.671
Past Year
  • Commits: 159
  • Committers: 7
  • Avg Commits per committer: 22.714
  • Development Distribution Score (DDS): 0.736
Top Committers
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****] 42
dependabot[bot] 4****] 5
Tom Bland t****d@i****k 2
Daniel Cummins d****7@i****k 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 57
  • Total pull requests: 141
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 19 days
  • Total issue authors: 7
  • Total pull request authors: 7
  • Average comments per issue: 0.26
  • Average comments per pull request: 0.57
  • Merged pull requests: 115
  • Bot issues: 0
  • Bot pull requests: 61
Past Year
  • Issues: 19
  • Pull requests: 92
  • Average time to close issues: 13 days
  • Average time to close pull requests: 2 days
  • Issue authors: 4
  • Pull request authors: 6
  • Average comments per issue: 0.26
  • Average comments per pull request: 0.35
  • Merged pull requests: 81
  • Bot issues: 0
  • Bot pull requests: 61
Top Authors
Issue Authors
  • barneydobson (26)
  • liuly12 (14)
  • dalonsoa (12)
  • RobinMaesPrior (3)
  • PauJuan (1)
  • tsmbland (1)
  • zzzzy9 (1)
Pull Request Authors
  • pre-commit-ci[bot] (55)
  • barneydobson (45)
  • dalonsoa (28)
  • liuly12 (20)
  • dependabot[bot] (9)
  • tsmbland (2)
  • dc2917 (2)
Top Labels
Issue Labels
overrides (12) documentation (9) enhancement (6) hacktoberfest (4) DAFNI (3) bug (2) refactor (1)
Pull Request Labels
dependencies (9) github_actions (9) overrides (5)

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