Aller au contenu

Projects, scenarios, and the data model

This page explains how TESSA organises the work of an energy planning study. If you are sitting down to model a district, you will be working inside a project, splitting your investigation into scenarios, and — if your study has a phasing component — combining those scenarios into a deployment plan. This page describes what each of those is for, what lives inside them, and how they relate.

Two companion pages drill down into the parts of the model where most of the engineering detail lives:

Project, scenario, deployment plan

The three top-level concepts answer three different questions:

  • A project answers "which study are we doing?" — it is tied to a place, an organisation, and a body of shared inputs (climate data, custom layers, the buildings you have curated). A project is long-lived; you keep coming back to it.
  • A scenario answers "which option are we testing?" — a self-contained design with its own districts, network, heat sources, financial assumptions, and results. You will typically have several per project.
  • A deployment plan answers "how does this get built over time?" — an ordered sequence of scenarios that represents a phased rollout, used when you need to consolidate CAPEX, OPEX, and revenues into a single multi-decade financial picture.
flowchart TD O["🏢 Organisation"] P["📁 Project"] S1["📄 Scenario A<br/>baseline"] S2["📄 Scenario B<br/>variant"] S3["📄 Scenario C<br/>variant"] DP["📅 Deployment plan"] O -->|grants access| P P --> S1 P --> S2 P --> S3 P --> DP DP -.references.-> S1 DP -.references.-> S2 classDef org fill:#e8eaf6,stroke:#000072,stroke-width:2px,color:#000072 classDef project fill:#c5cae9,stroke:#000072,stroke-width:2px,color:#000072 classDef scenario fill:#ffffff,stroke:#000072,stroke-width:1.5px,color:#000072 classDef plan fill:#fff3e0,stroke:#ED6000,stroke-width:2px,color:#ED6000 class O org class P project class S1,S2,S3 scenario class DP plan

A deployment plan does not own its scenarios — it points at scenarios that live in the project. You can have a deployment plan or not, depending on whether phasing matters for your study.

What sits inside a scenario

A scenario is the unit of analysis. When you open the comparison view, when you export a report, when you simulate, you are working with one scenario at a time — and everything needed to do that work is contained inside it.

flowchart TD S["📄 Scenario"] subgraph Geo["Geography &amp; demand"] D["🗺️ District"] B["🏠 Buildings"] CL["🌤️ Climate"] end subgraph Sys["Thermal system"] N["🔥 Thermal network"] EC["⚙️ Energy centers"] BS["🔌 Building substations"] BF["🌍 Borehole fields"] end subgraph Gis["GIS overlays"] L["📐 Layers and<br/>building selections"] RW["🛣️ Streets for routing"] end FP["💰 Financial assumptions"] S --> D D --> B D --> CL D --> N N --> EC N --> BS S --> BF EC -.uses.-> BF BS -.uses.-> BF S --> L S --> RW S --> FP classDef scenario fill:#c5cae9,stroke:#000072,stroke-width:2px,color:#000072 classDef geography fill:#e8f5e9,stroke:#2e7d32,stroke-width:1.5px,color:#1b5e20 classDef thermal fill:#fff3e0,stroke:#ED6000,stroke-width:1.5px,color:#bf360c classDef gis fill:#f3e5f5,stroke:#6a1b9a,stroke-width:1.5px,color:#4a148c classDef finance fill:#fffde7,stroke:#f9a825,stroke-width:1.5px,color:#f57f17 class S scenario class D,B,CL geography class N,EC,BS,BF thermal class L,RW gis class FP finance

A few things worth keeping in mind as you set up a study:

  • The district sets the demand. Buildings and the climate that drives their loads belong to the district. If two of your scenarios use different building stocks (e.g. before and after retrofit) or different climate series (present vs future), you will have separate districts inside each scenario, populated accordingly.
  • The network is built on top of the district. Building substations connect to specific buildings; energy centers feed the network. A scenario without a network is perfectly valid — it just describes the demand and the existing situation.
  • Borehole fields are scenario-level, not network-level, because the same field can appear at different points in the system (as the cold source for an energy-center heat pump, or as the source for booster heat pumps at substations) and because you may also model standalone geothermal assets.
  • Financial assumptions are set once per scenario — discount rate, fuel price trajectories, electricity price, currency — and apply to every cost calculation that comes out of the scenario. Per-component costs (a specific boiler's investment cost, a specific pipe's cost) are stored on those components.

