UESGraphs pandapipes simulation Pipeline

Architecture Documentation

Version: 2.2.0 Last Updated: April 2026


Table of Contents

  1. Overview

  2. Pipeline Architecture

  3. Core Entry Point

  4. Parameter Assignment Flow

  5. Demand & Time-Series Handling

  6. pandapipes Model Generation

  7. File & Folder Structure

  8. Validation & Error Handling

  9. Extension Guide


Overview

The TEASER and OpenDHW integration enables the estimations of demands necessary for the simulation.

Key Design Principles

  1. GeoJSON as main file for buildings: All building properties are stored on in buildings_geojson before estimation.

  2. Excel-based Configuration: Uniform parameters (simulation setup) are read from Excel sheets.

  1. Traceability: Every major processing step persists intermediate states of data.

Technology Stack

  • Buildings: GeoJSON file

  • Simulation Engine: pandapipes

  • Configuration: Excel or directly

  • Time-Series Data: CSV files


Pipeline Architecture

High-Level Flow

TEASER:

GeoJSON
     ↓
run_sim_teaser
     ↓
┌──────────────────────────────────┐
│ 0. Load simulation settings and  │
│    set up directories            │
│ 1. Create TEASER project         │
│ 2. Temporary directory and       │
│    AixLib export                 │
│ 3. Run simulations               │
│ 4. Read results and save data    │
│ 5. Combine results for demand CSV│
└──────────────────────────────────┘
     ↓
demands-heat.csv
demands-cool.csv

OpenDHW:

GeoJSON
     ↓
generate_DHW_profiles_from_geojson
     ↓
┌──────────────────────────────────┐
│ 0. Load simulation settings and  │
│    set up directories            │
│ 1. Create DHW profiles           │
│ 2. Save profiles to CSV          │
└──────────────────────────────────┘
     ↓
demands-dhw.csv

Core Entry Points

### run_sim_teaser(…)

Location: teaser_integration/utilities.py Responsibility: End-to-end orchestration of TEASER integration Inputs: GeoJSON, either Excel config or timestep and stoptime,

weather data

Outputs: Heat and cool demand files as CSV

### generate_DHW_profiles_from_geojson(…)

Location: DHW_estimation/utilities.py Responsibility: End-to-end orchestration of OpenDHW integration Inputs: GeoJSON, either Excel config or timestep, mean draw-off and

temperature difference for DHW

Outputs: DHW demand file as CSV

TEASER usage

  1. TEASER is integrated with creating a TEASER project and assigning the buildings with the propertiers given from the geojson. Here archetypes like “OfficeExisting”, “OfficeWithDataCenter”, “OfficeHighRise”, “OfficeHighRiseKita” are set with construction_data= “iwu_heavy” and geometry_data=”bmvbs_office”. For archetype “MultiFamilyHouse” construction_data= “tabula_de_standard” and geometry_data=”tabula_de_multi_family_house” and for “SingleFamilyHouse” construction_data= “tabula_de_standard” and geometry_data=”tabula_de_single_family_house” are set. The other properties are set directly. Other archetypes are not allowed in this implementation.

  2. Then exporting AixLib, so cloning the repository if necessary and creating temporary directory for the Modelica simulations.

  3. Running the simulations with specific simulation architecture in Dymola.

  4. Reading the results and saving the data in a csv files for each building and after that combining the files to one demand csv.

Important notes:
  • Dymola must be installed and Python has to recognize it

  • Since only timestep and stoptime is used, it is not possible to change the start_time, so always start at 0 then.

OpenDHW profiles generation

  1. OpenDHW is integrated with creating the profiles for each building with the properties given from the geojson. Here the archetypes like “OfficeExisting”, “OfficeWithDataCenter”, “OfficeHighRise”, “OfficeHighRiseKita” are set with building_type=”OB”, the archetype “MultiFamilyHouse” is set with building_type=”MFH” and “SingleFamilyHouse” are set with building_type=”SFH”. The other properties are set directly. Other archetypes are not allowed in this implementation.

  2. The resulting DataFrame of the profiles is saved in a csv file.

Important notes:
  • Since only timestep, it is not possible to change the start_time nor stop_time, so always start at 0 and stoptime is

always set to one year because of OpenDHW’s internal architecture.

File & Folder Structure

workspace/
  └── demand_csv/
      ├── demands-cool.csv (from TEASER)
      ├── demands-dhw.csv (from OpenDHW)
      └── demands-heat.csv (from TEASER)

Extension Guide

### Changing initial parameters of TEASER or OpenDHW integration

  1. Some parameters could be also set via Excel if necessary

This document describes the architecture of the TEASER and OpenDHW integration in UESGRAPH.