small_chp

The module containing all code dealing with chp < 10MW.

assign_use_case(chp, sources)[source]

Identifies CHPs used in district heating areas.

A CHP plant is assigned to a district heating area if - it is closer than 1km to the borders of the district heating area - the name of the osm landuse area where the CHP is located indicates that it feeds in to a district heating area (e.g. ‘Stadtwerke’) - it is not closer than 100m to an industrial area

Parameters:chp (pandas.DataFrame) – CHPs without district_heating flag
Returns:chp (pandas.DataFrame) – CHPs with identification of district_heating CHPs
existing_chp_smaller_10mw(sources, MaStR_konv, EgonChp)[source]

Insert existing small CHPs based on MaStR and target values

Parameters:
  • MaStR_konv (pandas.DataFrame) – List of conevntional CHPs in MaStR whoes locateion is not used
  • EgonChp (class) – Class definition of daabase table for CHPs
Returns:

additional_capacitiy (pandas.Series) – Capacity of new locations for small chp per federal state

extension_district_heating(federal_state, additional_capacity, flh_chp, EgonChp, areas_without_chp_only=False)[source]

Build new CHP < 10 MW for district areas considering existing CHP and the heat demand.

For more details on the placement alogrithm have a look at the description of extension_to_areas().

Parameters:
  • federal_state (str) – Name of the federal state.
  • additional_capacity (float) – Additional electrical capacity of new CHP plants in district heating
  • flh_chp (int) – Assumed number of full load hours of heat output.
  • EgonChp (class) – ORM-class definition of CHP database-table.
  • areas_without_chp_only (boolean, optional) – Set if CHPs are only assigned to district heating areas which don’t have an existing CHP. The default is True.
Returns:

None.

extension_industrial(federal_state, additional_capacity, flh_chp, EgonChp)[source]

Build new CHP < 10 MW for industry considering existing CHP, osm landuse areas and electricity demands.

For more details on the placement alogrithm have a look at the description of extension_to_areas().

Parameters:
  • federal_state (str) – Name of the federal state.
  • additional_capacity (float) – Additional electrical capacity of new CHP plants in indsutry.
  • flh_chp (int) – Assumed number of full load hours of electricity output.
  • EgonChp (class) – ORM-class definition of CHP database-table.
Returns:

None.

extension_per_federal_state(federal_state, EgonChp)[source]

Adds new CHP plants to meet target value per federal state.

The additional capacity for CHPs < 10 MW is distributed discretly. Therefore, existing CHPs and their parameters from Marktstammdatenregister are randomly selected and allocated in a district heating grid. In order to generate a reasonable distribution, new CHPs can only be assigned to a district heating grid which needs additional supply technologies. This is estimated by the substraction of demand, and the assumed dispatch oof a CHP considering the capacitiy and full load hours of each CHPs.

Parameters:
  • additional_capacity (float) – Capacity to distribute.
  • federal_state (str) – Name of the federal state
  • EgonChp (class) – ORM-class definition of CHP table
Returns:

None.

extension_to_areas(areas, additional_capacity, existing_chp, flh, EgonChp, district_heating=True, scenario='eGon2035')[source]

Builds new CHPs on potential industry or district heating areas.

This method can be used to distrectly extend and spatial allocate CHP for industry or district heating areas. The following steps are running in a loop until the additional capacity is reached:

  1. Randomly select an existing CHP < 10MW and its parameters.

2. Select possible areas where the CHP can be located. It is assumed that CHPs are only build if the demand of the industry or district heating grid exceeds the annual energy output of the CHP. The energy output is calculated using the installed capacity and estimated full load hours. The thermal output is used for district heating areas. Since there are no explicit heat demands for industry, the electricity output and demands are used.

3. Randomly select one of the possible areas. The areas are weighted by the annal demand, assuming that the possibility of building a CHP plant is higher when for large consumers.

  1. Insert allocated CHP plant into the database

5. Substract capacity of new build CHP from the additional capacity. The energy demands of the areas are reduced by the estimated energy output of the CHP plant.

Parameters:
  • areas (geopandas.GeoDataFrame) – Possible areas for a new CHP plant, including their energy demand
  • additional_capacity (float) – Overall eletcrical capacity of CHPs that should be build in MW.
  • existing_chp (pandas.DataFrame) – List of existing CHP plants including electrical and thermal capacity
  • flh (int) – Assumed electrical or thermal full load hours.
  • EgonChp (class) – ORM-class definition of CHP database-table.
  • district_heating (boolean, optional) – State if the areas are district heating areas. The default is True.
Returns:

None.

insert_mastr_chp(mastr_chp, EgonChp)[source]

Insert MaStR data from exising CHPs into database table

Parameters:
  • mastr_chp (pandas.DataFrame) – List of existing CHPs in MaStR.
  • EgonChp (class) – Class definition of daabase table for CHPs
Returns:

None.