Introduction
PyPSA-Distribution aims at providing a global, open, free, fully transparent, and reproducible energy system model for distribution applications. It is based on the PyPSA framework and uses the OpenStreetMap data to create a detailed representation of the distribution energy system.
Examples of possible applications of the model are:
Microgrids planning: The model can be used to plan the expansion of a network of microgrids, e.g. to integrate new renewable energy sources or to electrify heating and transport.
Distribution system planning: The model can be used to plan the expansion of the distribution network, e.g. to integrate new renewable energy sources or to electrify heating and transport.
Distribution system operation: The model can be used to operate the distribution network, e.g. to optimize the dispatch of distributed energy resources or to avoid congestions.
Distribution network tariff design: The model can be used to design tariffs for the distribution network, e.g. to incentivize the use of renewable energy sources or to avoid congestions.
Are we missing something?: Please let us know if you have any other ideas for applications of the model!
Workflow
As PyPSA-Earth,
the generation of the model is controlled by the workflow management system Snakemake. In a nutshell,
the Snakefile declares for each python script in the scripts directory a rule which describes which files the scripts consume and
produce (their corresponding input and output files). The snakemake tool then runs the scripts in the correct order according to the
rules’ input/output dependencies. Moreover, it is able to track, what parts of the workflow have to be regenerated, when a data file or a
script is modified/updated. Please, refer to PyPSA-Earth documentation for more.
The following image represents the workflow performed by snakemake.
.. image:: doc/workflow.png
- alt:
Workflow Diagram
- align:
center
The blocks represent the individual rules which are required to create the file networks/elec_s_128.nc. Each rule requires scripts (e.g. Python) to convert inputs to outputs. The arrows indicate the outputs from preceding rules which a particular rule takes as input data.
Folder structure
The content in this package is organized in folders as described below; for more details, please see the documentation.
data: Includes input data that is not produced by anysnakemakerule.scripts: Includes all the Python scripts executed by thesnakemakerules.resources: Stores intermediate results of the PyPSA-Distribution workflow which can be picked up again by subsequent rules.networks: Stores intermediate, unsolved stages of the PyPSA network that describes the energy system model of PyPSA-Distribution.results: Stores the solved PyPSA network data, summary files and plots.benchmarks: Storessnakemakebenchmarks.logs: Stores log files about solving, including the solver output, console output and the output of a memory logger.envs: Stores the conda environment files to successfully run the workflow.
License
PyPSA-Distribution work is released under multiple licenses, equivalent to those of PyPSA-Earth.
All original source code is licensed as free software under GPL-3.0 License.
The documentation is licensed under CC-BY-4.0.
Configuration files are mostly licensed under CC0-1.0.
Data files are licensed under different licenses as noted below.
For licenses and urls of the data used in PyPSA-Earth, please, refer to PyPSA-Earth License section.
BY: Attribute Source
NC: Non-Commercial Use Only
SA: Share Alike