69 lines
3.9 KiB
Python
69 lines
3.9 KiB
Python
import hub.helpers.constants as cte
|
|
|
|
|
|
def system_results(buildings):
|
|
system_performance_summary = {}
|
|
fields = ["Energy System Archetype", "Heating Equipments", "Cooling Equipments", "DHW Equipments",
|
|
"Photovoltaic System Capacity", "Heating Fuel", "Yearly HVAC Energy Consumption (MWh)",
|
|
"DHW Energy Consumption (MWH)", "PV Yearly Production (kWh)", "LCC Analysis Duration (Years)",
|
|
"Energy System Capital Cost (CAD)", "Energy System Average Yearly Operational Cost (CAD)",
|
|
"Energy System Life Cycle Cost (CAD)"]
|
|
for building in buildings:
|
|
system_performance_summary[f'{building.name}'] = {}
|
|
for field in fields:
|
|
system_performance_summary[f'{building.name}'][field] = '-'
|
|
|
|
for building in buildings:
|
|
fuels = []
|
|
system_performance_summary[f'{building.name}']['Energy System Archetype'] = building.energy_systems_archetype_name
|
|
energy_systems = building.energy_systems
|
|
for energy_system in energy_systems:
|
|
demand_types = energy_system.demand_types
|
|
for demand_type in demand_types:
|
|
if demand_type == cte.COOLING:
|
|
equipments = []
|
|
for generation_system in energy_system.generation_systems:
|
|
if generation_system.fuel_type == cte.ELECTRICITY:
|
|
equipments.append(generation_system.name or generation_system.system_type)
|
|
cooling_equipments = ", ".join(equipments)
|
|
system_performance_summary[f'{building.name}']['Cooling Equipments'] = cooling_equipments
|
|
elif demand_type == cte.HEATING:
|
|
equipments = []
|
|
for generation_system in energy_system.generation_systems:
|
|
if generation_system.nominal_heat_output is not None:
|
|
equipments.append(generation_system.name or generation_system.system_type)
|
|
fuels.append(generation_system.fuel_type)
|
|
heating_equipments = ", ".join(equipments)
|
|
system_performance_summary[f'{building.name}']['Heating Equipments'] = heating_equipments
|
|
elif demand_type == cte.DOMESTIC_HOT_WATER:
|
|
equipments = []
|
|
for generation_system in energy_system.generation_systems:
|
|
equipments.append(generation_system.name or generation_system.system_type)
|
|
dhw_equipments = ", ".join(equipments)
|
|
system_performance_summary[f'{building.name}']['DHW Equipments'] = dhw_equipments
|
|
for generation_system in energy_system.generation_systems:
|
|
if generation_system.system_type == cte.PHOTOVOLTAIC:
|
|
system_performance_summary[f'{building.name}'][
|
|
'Photovoltaic System Capacity'] = generation_system.nominal_electricity_output or str(0)
|
|
heating_fuels = ", ".join(fuels)
|
|
system_performance_summary[f'{building.name}']['Heating Fuel'] = heating_fuels
|
|
system_performance_summary[f'{building.name}']['Yearly HVAC Energy Consumption (MWh)'] = format(
|
|
(building.heating_consumption[cte.YEAR][0] + building.cooling_consumption[cte.YEAR][0]) / 3.6e9, '.2f')
|
|
system_performance_summary[f'{building.name}']['DHW Energy Consumption (MWH)'] = format(
|
|
building.domestic_hot_water_consumption[cte.YEAR][0] / 1e6, '.2f')
|
|
return system_performance_summary
|
|
|
|
|
|
def new_system_results(buildings):
|
|
new_system_performance_summary = {}
|
|
fields = ["Energy System Archetype", "Heating Equipments", "Cooling Equipments", "DHW Equipments",
|
|
"Photovoltaic System Capacity", "Heating Fuel", "Yearly HVAC Energy Consumption (MWh)",
|
|
"DHW Energy Consumption (MWH)", "PV Yearly Production (kWh)", "LCC Analysis Duration (Years)",
|
|
"Energy System Capital Cost (CAD)", "Energy System Average Yearly Operational Cost (CAD)",
|
|
"Energy System Life Cycle Cost (CAD)"]
|
|
for building in buildings:
|
|
new_system_performance_summary[f'{building.name}'] = {}
|
|
for field in fields:
|
|
new_system_performance_summary[f'{building.name}'][field] = '-'
|
|
return new_system_performance_summary
|