The two companion pages walk through the demand side and the supply side in detail.

Why you create multiple scenarios

The most useful thing about scenarios is that they are independent — changing one does not affect the others — but comparable, because they live in the same project and TESSA tracks how each was derived.

flowchart LR SA["📄 Baseline<br/>present-day demand,<br/>gas boilers"] SB["📄 DH variant 1<br/>4-pipe, biomass + HP"] SC["📄 DH variant 2<br/>5G, BHE + booster HPs"] SD["📄 DH variant 1<br/>+ retrofit"] SE["📄 DH variant 1<br/>+ 2050 climate"] SA -->|duplicate| SB SA -->|duplicate| SC SB -->|duplicate| SD SB -->|duplicate| SE classDef scenario fill:#ffffff,stroke:#000072,stroke-width:1.5px,color:#000072 classDef baseline fill:#c5cae9,stroke:#000072,stroke-width:2px,color:#000072 class SA baseline class SB,SC,SD,SE scenario

Patterns you will run into in practice:

Pattern What you vary across scenarios
Variant comparison Network generation (4-pipe vs 5G), supply temperature, energy mix, layout
Sensitivity study Fuel price trajectory, discount rate, peak power assumptions
Phasing Which buildings are connected, which sources are installed
Time horizon Present demand, 2035 demand, 2050 demand under climate change
Retrofit Building stock as-is vs after a renovation programme

When you duplicate a scenario, TESSA records the link. The comparison view uses that link to show what changed — energy demand, peak power, source mix, NPV, CO₂ — without you having to diff anything by hand. See Compare scenarios.

The duplication is a deep copy: the new scenario gets its own copy of the network, the buildings, the energy centers. Editing one scenario will never silently change the figures in another.

Deployment plans: scenarios over time

Most of your work will be inside a single scenario. The deployment plan is a separate object that comes into play when you need a multi-stage financial picture — typically when a network rolls out in phases over a decade or more.

flowchart LR subgraph Project["Project (place / organisation)"] S1["📄 Phase 1<br/>core network,<br/>2 energy centers"] S2["📄 Phase 2<br/>extension west,<br/>+30 buildings"] S3["📄 Phase 3<br/>extension east,<br/>+ ground source"] end DP["📅 Deployment plan"] ST1["Stage 1<br/>start 2027"] ST2["Stage 2<br/>start 2030"] ST3["Stage 3<br/>start 2035"] DP --> ST1 --> ST2 --> ST3 ST1 -.points to.-> S1 ST2 -.points to.-> S2 ST3 -.points to.-> S3 classDef scenario fill:#ffffff,stroke:#000072,stroke-width:1.5px,color:#000072 classDef plan fill:#fff3e0,stroke:#ED6000,stroke-width:2px,color:#ED6000 classDef stage fill:#ffe0b2,stroke:#ED6000,stroke-width:1.5px,color:#bf360c class S1,S2,S3 scenario class DP plan class ST1,ST2,ST3 stage

Each stage records:

  • Which scenario it points to — the design at that phase.
  • The start year of that stage — when CAPEX is incurred and revenues begin.
  • A capital carryover factor — what fraction of an earlier stage's assets is still on the books when the next stage starts.

The deployment plan adds its own discount rate and horizon end year so it can roll the per-stage cashflows into a single NPV/IRR for the whole programme. If your study is single-phase, you don't need a deployment plan at all — the financial figures on the scenario itself are sufficient.

Access and sharing

You are a member of one or more organisations. An organisation can be granted access to a project, and that access flows down to every scenario inside the project — there is no per-scenario permission layer.

flowchart LR U["👤 You"] --> M["Membership"] --> O["🏢 Organisation"] O -->|access grant| P["📁 Project"] P --> S["📄 Scenarios"] classDef user fill:#ffffff,stroke:#000072,stroke-width:1.5px,color:#000072 classDef org fill:#e8eaf6,stroke:#000072,stroke-width:2px,color:#000072 classDef project fill:#c5cae9,stroke:#000072,stroke-width:2px,color:#000072 classDef scenario fill:#ffffff,stroke:#000072,stroke-width:1.5px,color:#000072 class U,M user class O org class P project class S scenario

If you need to send a single scenario to someone outside the project — for example, a colleague at a different consultancy — use the import/export workflow rather than trying to share project access. See Import and export scenarios.

Where to go next