Release of new ReSiE version 0.12.0
We have released version 0.12.0 of our energy system simulation engine ReSiE. This release introduces extended output options that allow energy and temperature flows between components connected via busses to be exported and visualised, enabling more detailed system analysis. It also adds new component models for solar thermal collectors (STC) and seasonal thermal energy storage (STES). Further improvements include enhanced heat pump modelling with multiple operation modes, new and more flexible control modules, and a complete rework of temperature handling across components and busses. In addition, numerous smaller improvements, scenario updates, and bugfixes make this release more robust and easier to use.
The latest release can be found here and details are available on the documentation of the QuaSi-Projekt.
Key Features
Extended Outputs
Energy and temperature flows between components connected via busses can now be included in CSV and plot outputs. This makes it possible to directly analyse inter-component exchanges, not just component-level results. Options are available to export nothing, all excluding flows, all including flows, or a custom set (with preserved order).
New Component Models
- Solar thermal collector (STC) for solar heat supply, including a solar radiation model that computes sun position and irradiance in a plane, with improved interpolation conserving energy and correctly handling sunrise and sunset.
- Seasonal thermal energy storage (STES) with detailed stratification and loss behaviour.
Heat Pump Enhancements
- New
model_typewith three modes:- simplified (constant efficiency),
- inverter (optimised for partial load operation),
- on-off (captures cycling losses).
- Added standby electricity consumption and a minimum usage fraction to avoid unrealistic operation at very low loads.
- Bypass behaviour now respects the actually demanded temperature.
Control Modules
negotiate_temperature: dynamically sets operating temperatures between components with flexible temperatures.limit_cooling_input_temperature: restricts input temperature for electrolysers with STES.check_src_to_snkandforbid_src_to_snk: new mechanisms to explicitly allow or block energy flows between specific source–sink pairs.- Control module loading refactored so new modules can be added without modifying core code.
Temperature Handling Rework
- Minimum and maximum temperatures are now tracked in the
MaxEnergystruct rather than interfaces. - Bus distribution and balancing functions revised to handle temperature-dependent flows more accurately.
- Added a recalculation method for energy limits when conditions change.
- Control-step order adjusted so components like STES and STC can determine temperatures correctly during control.
- Electrolyser extended for temperature layer incl. UAC
Other Changes
- Output references:
output_refscan now be dictionaries for multi-output components (ensures unique connections); list syntax still works but raises warnings when ambiguous. - Input syntax: separator for specific input/output channels changed to
:, enabling spaces in medium names. - Losses/Gains: outputs now report losses as negative and gains as positive.
- Order of operation: improved to cover circle-transformers (input and output on the same bus) and busses with minimum PLR set.
- CLI: more graceful handling of
Ctrl+c. - Profiles: better error reporting (including line numbers), robustness improvements, and bugfixes.
- Scenarios: new
stc_2_demandsandp2h_stes_stc; updated multisector district example with STES. - Simulation parameters: new parameter
epsilonadded. - Storages: made more robust against different process/load orders; redundant functions removed.
- General: all tests and scenarios adapted to the new syntax; documentation updated; multiple bugfixes across components.