Skip to content

Commit

Permalink
Merge pull request #698 from openego/features/release-0.9.0
Browse files Browse the repository at this point in the history
Features/release 0.9.0
  • Loading branch information
ClaraBuettner authored Nov 21, 2023
2 parents 78da2b4 + 7b7a0cc commit e3aea9a
Show file tree
Hide file tree
Showing 53 changed files with 17,895 additions and 5,181 deletions.
58 changes: 58 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: "CI"

on: {push: {branches: ['**']}, pull_request: {branches: [dev, master]}}

jobs:
build:
name: ${{ matrix.os.name }}
runs-on: ${{ matrix.os.image }}

strategy:
matrix:
os:
- {image: ubuntu-latest, name: Linux}
- {image: windows-latest, name: Windows}
- {image: macos-latest, name: macOS}
max-parallel: 4
fail-fast: false

steps:
- uses: "actions/checkout@main"
- uses: "actions/setup-python@main"
with:
python-version: |
3
3.8
3.9
3.10
3.11
- name: "Install dependencies"
run: |
python -mpip install --progress-bar=off nox
python --version
pip --version
nox --version
- name: "Run custom checks"
run: "python -m nox -s check"
env:
PLATFORM: ${{ matrix.os.image }}
- name: "Check with `black`"
run: "python -m nox -s black"
env:
PLATFORM: ${{ matrix.os.image }}
- name: "Check with `flake8`"
run: "python -m nox -s flake8"
env:
PLATFORM: ${{ matrix.os.image }}
- name: "Check with `isort`"
run: "python -m nox -s isort"
env:
PLATFORM: ${{ matrix.os.image }}
- name: "Build and check for packaging errors"
run: "python -m nox -s build"
env:
PLATFORM: ${{ matrix.os.image }}
- name: "Install the package"
run: "python -m nox -s install"
env:
PLATFORM: ${{ matrix.os.image }}
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
etrago/cluster/__pycache__/networkclustering.cpython-36.pyc
-eTraGo.egg-info/*
-src/*
**/__pycache__/*
build/*
dist/*
eTraGo.egg-info/*
22 changes: 22 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.8"

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: doc/conf.py

# We recommend specifying your dependencies to enable reproducible builds:
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: requirements-doc.txt
46 changes: 42 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,21 +1,47 @@
.. image:: https://readthedocs.org/projects/etrago/badge/?version=latest
:target: http://etrago.readthedocs.io/en/latest/?badge=latest
|ci| |docs|

.. |ci| image::
https://img.shields.io/github/actions/workflow/status
/openego/eTraGo/ci.yaml?branch=dev&event=push&label=ci
:alt: Continuous Integration Workflow Status
:target: https://github.com/openego/eTraGo/actions/workflows/ci.yaml

.. |docs| image::
https://readthedocs.org/projects/etrago/badge/?version=latest
:alt: Documentation Status
:target: http://etrago.readthedocs.io/en/latest/?badge=latest

.. end-header
eTraGo
======

Optimization of flexibility options for transmission grids based on PyPSA

A speciality in this context is that transmission grids are described by the
380, 220 and 110 kV in Germany. Conventionally the 110kV grid is part of the
380, 220 and 110 kV in Germany. Conventionally, the 110kV grid is part of the
distribution grid. The integration of the transmission and 'upper' distribution
grid is part of eTraGo.

The focus of optimization are flexibility options with a special focus on
energy storages. Grid expansion measures are not part of this tool and will be
instead part of 'eGo' https://github.com/openego/eGo

eTraGo is documented on `readthedocs <https://etrago.readthedocs.io>`_.


Input data
==========
The grid model data for eTraGo was created with the open source tool
`eGon-data <https://github.com/openego/eGon-data.>`_. The resulting data will
be pubished on the `OpenEnergyPlatform <https://openenergy-platform.org/.>`_.
As long as the data is not published there, a local database is needed.
We published a backup of the required tables and instruction on how to use it
on zenodo:

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.8376714.svg
:target: https://doi.org/10.5281/zenodo.8376714


Installation
============
Expand Down Expand Up @@ -48,6 +74,18 @@ Use the pip -e to install eTraGo directly from the cloned repository:
$ pip3 install -e /path/to/eTraGo/
When you want to draw geographical features in the background of network plots,
please install cartopy:

.. code-block::
$ pip3 install cartopy
If you run into problems when using cartopy, try to install shapely without binaries:

.. code-block::
$ pip3 install shapely --no-binary shapely
Using a virtual environment
===========================
Expand All @@ -57,7 +95,7 @@ you create a virtual environment (where you like it) and activate it:

.. code-block:: bash
$ virtualenv venv --clear -p python3.7
$ virtualenv venv --clear -p python3.8
$ source venv/bin/activate
$ cd venv
Expand Down
35 changes: 15 additions & 20 deletions doc/about.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,17 @@ energy storage and grid expansion measures.



The open_eGo project
Research projects
====================
This software project is part of the research project
This software project was initially developed in the research project
`open_eGo <https://openegoproject.wordpress.com>`_.
It is constantly further developed in different reserach projects,
e.g. `eGon <https://ego-n.org/>`_ and `PoWerD <https://www.h2-powerd.de/>`_.


The OpenEnergy Platform
=======================
Within this project we developed the OpenEnergy Platform which this software
Within the open_eGo project we developed the OpenEnergy Platform which this software
is using in order to get and store the in- and output data. Before you start to
calculate a registration on the platform is needed. For more information see
`openenergy-platform <https://openenergy-platform.org/>`_ and login.
Expand All @@ -39,12 +41,12 @@ this platform.



Model overview
==============
Tool overview
=============



.. figure:: images/eTraGo_model.png
.. figure:: images/ego_tools.svg
:align: center
:scale: 75%

Expand All @@ -63,24 +65,17 @@ eGo
The python package eGo is a toolbox and application which connects the tool eTraGo
(optimization of flexibility options at transmission grid level)
and eDisGo (optimization of distribution grids). All those python
packages are part of the research project
packages were initially developed in the research project
`open_eGo <https://openegoproject.wordpress.com>`_.
`Learn more here <http://openego.readthedocs.io/>`_.


Dataprocessing
==============
Data model creation
===================
For the eGon project the python-tool `eGon-data <https://github.com/openego/eGon-data>`_ was implemented, which creates input data for the optimization tools `eTraGo <https://github.com/openego/eTraGo>`_, `ding0 <https://github.com/openego/ding0>`_ and `eDisGo <https://github.com/openego/eDisGo>`_ and delivers for example data on grid topologies, demands/demand curves and generation capacities in a high spatial resolution. The outputs of egon-data are published under open source and open data licenses.

For the open_eGo project several python packages are developed which are feeded
by the input data of the data processing. The Dataprocessing is writen in
SQL and Python. `Learn more here <https://data-processing.readthedocs.io/>`_.

ego.io
======

The ego.io serves as a SQLAlchemy Interface to the OpenEnergy database (oedb). The
oedb table ORM objects are defined here and small helpers for io tasks are contained.
`Learn more here <https://github.com/openego/ego.io>`_.
eGon-data is a further development of the `Data processing <https://github.com/openego/data_processing>`_ developed in the former research project `open_eGo <https://openegoproject.wordpress.com/>`_. It aims for an extensions of the data models as well as for a better replicability and manageability of the data preparation and processing.
The resulting data set serves as an input for the optimization tools `eTraGo <https://github.com/openego/eTraGo>`_, `ding0 <https://github.com/openego/ding0>`_ and `eDisGo <https://github.com/openego/eDisGo>`_ and delivers for example data on grid topologies, demands/demand curves and generation capacities in a high spatial resolution. The outputs of egon-data are published under open source and open data licenses.


Dingo
Expand All @@ -97,7 +92,7 @@ medium and low voltage power distribution grids based on open
LICENSE
=======

© Copyright 2015-2018
© Copyright 2015-2023
Flensburg University of Applied Sciences,
Europa-Universität Flensburg,
Centre for Sustainable Energy Systems and
Expand Down
7 changes: 5 additions & 2 deletions doc/api.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
.. make doc-string generated documentation appear here
API
====

.. toctree::
:maxdepth: 7
:glob:
:titlesonly:

API <api/modules>
api/etrago.cluster
api/etrago.tools
api/appl.rst
7 changes: 7 additions & 0 deletions doc/api/appl.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
etrago.appl module
-------------------

.. automodule:: etrago.appl
:members:
:undoc-members:
:show-inheritance:
32 changes: 22 additions & 10 deletions doc/api/etrago.cluster.rst
Original file line number Diff line number Diff line change
@@ -1,30 +1,42 @@
etrago\.cluster package
etrago.cluster package
=======================

Submodules
----------
etrago.cluster.disaggregation module
-----------------------------------------

etrago\.cluster\.networkclustering module
.. automodule:: etrago.cluster.disaggregation
:members:
:undoc-members:
:show-inheritance:

etrago.cluster.electrical module
-----------------------------------------

.. automodule:: etrago.cluster.networkclustering
.. automodule:: etrago.cluster.electrical
:members:
:undoc-members:
:show-inheritance:

etrago\.cluster\.snapshot module
etrago.cluster.gas module
-----------------------------------------

.. automodule:: etrago.cluster.gas
:members:
:undoc-members:
:show-inheritance:

etrago.cluster.snapshot module
--------------------------------

.. automodule:: etrago.cluster.snapshot
:members:
:undoc-members:
:show-inheritance:

Module contents
---------------
etrago.cluster.spatial module
--------------------------------

.. automodule:: etrago.cluster
.. automodule:: etrago.cluster.spatial
:members:
:undoc-members:
:show-inheritance:

30 changes: 0 additions & 30 deletions doc/api/etrago.rst

This file was deleted.

Loading

0 comments on commit e3aea9a

Please sign in to comment.