aguaclara

An open-source Python package for designing and performing research on AguaClara water treatment plants.

https://github.com/AguaClara-Reach/aguaclara

Science Score: 77.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    21 of 33 committers (63.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

aguaclara python water-treatment
Last synced: 6 months ago · JSON representation ·

Repository

An open-source Python package for designing and performing research on AguaClara water treatment plants.

Basic Info
Statistics
  • Stars: 26
  • Watchers: 11
  • Forks: 13
  • Open Issues: 6
  • Releases: 56
Topics
aguaclara python water-treatment
Created over 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Funding License Citation

README.md

aguaclara

Pypi Version Documentation Build Status Code Coverage DOI

aguaclara is a Python package developed by AguaClara Cornell and AguaClara Reach for designing and performing research on AguaClara water treatment plants. The package has several main functionalities:

  • DESIGN of AguaClara water treatment plant components
  • MODELING of physical, chemical, and hydraulic processes in water treatment
  • PLANNING of experimental setup for water treatment research
  • ANALYSIS of data collected by ProCoDA (process control and data acquisition tool)

Installing

The aguaclara package can be installed from Pypi by running the following command in the command line:

bash pip install aguaclara To upgrade an existing installation, run

bash pip install aguaclara --upgrade

Using aguaclara

aguaclara's main functionalities come from several sub-packages.

  1. Core: fundamental physical, chemical, and hydraulic functions and values
  2. Design: modules for designing components of an AguaClara water treatment plant
  3. Research: modules for process modeling, experimental design, and data analysis in AguaClara research

To use aguaclara's registry of scientific units (based on the Pint package), use from aguaclara.core.units import u. Any other function or value in a sub-package can be accessed by importing the package itself:

Example Usage: Design

```python import aguaclara as ac from aguaclara.core.units import u

Design a water treatment plant

plant = ac.Plant( q = 40 * u.L / u.s, cdc = ac.CDC(coag_type = 'pacl'), floc = ac.Flocculator(hl = 40 * u.cm), sed = ac.Sedimentor(temp = 20 * u.degC), filter = ac.Filter(q = 20 * u.L / u.s) ) ```

Example Usage: Core

```python

continued from Example Usage: Design

Model physical, chemical, and hydraulic properties

cdc = plant.cdc coagtubereynoldsnumber = ac.repipe( FlowRate = cdc.coagqmax, Diam = cdc.coagtubeid, Nu = cdc.coagnu(cdc.coagstockconc, cdc.coagtype) ) ```

Example Usage: Research

```python import aguaclara as ac from aguaclara.core.units import u import matplotlib.pyplot as plt

Plan a research experiment

reactor = ac.VariableCStock( Qsys = 2 * u.mL / u.s, Csys = 1.4 * u.mg / u.L, Qstock = 0.01 * u.mL / u.s ) CstockPACl = reactor.Cstock()

Visualize and analyze ProCoDA data

ac.iplotcolumns( path = "https://github.com/AguaClara-Reach/aguaclara/raw/refs/heads/main/tests/research/data/datalog6-14-2018.xls", columns = [3, 4], x_axis = 0 ) plt.ylabel("Turbidity (NTU)") plt.xlabel("Time (hr)") plt.legend(("Influent", "Effluent")) ```

The package is still undergoing rapid development. As it becomes more stable, a user guide will be written with more detailed tutorials. At the moment, you can find some more examples in specific pages of the API reference.

Contributing

Bug reports, features requests, documentation updates, and any other enhancements are welcome! To suggest a change, make an issue in the aguaclara Github repository.

To contribute to the package as a developer, refer to the Developer Guide.

Owner

  • Name: AguaClara Reach
  • Login: AguaClara-Reach
  • Kind: organization
  • Location: Ithaca, NY

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Keller"
  given-names: "Ethan"
- family-names: "Si"
  given-names: "Hannah"
- family-names: "Leung"
  given-names: "Oliver"
- family-names: "Weber-Shirk"
  given-names: "Sage"
- family-names: "Chapin"
  given-names: "Fletcher T."
  orcid: "https://orcid.org/0000-0002-2165-7963"
- family-names: "Chan"
  given-names: "Cynthia T."
- family-names: "Newatia"
  given-names: "Karan"
- family-names: "Sarmiento"
  given-names: "Kevin"
- family-names: "Yao-Smith"
  given-names: "Aaron"
- family-names: "Maisel"
  given-names: "Zoe"
- family-names: "Zhao"
  given-names: "Alice"
- family-names: "Verghese"
  given-names: "Anthony"
- family-names: "Lin"
  given-names: "Annabel"
- family-names: "Wong"
  given-names: "Fawn"
- family-names: "Pertsalis"
  given-names: "Elena"
- family-names: "Guzman"
  given-names: "Juan"
- family-names: "Pennock"
  given-names: "William H."
  orcid: "https://orcid.org/0000-0002-7194-1372"
- family-names: "Curillo"
  given-names: "Arianna"
- family-names: "Chiu"
  given-names: "Dylan T."
- family-names: "Lee"
  given-names: "Inwon"
- family-names: "Chaki"
  given-names: "Swastik"
- family-names: "Bediako"
  given-names: "Cynoc"
- family-names: "Vaishnavi"
  given-names: "Vinodhkanna"
- family-names: "Bhatti"
  given-names: "Aadil Z."
- family-names: "Weber-Shirk"
  given-names: "Monroe"
  orcid: "https://orcid.org/0000-0001-8037-7710"
title: "The AguaClara Package"
version: 0.4.0
date-released: 2023-02-08
url: "https://github.com/AguaClara-Reach/aguaclara"

GitHub Events

Total
  • Release event: 3
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 7
  • Pull request event: 4
  • Create event: 5
Last Year
  • Release event: 3
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 7
  • Pull request event: 4
  • Create event: 5

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 741
  • Total Committers: 33
  • Avg Commits per committer: 22.455
  • Development Distribution Score (DDS): 0.814
Past Year
  • Commits: 9
  • Committers: 3
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.222
Top Committers
Name Email Commits
Oliver Leung o****2@c****u 138
SageWS j****4@e****u 99
ethan92429 e****r@g****m 87
fletchapin f****n@g****m 71
karannewatia k****8@c****u 66
Cynthia c****7@c****u 59
HannahSi h****9@c****u 59
Monroe Weber-Shirk m****s@g****m 39
Aaron Yao-Smith a****5@c****u 33
zoemaisel 3****7 22
Anthony Verghese a****e@g****m 9
Elena Pertsalis e****7@c****u 9
dtc66 d****6@c****u 6
fawnwong f****g@l****m 5
William Pennock w****8@c****u 5
Cynoc c****7@c****u 4
Alice Zhao 4****0 3
Swastik Chaki s****7@c****u 3
annabel48lin 4****n 3
ilee8 i****3@c****u 3
Swastik Chaki s****i@d****u 2
Swastik Chaki s****i@d****u 2
vaishnavi-vinodh 6****h 2
juanchon998 j****8@c****u 2
KevinSarmiento 3****o 2
prevosis a****i@g****m 1
Swastik Chaki s****i@d****u 1
Swastik Chaki s****i@d****u 1
Swastik Chaki s****i@d****u 1
Swastik Chaki s****i@d****u 1
and 3 more...

Issues and Pull Requests

Last synced: 6 months ago

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 443 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 46
  • Total maintainers: 2
pypi.org: aguaclara

An open-source Python package for designing and performing research on AguaClara water treatment plants.

  • Versions: 46
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 443 Last month
Rankings
Dependent packages count: 7.3%
Forks count: 9.9%
Average: 11.5%
Dependent repos count: 11.8%
Downloads: 13.2%
Stargazers count: 15.2%
Maintainers (2)
Last synced: 6 months ago

Dependencies

Pipfile pypi
  • Sphinx * develop
  • aguaclara * develop
  • atomicwrites >=1.0 develop
  • autopep8 * develop
  • codecov * develop
  • colorama * develop
  • coverage * develop
  • pylint * develop
  • pytest * develop
  • pytest-cov * develop
  • pytest-runner * develop
  • requests >=2.20.0 develop
  • rope * develop
  • sphinx_rtd_theme * develop
  • matplotlib *
  • onshape_client *
  • pandas *
  • pint *
  • scipy *
  • urllib3 *
Pipfile.lock pypi
  • aguaclara * develop
  • alabaster ==0.7.12 develop
  • astroid ==2.5.1 develop
  • atomicwrites ==1.4.0 develop
  • attrs ==20.3.0 develop
  • autopep8 ==1.5.6 develop
  • babel ==2.9.0 develop
  • certifi ==2020.12.5 develop
  • chardet ==4.0.0 develop
  • codecov ==2.1.11 develop
  • colorama ==0.4.4 develop
  • coverage ==5.5 develop
  • cycler ==0.10.0 develop
  • docutils ==0.16 develop
  • idna ==2.10 develop
  • imagesize ==1.2.0 develop
  • iniconfig ==1.1.1 develop
  • isort ==5.8.0 develop
  • jinja2 ==2.11.3 develop
  • kiwisolver ==1.3.1 develop
  • lazy-object-proxy ==1.5.2 develop
  • markupsafe ==1.1.1 develop
  • matplotlib ==3.3.4 develop
  • mccabe ==0.6.1 develop
  • nulltype ==2.3.1 develop
  • numpy ==1.20.1 develop
  • oauthlib ==3.1.0 develop
  • onshape-client ==1.6.3 develop
  • packaging ==20.9 develop
  • pandas ==1.2.3 develop
  • pillow ==8.1.2 develop
  • pint ==0.16.1 develop
  • pluggy ==0.13.1 develop
  • py ==1.10.0 develop
  • pycodestyle ==2.7.0 develop
  • pygments ==2.8.1 develop
  • pylint ==2.7.2 develop
  • pyparsing ==2.4.7 develop
  • pytest ==6.2.2 develop
  • pytest-cov ==2.11.1 develop
  • pytest-runner ==5.3.0 develop
  • python-dateutil ==2.8.1 develop
  • pytz ==2021.1 develop
  • requests ==2.25.1 develop
  • requests-oauthlib ==1.3.0 develop
  • rope ==0.18.0 develop
  • ruamel.yaml ==0.16.13 develop
  • ruamel.yaml.clib ==0.2.2 develop
  • scipy ==1.6.1 develop
  • six ==1.15.0 develop
  • snowballstemmer ==2.1.0 develop
  • sphinx ==3.5.3 develop
  • sphinx-rtd-theme ==0.5.1 develop
  • sphinxcontrib-applehelp ==1.0.2 develop
  • sphinxcontrib-devhelp ==1.0.2 develop
  • sphinxcontrib-htmlhelp ==1.0.3 develop
  • sphinxcontrib-jsmath ==1.0.1 develop
  • sphinxcontrib-qthelp ==1.0.3 develop
  • sphinxcontrib-serializinghtml ==1.1.4 develop
  • toml ==0.10.2 develop
  • urllib3 ==1.26.4 develop
  • wrapt ==1.12.1 develop
  • certifi ==2020.12.5
  • chardet ==4.0.0
  • cycler ==0.10.0
  • idna ==2.10
  • kiwisolver ==1.3.1
  • matplotlib ==3.3.4
  • nulltype ==2.3.1
  • numpy ==1.20.1
  • oauthlib ==3.1.0
  • onshape-client ==1.6.3
  • packaging ==20.9
  • pandas ==1.2.3
  • pillow ==8.1.2
  • pint ==0.16.1
  • pyparsing ==2.4.7
  • python-dateutil ==2.8.1
  • pytz ==2021.1
  • requests ==2.25.1
  • requests-oauthlib ==1.3.0
  • ruamel.yaml ==0.16.13
  • ruamel.yaml.clib ==0.2.2
  • scipy ==1.6.1
  • six ==1.15.0
  • urllib3 ==1.26.4
setup.py pypi
  • matplotlib *
  • onshape_client *
  • pandas *
  • pint *
  • scipy *
  • urllib3 *
.github/workflows/build.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • chabad360/htmlproofer master composite
  • codecov/codecov-action v3 composite
.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish master composite