Add warning when negative bev availability profile values

This commit is contained in:
Thomas Gilon 2024-01-11 14:11:25 +01:00
parent a6edce58fb
commit cd8001116d
2 changed files with 13 additions and 1 deletions

View File

@ -12,7 +12,8 @@ Upcoming Release
* New configuration option ``everywhere_powerplants`` to build conventional powerplants everywhere, irrespective of existing powerplants locations, in the network (https://github.com/PyPSA/pypsa-eur/pull/850).
* Remove option for wave energy as technology data is not maintained.
* Remove option for wave energy as technology data is not maintained.
* Add warning when BEV availability weekly profile has negative values in `build_transport_demand`.
PyPSA-Eur 0.9.0 (5th January 2024)

View File

@ -8,11 +8,17 @@ improvements due to drivetrain changes, time series for electric vehicle
availability and demand-side management constraints.
"""
import logging
import numpy as np
import pandas as pd
import xarray as xr
from _helpers import configure_logging
from _helpers import generate_periodic_profiles
logger = logging.getLogger(__name__)
def build_nodal_transport_data(fn, pop_layout):
transport_data = pd.read_csv(fn, index_col=0)
@ -130,6 +136,10 @@ def bev_availability_profile(fn, snapshots, nodes, options):
traffic.mean() - traffic.min()
)
if not avail[avail < 0].empty:
logger.warning("The BEV availability weekly profile has negative values which can "
"lead to infeasibility.")
return generate_periodic_profiles(
dt_index=snapshots,
nodes=nodes,
@ -160,6 +170,7 @@ if __name__ == "__main__":
simpl="",
clusters=48,
)
configure_logging(snakemake)
pop_layout = pd.read_csv(snakemake.input.clustered_pop_layout, index_col=0)