This is a compact energy system modeling tool that can model different forms of energy carriers and the conversion processes that convert them to each other. The optimal output of the model determines how much should be invested in each part of the energy system to meet the energy demand and minimize costs.
An example of the German energy system is also provided. The results of the model are compatible with the results of the paper "Barbosa, Julia, Christopher Ripp, and Florian Steinke. Accessible Modeling of the German Energy Transition: An Open, Compact, and Validated Model. Energies 14, no. 23 (2021)"
-
Download and install the following software from their official websites:
- Python (version 3.10 or above)
- Gurobi
-
Set up a virtual environment:
> python -m venv env > env\Scripts\activate
-
Clone the repository:
> git clone https://github.com/EINS-TUDa/CESM.git
-
Change the directory to the repository:
> cd CESM
-
Install the package:
> pip install -e .
-
Initialize the Runs directory:
> cesm init
-
Run the available models located in the Data folder using the following command:
> cesm run
If you know the specific model to be run, you can alternatively use:
> cesm run -m $MODEL_NAME -s $SCENARIO
-
After the run is finished, plot the results with the following command:
> cesm plot
These steps will help you quickly set up and start using the Compact Energy System Modelling Tool (CESM).
You can find our documentation online or build it yourself:
- Install documentation requirements:
> pip install -r docs\requirements.txt
- Make build documentation:
> docs\make html
Then you can open the documentation from docs/build/html/index.html.
- Tests
- Design simple examples
- Saving the results
- Postprocessing code
- Implementing the model in other libraries(Pyomo, AMPL, ...)
If you use this software in your research, please cite this repository. If you use the German energy transition model in your research, please cite the original paper:
Barbosa, J.; Ripp, C.; Steinke, F. Accessible Modeling of the German Energy Transition: An Open, Compact, and Validated Model. Energies 2021, 14, 8084. https://doi.org/10.3390/en14238084
For Bibtex you can use the following:
@Article{en14238084,
AUTHOR = {Barbosa, Julia and Ripp, Christopher and Steinke, Florian},
TITLE = {Accessible Modeling of the German Energy Transition: An Open, Compact, and Validated Model},
JOURNAL = {Energies},
VOLUME = {14},
YEAR = {2021},
NUMBER = {23},
ARTICLE-NUMBER = {8084},
URL = {https://www.mdpi.com/1996-1073/14/23/8084},
ISSN = {1996-1073},
ABSTRACT = {We present an easily accessible model for dispatch and expansion planning of the German multi-modal energy system from today until 2050. The model can be used with low efforts while comparing favorably with historic data and other studies of future developments. More specifically, the model is based on a linear programming partial equilibrium framework and uses a compact set of technologies to ease the comprehension for new modelers. It contains all equations and parameters needed, with the data sources and model assumptions documented in detail. All code and data are openly accessible and usable. The model can reproduce today’s energy mix and its CO2 emissions with deviations below 10%. The generated energy transition path, for an 80% CO2 reduction scenario until 2050, is consistent with leading studies on this topic. Our work thus summarizes the key insights of previous works and can serve as a validated and ready-to-use platform for other modelers to examine additional hypotheses.},
DOI = {10.3390/en14238084}
}
The project is licensed under the MIT license - see the LICENSE.md file for details.