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 for updates.

class DsmPotential(dependencies)[source]

Bases: 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: str = 'DsmPotential'
sources: DatasetSources = DatasetSources(tables={'cts_loadcurves': 'demand.egon_etrago_electricity_cts', 'ind_osm_loadcurves': 'demand.egon_osm_ind_load_curves', 'ind_osm_loadcurves_individual': 'demand.egon_osm_ind_load_curves_individual', 'ind_sites_loadcurves': 'demand.egon_sites_ind_load_curves', 'ind_sites_loadcurves_individual': 'demand.egon_sites_ind_load_curves_individual', 'ind_sites': 'demand.egon_industrial_sites', 'ind_sites_schmidt': 'demand.egon_schmidt_industrial_sites', 'demandregio_ind_sites': 'demand.egon_demandregio_sites_ind_electricity'}, files={}, urls={})

The sources used by the datasets. Could be tables, files and urls

targets: DatasetTargets = DatasetTargets(tables={'bus': 'grid.egon_etrago_bus', 'link': 'grid.egon_etrago_link', 'link_timeseries': 'grid.egon_etrago_link_timeseries', 'store': 'grid.egon_etrago_store', 'store_timeseries': 'grid.egon_etrago_store_timeseries', 'cts_loadcurves_dsm': 'demand.egon_etrago_electricity_cts_dsm_timeseries', 'ind_osm_loadcurves_individual_dsm': 'demand.egon_osm_ind_load_curves_individual_dsm_timeseries', 'demandregio_ind_sites_dsm': 'demand.egon_demandregio_sites_ind_electricity_dsm_timeseries', 'ind_sites_loadcurves_individual': 'demand.egon_sites_ind_load_curves_individual_dsm_timeseries'}, files={})

The targets created by the datasets. Could be tables and files

version: str = '0.0.11'
class EgonDemandregioSitesIndElectricityDsmTimeseries(**kwargs)[source]

Bases: Base

application
bus
e_max
e_min
industrial_sites_id
p_max
p_min
p_set
scn_name
class EgonEtragoElectricityCtsDsmTimeseries(**kwargs)[source]

Bases: Base

bus
e_max
e_min
p_max
p_min
p_set
scn_name
class EgonOsmIndLoadCurvesIndividualDsmTimeseries(**kwargs)[source]

Bases: Base

bus
e_max
e_min
osm_id
p_max
p_min
p_set
scn_name
class EgonSitesIndLoadCurvesIndividualDsmTimeseries(**kwargs)[source]

Bases: Base

bus
e_max
e_min
p_max
p_min
p_set
scn_name
site_id
add_metadata_individual()[source]
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.

Parameters:

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

  1. CTS per osm-area: combined potentials of cooling, ventilation and air conditioning

  2. Industry per osm-are: combined potentials of cooling and ventilation

  3. Industrial Sites: potentials of ventilation in sites of “Wirtschaftszweig” (WZ) 23

  4. 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

  1. CTS per osm-area: combined potentials of cooling, ventilation and air conditioning

  2. Industry per osm-are: combined potentials of cooling and ventilation

  3. Industrial Sites: potentials of ventilation in sites of “Wirtschaftszweig” (WZ) 23

  4. 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.

Parameters:

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.

Parameters:

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.

Parameters:
  • 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.

Parameters:
  • 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]