ETHOS.PeNALPS
ETHOS.PeNALPS (Petri Net Agent based Load Profile Simulator) is a Python library for the simulation of load profiles of plants of industrial manufacturing processes. Load profiles are energy demand time series.
Description
| Name | Version | Platforms | Tests |
|---|---|---|---|
ETHOS.PeNALPS
ETHOS.PeNALPS (Petri Net Agent based Load Profile Simulator) is a Python library for the simulation of load profiles of industrial manufacturing processes. It is part of ETHOS (Energy Transformation Pathway Optimization Suite). Load profiles are energy demand time series. Processes that can be simulated using ETHOS.PeNALPS include, for example, steel, paper, and industrial food production. One or multiple product orders are passed to the model which starts the simulation and eventually creates the desired load profiles.
Working Principle
The figure below shows the main conceptual objects of ETHOS.PeNALPS which are:
- Generic model objects
- Material flow simulations
- Production plans
- Result load profiles
The model of the material flow simulation is created by users based on generic simulation objects. After the material flow simulation is completed, a set of production orders is passed to the model to start the simulation. The simulation generates a production plan that tracks the activity of each node to fulfill the requested set of orders. Based on the activity in the production plan, the load profiles are created for each node therein.
Depiction of the main components and workflow of ETHOS.PeNALPS
The HTML documentation provides a tutorial for ETHOS.PeNALPS. The executable files for the tutorial are located in the example section of this repository. Additionally, two examples for a toffee production process and a b-pillar production process are available.
Installation
Requirements
The installation process uses a Conda-based Python package manager. The recommended way to use Mamba on your system is to install the Miniforge distribution. They offer installers for Windows, Linux and macOS. Have a look at the Mamba installation guide for further details.
conda install -n base conda-libmamba-solver
conda config --set solver libmamba
Please note that the installation time of the solver can be very long if you have installed a lot of other packages into your conda base environment. In the following the commands mamba and conda are exchangeable if you prefer to use conda.
Installation via conda-forge
The simplest way is to install ETHOS.PeNALPS into a fresh environment from conda-forge with:
Create a new environment
mamba create -n penalps_env
Activate the environment
mamba activate penalps_env
Install ETHOS.PeNALPS from conda forge
mamba install -c conda-forge ethos_penalps
Installation from Github for Development
First the repository must be cloned from Github
git clone https://github.com/FZJ-IEK3-VSA/ETHOS_PeNALPS.git
Then change the directory to the root folder of the repository.
cd ETHOS_PeNALPS
Create a new environment from the environment.yml file with all required dependencies.
mamba env create --file=environment.yml
Activate the new environment.
mamba activate ethos_penalps
Install ethos_penalps locally in editable mode for development.
pip install -e .
Tests
The library can be tested by running pytest with the following command from the root folder.
pytest
Documentation
The ReadTheDocs documentation can be found here.
Contributions and Support
All contributions are welcome:
- If you have a question, you can start a Discussion. You will get a response as soon as possible.
- If you want to report a bug, please open an Issue. We will then take care of the issue as soon as possible.
- If you want to contribute with additional features or code improvements, open a Pull request.
About Us
We are the Institute of Climate and Energy Systems – Jülich Systems Analysis (ICE-2) at the Forschungszentrum Jülich. Our work focuses on independent, interdisciplinary research in energy, the bioeconomy, infrastructure, and sustainability. We support a just, greenhouse gas–neutral transformation through open models and policy-relevant science.
Code of Conduct
Please respect our code of conduct.