AdOpT-NET0

AdOpT-NET0: A technology-focused Python package for the optimization of multi-energy systems - Published in JOSS (2025)

https://github.com/uu-er/adopt-net0

Science Score: 93.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 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Political Science Social Sciences - 90% confidence
Artificial Intelligence and Machine Learning Computer Science - 83% confidence
Sociology Social Sciences - 64% confidence
Last synced: 4 months ago · JSON representation

Repository

AdOpT-NET0 - Advanced Optimization Tool for Networks and Energy Technologies

Basic Info
Statistics
  • Stars: 5
  • Watchers: 0
  • Forks: 13
  • Open Issues: 29
  • Releases: 35
Created about 3 years ago · Last pushed 4 months ago
Metadata Files
Readme License

README.md

Adopt_fulllogo



Documentation Status Testing codecov Code style: black PyPI version status DOI

AdOpT-NET0 - Advanced Optimization Tool for Networks and Energy

This is a python package to simulate and optimize multi energy systems. It can model conversion technologies and networks for any carrier and optimize the design and operation of a multi energy system.

Installation

You can use the standard utility for installing Python packages by executing the following in a shell:

pip install adopt_net0

Additionally, you need a solver installed, that is supported by pyomo (we recommend gurobi, which has a free academic licence).

Note for mac users: The export of the optimization results require a working hdf5 library. On windows this should be installed by default. On mac, you can install it with homebrew:

brew install hdf5

Usage and documentation

The documentation and minimal examples of how to use the package can be found here. We also provide a visualization tool that is compatible with AdOpT-NET0.

Dependencies

The package relies heavily on other python packages. Among others this package uses:

  • pyomo for compiling and constructing the model
  • pvlib for converting climate data into electricity output
  • tsam for the aggregation of time series

Credits

This tool was developed at Utrecht University.

Owner

  • Name: UU - Energy & Resources
  • Login: UU-ER
  • Kind: organization
  • Location: Utrecht

JOSS Publication

AdOpT-NET0: A technology-focused Python package for the optimization of multi-energy systems
Published
February 15, 2025
Volume 10, Issue 106, Page 7402
Authors
Jan F. Wiegner ORCID
Utrecht University, Princetonlaan 8a, 3584 CB Utrecht, The Netherlands
Julia L. Tiggeloven ORCID
Utrecht University, Princetonlaan 8a, 3584 CB Utrecht, The Netherlands
Luca Bertoni ORCID
Utrecht University, Princetonlaan 8a, 3584 CB Utrecht, The Netherlands
Inge M. Ossentjuk ORCID
Utrecht University, Princetonlaan 8a, 3584 CB Utrecht, The Netherlands
Matteo Gazzani ORCID
Utrecht University, Princetonlaan 8a, 3584 CB Utrecht, The Netherlands
Editor
Adam R. Jensen ORCID
Tags
Energy system optimization Mixed integer linear programming (MILP) Linear programming (LP)

GitHub Events

Total
  • Create event: 98
  • Release event: 10
  • Issues event: 108
  • Watch event: 6
  • Delete event: 92
  • Member event: 1
  • Issue comment event: 94
  • Push event: 384
  • Pull request review comment event: 43
  • Pull request review event: 97
  • Pull request event: 204
  • Fork event: 11
Last Year
  • Create event: 98
  • Release event: 10
  • Issues event: 108
  • Watch event: 6
  • Delete event: 92
  • Member event: 1
  • Issue comment event: 94
  • Push event: 384
  • Pull request review comment event: 43
  • Pull request review event: 97
  • Pull request event: 204
  • Fork event: 11

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 1,111
  • Total Committers: 7
  • Avg Commits per committer: 158.714
  • Development Distribution Score (DDS): 0.356
Past Year
  • Commits: 270
  • Committers: 6
  • Avg Commits per committer: 45.0
  • Development Distribution Score (DDS): 0.415
Top Committers
Name Email Commits
6574114 j****r@u****l 716
Tiggeloven j****n@u****l 258
Luca l****i@u****l 54
unknown A****t@s****m 28
masseramatteo m****a@u****l 27
IngeOssentjuk 1****k 22
GitHub Actions a****s@g****m 6
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 86
  • Total pull requests: 228
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 2 days
  • Total issue authors: 7
  • Total pull request authors: 7
  • Average comments per issue: 0.21
  • Average comments per pull request: 0.52
  • Merged pull requests: 163
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 71
  • Pull requests: 179
  • Average time to close issues: 16 days
  • Average time to close pull requests: 3 days
  • Issue authors: 7
  • Pull request authors: 6
  • Average comments per issue: 0.24
  • Average comments per pull request: 0.66
  • Merged pull requests: 136
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JeanWi (31)
  • julia1071 (15)
  • trevorb1 (14)
  • lucabert01 (11)
  • masseramatteo (9)
  • AdamRJensen (5)
  • 404notykk (1)
