DSM_cts_ind

Currently, there are differences in the aggregated and individual DSM time series. These are caused by the truncation of the values at zero.

The sum of the individual time series is a more accurate value than the aggregated time series used so far and should replace it in the future. Since the deviations are relatively small, a tolerance is currently accepted in the sanity checks. See [#1120](https://github.com/openego/eGon-data/issues/1120) for updates.

class DsmPotential(dependencies)[source]

Bases: egon.data.datasets.Dataset

Calculate Demand-Side Management potentials and transfer to charactersitics of DSM components

DSM within this work includes the shifting of loads within the sectors of industry and CTS. Therefore, the corresponding formerly prepared demand time sereies are used. Shiftable potentials are calculated using the parametrization elaborated in Heitkoetter et. al (doi:https://doi.org/10.1016/j.adapen.2020.100001). DSM is modelled as storage-equivalent operation using the methods by Kleinhans (doi:10.48550/ARXIV.1401.4121). The potentials are transferred to characterisitcs of DSM links (minimal and maximal shiftable power per time step) and DSM stores (minimum and maximum capacity per time step). DSM buses are created to connect DSM components with the electrical network. All DSM components are added to the corresponding tables for the transmission grid level. For the distribution grids, the respective time series are exported to the corresponding tables (for the required higher spatial resolution).

Dependencies
Resulting tables
name = 'DsmPotential'
version = '0.0.5'
class EgonDemandregioSitesIndElectricityDsmTimeseries(**kwargs)[source]

Bases: sqlalchemy.ext.declarative.api.Base

application
bus
e_max
e_min
industrial_sites_id
p_max
p_min
p_set
scn_name
target = {'schema': 'demand', 'table': 'egon_demandregio_sites_ind_electricity_dsm_timeseries'}
class EgonEtragoElectricityCtsDsmTimeseries(**kwargs)[source]

Bases: sqlalchemy.ext.declarative.api.Base

bus
e_max
e_min
p_max
p_min
p_set
scn_name
target = {'schema': 'demand', 'table': 'egon_etrago_electricity_cts_dsm_timeseries'}
class EgonOsmIndLoadCurvesIndividualDsmTimeseries(**kwargs)[source]

Bases: sqlalchemy.ext.declarative.api.Base

bus
e_max
e_min
osm_id
p_max
p_min
p_set
scn_name
target = {'schema': 'demand', 'table': 'egon_osm_ind_load_curves_individual_dsm_timeseries'}
class EgonSitesIndLoadCurvesIndividualDsmTimeseries(**kwargs)[source]

Bases: sqlalchemy.ext.declarative.api.Base

bus
e_max
e_min
p_max
p_min
p_set
scn_name
site_id
target = {'schema': 'demand', 'table': 'egon_sites_ind_load_curves_individual_dsm_timeseries'}
aggregate_components(df_dsm_buses, df_dsm_links, df_dsm_stores)[source]
calc_ind_site_timeseries(scenario)[source]
calculate_potentials(s_flex, s_util, s_inc, s_dec, delta_t, dsm)[source]
Calculate DSM-potential per bus using the methods by Heitkoetter et. al.:
https://doi.org/10.1016/j.adapen.2020.100001
Parameters
s_flex: float
Feasability factor to account for socio-technical restrictions
s_util: float
Average annual utilisation rate
s_inc: float
Shiftable share of installed capacity up to which load can be increased considering technical limitations
s_dec: float
Shiftable share of installed capacity up to which load can be decreased considering technical limitations
delta_t: int
Maximum shift duration in hours
dsm: DataFrame
List of existing buses with DSM-potential including timeseries of loads
create_dsm_components(con, p_max, p_min, e_max, e_min, dsm, export_aggregated=True)[source]

Create components representing DSM. Parameters

con :
Connection to database
p_max: DataFrame
Timeseries identifying maximum load increase
p_min: DataFrame
Timeseries identifying maximum load decrease
e_max: DataFrame
Timeseries identifying maximum energy amount to be preponed
e_min: DataFrame
Timeseries identifying maximum energy amount to be postponed
dsm: DataFrame
List of existing buses with DSM-potential including timeseries of loads
create_table(df, table, engine=Engine(postgresql+psycopg2://egon:***@127.0.0.1:59734/egon-data))[source]

Create table

cts_data_import(cts_cool_vent_ac_share)[source]

Import CTS data necessary to identify DSM-potential.

cts_share: float
Share of cooling, ventilation and AC in CTS demand
data_export(dsm_buses, dsm_links, dsm_stores, carrier)[source]

Export new components to database.

Parameters:
  • dsm_buses (DataFrame) – Buses representing locations of DSM-potential
  • dsm_links (DataFrame) – Links connecting DSM-buses and DSM-stores
  • dsm_stores (DataFrame) – Stores representing DSM-potential
  • carrier (str) – Remark to be filled in column ‘carrier’ identifying DSM-potential
delete_dsm_entries(carrier)[source]

Deletes DSM-components from database if they already exist before creating new ones.

Parameters
carrier: str
Remark in column ‘carrier’ identifying DSM-potential
div_list(lst: list, div: float)[source]
dsm_cts_ind(con=Engine(postgresql+psycopg2://egon:***@127.0.0.1:59734/egon-data), cts_cool_vent_ac_share=0.22, ind_vent_cool_share=0.039, ind_vent_share=0.017)[source]

Execute methodology to create and implement components for DSM considering a) CTS per osm-area: combined potentials of cooling, ventilation and air

conditioning
  1. Industry per osm-are: combined potentials of cooling and ventilation
  2. Industrial Sites: potentials of ventilation in sites of
“Wirtschaftszweig” (WZ) 23
  1. Industrial Sites: potentials of sites specified by subsectors
identified by Schmidt (https://zenodo.org/record/3613767#.YTsGwVtCRhG): Paper, Recycled Paper, Pulp, Cement

Modelled using the methods by Heitkoetter et. al.: https://doi.org/10.1016/j.adapen.2020.100001

Parameters:
  • con – Connection to database
  • cts_cool_vent_ac_share (float) – Share of cooling, ventilation and AC in CTS demand
  • ind_vent_cool_share (float) – Share of cooling and ventilation in industry demand
  • ind_vent_share (float) – Share of ventilation in industry demand in sites of WZ 23
dsm_cts_ind_individual(cts_cool_vent_ac_share=0.22, ind_vent_cool_share=0.039, ind_vent_share=0.017)[source]

Execute methodology to create and implement components for DSM considering a) CTS per osm-area: combined potentials of cooling, ventilation and air

conditioning
  1. Industry per osm-are: combined potentials of cooling and ventilation
  2. Industrial Sites: potentials of ventilation in sites of
“Wirtschaftszweig” (WZ) 23
  1. Industrial Sites: potentials of sites specified by subsectors
identified by Schmidt (https://zenodo.org/record/3613767#.YTsGwVtCRhG): Paper, Recycled Paper, Pulp, Cement

Modelled using the methods by Heitkoetter et. al.: https://doi.org/10.1016/j.adapen.2020.100001

Parameters:
  • cts_cool_vent_ac_share (float) – Share of cooling, ventilation and AC in CTS demand
  • ind_vent_cool_share (float) – Share of cooling and ventilation in industry demand
  • ind_vent_share (float) – Share of ventilation in industry demand in sites of WZ 23
dsm_cts_ind_processing()[source]
ind_osm_data_import(ind_vent_cool_share)[source]
Import industry data per osm-area necessary to identify DSM-potential.
ind_share: float
Share of considered application in industry demand
ind_osm_data_import_individual(ind_vent_cool_share)[source]
Import industry data per osm-area necessary to identify DSM-potential.
ind_share: float
Share of considered application in industry demand
ind_sites_data_import()[source]

Import industry sites data necessary to identify DSM-potential.

ind_sites_vent_data_import(ind_vent_share, wz)[source]
Import industry sites necessary to identify DSM-potential.
ind_vent_share: float
Share of considered application in industry demand
wz: int
Wirtschaftszweig to be considered within industry sites
ind_sites_vent_data_import_individual(ind_vent_share, wz)[source]
Import industry sites necessary to identify DSM-potential.
ind_vent_share: float
Share of considered application in industry demand
wz: int
Wirtschaftszweig to be considered within industry sites
relate_to_schmidt_sites(dsm)[source]