GQL Statement

share_of_residences_connected_to_heat_network = 
  SUM(
    DIVIDE(INPUT_VALUE(households_heater_district_heating_ht_steam_hot_water_share),100.0),
    DIVIDE(INPUT_VALUE(households_heater_district_heating_mt_steam_hot_water_share),100.0),
    DIVIDE(INPUT_VALUE(households_heater_district_heating_lt_steam_hot_water_share),100.0)
  );  
residences_heat_demand = 
  SUM(
    V(households_space_heater_district_heating_ht_steam_hot_water_aggregator, demand),
    V(households_space_heater_district_heating_mt_steam_hot_water_aggregator, demand),
    V(households_space_heater_district_heating_lt_steam_hot_water_aggregator, demand)
  );
share_of_buildings_connected_to_heat_network = 
  SUM(
    DIVIDE(INPUT_VALUE(buildings_space_heater_district_heating_ht_steam_hot_water_share),100.0),
    DIVIDE(INPUT_VALUE(buildings_space_heater_district_heating_mt_steam_hot_water_share),100.0),
    DIVIDE(INPUT_VALUE(buildings_space_heater_district_heating_lt_steam_hot_water_share),100.0)
  );
buildings_heat_demand = 
  SUM(
    V(buildings_space_heater_district_heating_ht_steam_hot_water_aggregator, demand),
    V(buildings_space_heater_district_heating_mt_steam_hot_water_aggregator, demand),
    V(buildings_space_heater_district_heating_lt_steam_hot_water_aggregator, demand)
  );

share_of_residence_objects_connected_to_heat_network = ((share_of_residences_connected_to_heat_network * residences_heat_demand) + (share_of_buildings_connected_to_heat_network * buildings_heat_demand)) / (residences_heat_demand + buildings_heat_demand);
share_of_residence_objects_connected_to_heat_network = IF(share_of_residence_objects_connected_to_heat_network, share_of_residence_objects_connected_to_heat_network, 0.0);

IF(share_of_residence_objects_connected_to_heat_network <= 0.2,
  AREA(heat_length_of_distribution_pipelines_in_meter_per_residence_object_first_bracket),
  IF(share_of_residence_objects_connected_to_heat_network <= 0.4,
      AREA(heat_length_of_distribution_pipelines_in_meter_per_residence_object_second_bracket),
      IF(share_of_residence_objects_connected_to_heat_network <= 0.6,
        AREA(heat_length_of_distribution_pipelines_in_meter_per_residence_object_third_bracket),
        IF(share_of_residence_objects_connected_to_heat_network <= 0.8,
          AREA(heat_length_of_distribution_pipelines_in_meter_per_residence_object_fourth_bracket),
          AREA(heat_length_of_distribution_pipelines_in_meter_per_residence_object_fifth_bracket)))))

Result

2015 1.53 ms
3.2
meter
2050 0.34 ms
3.2
meter

Description

This query calculates the (weighted average) share of residences and buildings
connected to a district heating network and then returns the average length of
the main distribution pipelines per connected building (residence object)
depending on which 'bracket' this weighted share is in.
The more objects are connected to the network, the higher the bracket and the
higher the average pipeline length per connection.
It is assumed that the total share of all temperature levels of district heating
determines the bracket.
See https://github.com/quintel/documentation/blob/master/general/heat_infrastructure_costs.md
for more info

Characteristics

Groups
Unit meter
File path /app/tmp/etsource/gqueries/general/costs/heat_infrastructure/overall_support_queries/heat_length_of_main_distribution_pipelines_in_meter_per_residence_object.gql

References

Gquery heat_infrastructure_ht_main_distribution_pipelines_investment_costs
Gquery heat_infrastructure_lt_main_distribution_pipelines_investment_costs
Gquery heat_infrastructure_mt_main_distribution_pipelines_investment_costs