Pull Request Authors
  • JeanWi (154)
  • lucabert01 (38)
  • julia1071 (17)
  • masseramatteo (13)
  • AdamRJensen (3)
  • Siddharthh39 (2)
  • supercoder-dev (1)
Top Labels
Issue Labels
enhancement (20) bug (15) documentation (13) good first issue (4) new in the team (1) question (1)
Pull Request Labels
bug (13) enhancement (9) documentation (3)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 161 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 10
  • Total maintainers: 2
pypi.org: adopt_net0

A python package for multi energy system modelling

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 161 Last month
Rankings
Dependent packages count: 10.0%
Downloads: 13.3%
Average: 26.4%
Dependent repos count: 56.1%
Maintainers (2)
Last synced: 4 months ago

Dependencies

.github/workflows/autoformatting.yml actions
  • actions/checkout v3 composite
  • psf/black stable composite
docs/requirements.txt pypi
  • Babel ==2.11.0
  • Fiona ==1.8.22
  • GeoAlchemy2 ==0.6.3
  • Jinja2 ==3.1.2
  • Mako ==1.2.3
  • MarkupSafe ==2.1.1
  • Pillow ==9.3.0
  • Pint ==0.18
  • PyYAML ==6.0
  • Pygments ==2.13.0
  • Pyomo ==6.4.2
  • SQLAlchemy ==1.4.43
  • Shapely ==1.8.5.post1
  • Sphinx ==5.3.0
  • alabaster ==0.7.12
  • alembic ==1.8.1
  • attrs ==22.1.0
  • cdsapi ==0.5.1
  • certifi ==2022.9.24
  • cftime ==1.6.2
  • charset-normalizer ==2.1.1
  • click ==8.1.3
  • click-plugins ==1.1.1
  • cligj ==0.7.2
  • cloudpickle ==2.2.0
  • colorama ==0.4.6
  • cycler ==0.11.0
  • dask ==2022.2.0
  • descartes ==1.1.0
  • dill ==0.3.6
  • docutils ==0.17.1
  • et-xmlfile ==1.1.0
  • feedinlib ==0.1.0rc4
  • fonttools ==4.38.0
  • fsspec ==2022.11.0
  • geopandas ==0.10.2
  • greenlet ==2.0.1
  • gurobipy ==9.5.2
  • h3 ==3.7.4
  • h5py ==3.7.0
  • idna ==3.4
  • imagesize ==1.4.1
  • importlib-metadata ==5.0.0
  • importlib-resources ==5.10.0
  • jaraco.classes ==3.2.3
  • keyring ==23.11.0
  • keyrings.alt ==4.2.0
  • kiwisolver ==1.4.4
  • locket ==1.0.0
  • matplotlib ==3.5.3
  • more-itertools ==9.0.0
  • munch ==2.5.0
  • netCDF4 ==1.6.1
  • networkx ==2.6.3
  • numexpr ==2.8.4
  • numpy ==1.21.6
  • oedialect ==0.0.10
  • oemof ==0.2.0
  • oemof.db ==0.0.6
  • open-FRED-cli ==0.0.1
  • openpyxl ==3.0.10
  • packaging ==21.3
  • pandas ==1.3.5
  • partd ==1.3.0
  • patsy ==0.5.3
  • ply ==3.11
  • psycopg2 ==2.9.5
  • psycopg2-binary ==2.9.5
  • pvlib ==0.9.3
  • pyparsing ==3.0.9
  • pyproj ==3.2.1
  • python-dateutil ==2.8.2
  • pytz ==2022.5
  • pywin32-ctypes ==0.2.0
  • rarfile ==4.0
  • requests ==2.28.1
  • scipy ==1.7.3
  • six ==1.16.0
  • snowballstemmer ==2.2.0
  • sphinx-rtd-theme ==1.1.1
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • statsmodels ==0.13.2
  • tables ==3.7.0
  • timezonefinder ==6.0.1
  • toolz ==0.12.0
  • tqdm ==4.64.1
  • typing_extensions ==4.4.0
  • tzwhere ==3.0.3
  • urllib3 ==1.26.12
  • windpowerlib ==0.2.1
  • zipp ==3.10.0
pyproject.toml pypi
requirements.txt pypi
  • Pyomo ==6.7.1
  • black ==24.4.0
  • dill ==0.3.8
  • gurobipy ==11.0.1
  • matplotlib ==3.8.4
  • numpy ==1.26.4
  • openpyxl ==3.1.2
  • pandas ==2.2.2
  • pre-commit ==3.7.0
  • pvlib ==0.10.4
  • pwlf ==2.2.1
  • pytest ==8.1.1
  • requests ==2.31.0
  • scandir ==1.10.0
  • scikit-learn ==1.4.2
  • scipy ==1.13.0
  • setuptools ==69.2.0
  • sphinx ==7.2.6
  • sphinx_rtd_theme ==2.0.0
  • statsmodels ==0.14.1
  • tables ==3.9.2
  • timezonefinder ==6.5.0
setup.py pypi