heat-desalination

Simulation and optimisation of hybrid electric and thermal powered desalination systems

https://github.com/benwinchester/heatdesalination

Science Score: 67.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 18 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Simulation and optimisation of hybrid electric and thermal powered desalination systems

Basic Info
  • Host: GitHub
  • Owner: BenWinchester
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 2.04 MB
Statistics
  • Stars: 5
  • Watchers: 1
  • Forks: 0
  • Open Issues: 5
  • Releases: 2
Created over 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Code of conduct Citation Zenodo

README.md

HEATDesalination

Simulation and optimisation of hybrid electric and thermal powered desalination systems

Table Of Contents

:link: Dependencies

:clap: Acknowledgements

Downloading HEATDesalination

🐍 Setting up your Python environment * Anaconda method * Pip install

🌦️ PVGIS

:memo: Completing input files * Location-based files * System-based files

:fire: Running HEATDesalination * Fetching weather data * Running a simulation * Running an optimisation * Parallel simulation and optimisation

🎓 Running HEATDesalination on Imperial College London's high-performance computers

:memo: References

Dependencies

This module imports libraries from: * The open-source pvlib Python package developed by Holmgren, Hansen and Mikofski [1].

This module integrates with the open-source PVGIS framework, developed by Huld et al., [2].

Acknowledgements

This repository uses code developed by the CLOVER-energy team by Winchester et al. (2022). Thanks to all at the @CLOVER-energy/clover-development-team for their work.

Downloading HEATDesalination

heat-desalination is best installed from pypi:

bash python -m pip install heat-desalination

should be run from a terminal or powershell window. This will fetch and install the latest version of heat-desalination along with all of its dependencies. heat-desalination runs best in Python 3.10.

Working as a developer

If you wish to help develop and work on the project, or, if you have any modifications that you wish to make to the code, the best approach is to run a git clone of the reposiroty. This will ensure that you have an up-to-date copy of the code which you can use to make changes, push commits and open pull requests within the repository:

bash git clone https://github.com/BenWinchester/HEATDesalination

Setting up your Python environment

heat-desalination uses Python 3.10. If you have installed the package heat-desalination following the instructions in the Downloading HEATDesalination section, then you should already have everything that you need. Otherwise, you will need to install the required dependencies.

Anaconda method

To install using conda, a Python-based virutal-environment manager, from the root of the repository, run:

bash conda install --file requirements.txt

Note, on some systems, Anaconda may be unable to find the requirements.txt file. In these cases, it's necessary to use the absolute path to the file, e.g.,

bash conda install --file C:\Users\<User>\...\requirements.txt

Pip install

If you feel more comfortable using pip, the Python package manager, you can use this either from within an Anaconda environment or straight from the command-line:

bash python -m pip install -r requirements.txt

PVGIS

heat-desalination relies on the package pvlib.iotools.pvgis [[1]]. This package is responsible for fetching weather data from the Photovoltaic Geographical Information System (PVGIS). This data is used in the internal models to assess the performance of the solar collectors considered in the system. No API tokens or login keys are needed in order to use this API.

In order to download weather related data for your given location, simply run

bash python -m heat-desalination-weather -lat <latitude> -lon -<longitude> -t <timezone>

or

bash heat-desalination-weather -lat <latitude> -lon -<longitude> -t <timezone>

from your command-line interface, provided that you have installed the heat-desalination package, where <latitude> and <longitude> are floating-point (i.e., decimal) numbers that give the latitude and longitude of the location for which you wish to download data respectively and <timezone> is the decimal timezone offset, e.g., 5.5 for a 5-and-a-half hour time difference from UTC.

If you have downloaded the code from Github, you will need to run

bash python -m src.heatdesalination.weather -lat <latitude> -lon -<longitude> -t <timezone>

from your command-line interface.

Completing input files

Location-based files

System-based files

Running HEATDesalination

Fetching weather data

Running a simulation

Running an optimisation

Parallel simulation and optimisation

Running HEATDesalination on Imperial College London's high-performance computers

References

[1] Holmgren, W. F., Hansen, C. W., & Mikofski, M. A. 2018 "pvlib python: a python package for modeling solar energy systems." Journal of Open Source Software, 3(29), 884. https://doi.org/10.21105/joss.00884

[2] Huld, T., Müller, R. & Gambardella, A., 2012 "A new solar radiation database for estimating PV performance in Europe and Africa". Solar Energy, 86, 1803-1815. http://dx.doi.org/10.1016/j.solener.2012.03.006

[3] Winchester, B., Beath, H., Nelson, J., & Sandwell, P. "CLOVER (Version v5.0.5)" 2020. [Computer software]. https://doi.org/10.5281/zenodo.6925535

[4] Sandwell P., Winchester B., Beath H., & Nelson J. "CLOVER: A modelling framework for sustainable community-scale energy systems." Journal of Open Source Software, 8(82), 4799, 2023. https://doi.org/10.21105/joss.04799

Owner

  • Name: Ben Winchester
  • Login: BenWinchester
  • Kind: user
  • Location: United Kingdom

Postgraduate Researcher at the Department of Chemical Engineering, Imperial College London

Citation (CITATION.cff)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Winchester
    given-names: Benedict
    orcid: https://orcid.org/0000-0002-2880-1243
  - family-names: Nelson
    given-names: Jenny
    orcid: https://orcid.org/0000-0003-1048-1330
  - family-names: Markides
    given-names: Christos N.
    orcid: 0000-0002-4219-1867
title: HEATDesalination
version: v1.0.0b2
doi: 10.5281/zenodo.7612966
date-released: 2023-03-21

GitHub Events

Total
Last Year

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 299
  • Total Committers: 2
  • Avg Commits per committer: 149.5
  • Development Distribution Score (DDS): 0.007
Top Committers
Name Email Commits
Ben Winchester b****r@g****m 297
Winchester b****0@i****k 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 13
  • Total pull requests: 14
  • Average time to close issues: 3 days
  • Average time to close pull requests: about 2 hours
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • BenWinchester (13)
Pull Request Authors
  • BenWinchester (16)
Top Labels
Issue Labels
enhancement (8) bug (5)
Pull Request Labels
enhancement (7) documentation (2) bug (2) revisions (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 12 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
pypi.org: heat-desalination

Hybrid Electric And Thermal Desalination

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 12 Last month
Rankings
Dependent packages count: 6.6%
Downloads: 19.0%
Average: 22.4%
Stargazers count: 25.5%
Forks count: 30.5%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 7 months ago

Dependencies

.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/mypy.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/pylint.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/pytest.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
requirements.txt pypi
  • black >=22.10
  • mypy >=0.982
  • pylint >=2.15.4
pyproject.toml pypi