Skip to content

Commit

Permalink
Merge branch 'ltes_stores' of https://github.com/TomKae00/pypsa-eur i…
Browse files Browse the repository at this point in the history
…nto ltes_stores # Bitte geben Sie eine Commit-Beschreibung ein, um zu erklären, warum dieser # Merge erforderlich ist, insbesondere wenn es einen aktualisierten # Upstream-Branch mit einem Thema-Branch zusammenführt. # # Zeilen,

die mit '#' beginnen, werden ignoriert, # und eine leere Beschreibung bricht den Commit ab.
  • Loading branch information
TomKae00 committed Feb 18, 2025
2 parents df3fc81 + 84ebe30 commit 9662bf2
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 15 deletions.
Binary file removed .DS_Store
Binary file not shown.
21 changes: 12 additions & 9 deletions scripts/prepare_sector_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -2608,7 +2608,8 @@ def add_heat(
)

etpr_water_tanks = costs.at[
heat_system.central_or_decentral + " water tank storage", "energy to power ratio"
heat_system.central_or_decentral + " water tank storage",
"energy to power ratio",
]

n.add(
Expand Down Expand Up @@ -2637,9 +2638,9 @@ def add_heat(
p_nom_extendable=True,
)

n.links.loc[
nodes + f" {heat_system} water tanks charger", "etpr"
] = etpr_water_tanks
n.links.loc[nodes + f" {heat_system} water tanks charger", "etpr"] = (
etpr_water_tanks
)

tes_time_constant_days = options["tes_tau"][
heat_system.central_or_decentral
Expand Down Expand Up @@ -2682,7 +2683,8 @@ def add_heat(
bus0=nodes + f" {heat_system} heat",
bus1=nodes + f" {heat_system} water pits",
efficiency=costs.at[
"central water pit charger", "efficiency",
"central water pit charger",
"efficiency",
],
carrier=f"{heat_system} water pits charger",
p_nom_extendable=True,
Expand All @@ -2695,14 +2697,15 @@ def add_heat(
bus1=nodes + f" {heat_system} heat",
carrier=f"{heat_system} water pits discharger",
efficiency=costs.at[
"central water pit discharger", "efficiency",
"central water pit discharger",
"efficiency",
],
p_nom_extendable=True,
)

n.links.loc[
nodes + f" {heat_system} water pits charger", "etpr"
] = etpr_water_pit
n.links.loc[nodes + f" {heat_system} water pits charger", "etpr"] = (
etpr_water_pit
)

n.add(
"Store",
Expand Down
16 changes: 10 additions & 6 deletions scripts/solve_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@
import sys
from typing import Any

import linopy
import numpy as np
import pandas as pd
import pypsa
import linopy
import xarray as xr
import yaml
from _benchmark import memory_logger
Expand Down Expand Up @@ -803,7 +803,9 @@ def add_TES_etpr_constraints(n):
if not n.links.p_nom_extendable.any():
return

tes_charger_bool = n.links.index.str.contains("water tanks charger|water pits charger")
tes_charger_bool = n.links.index.str.contains(
"water tanks charger|water pits charger"
)
tes_store_bool = n.stores.index.str.contains("water tanks|water pits")

chargers_ext = n.links[tes_charger_bool].query("p_nom_extendable").index
Expand All @@ -822,7 +824,7 @@ def add_TES_etpr_constraints(n):
linear_expr_list, dim="Store-ext, Link-ext", cls=type(linear_expr_list[0])
)

n.model.add_constraints(merged_expr == 0, name='TES_etpr')
n.model.add_constraints(merged_expr == 0, name="TES_etpr")


def add_TES_charger_ratio_constraints(n):
Expand All @@ -834,16 +836,18 @@ def add_TES_charger_ratio_constraints(n):
if not n.links.p_nom_extendable.any():
return

discharger_bool = n.links.index.str.contains("water tanks discharger|water pits discharger")
discharger_bool = n.links.index.str.contains(
"water tanks discharger|water pits discharger"
)
charger_bool = n.links.index.str.contains("water tanks charger|water pits charger")

dischargers_ext = n.links[discharger_bool].query("p_nom_extendable").index
chargers_ext = n.links[charger_bool].query("p_nom_extendable").index

eff = n.links.efficiency[dischargers_ext].values
lhs = (
n.model["Link-p_nom"].loc[chargers_ext]
- n.model["Link-p_nom"].loc[dischargers_ext] * eff
n.model["Link-p_nom"].loc[chargers_ext]
- n.model["Link-p_nom"].loc[dischargers_ext] * eff
)

n.model.add_constraints(lhs == 0, name="TES_charger_ratio")
Expand Down

0 comments on commit 9662bf2

Please sign in to comment.