final_energy_system_model #60

Merged
g_gutierrez merged 113 commits from final_energy_system_model into main 2024-03-14 09:13:21 -04:00
3 changed files with 340 additions and 235 deletions
Showing only changes of commit 072d2a6d9d - Show all commits

View File

@ -14,7 +14,7 @@ from hub.catalog_factories.data_models.energy_systems.content import Content
from hub.catalog_factories.data_models.energy_systems.generation_system import GenerationSystem from hub.catalog_factories.data_models.energy_systems.generation_system import GenerationSystem
from hub.catalog_factories.data_models.energy_systems.pv_generation_system import PvGenerationSystem from hub.catalog_factories.data_models.energy_systems.pv_generation_system import PvGenerationSystem
from hub.catalog_factories.data_models.energy_systems.distribution_system import DistributionSystem from hub.catalog_factories.data_models.energy_systems.distribution_system import DistributionSystem
from hub.catalog_factories.data_models.energy_systems.emission_system import EnergyEmissionSystem from hub.catalog_factories.data_models.energy_systems.emission_system import EmissionSystem
from hub.catalog_factories.data_models.energy_systems.energy_storage_system import EnergyStorageSystem from hub.catalog_factories.data_models.energy_systems.energy_storage_system import EnergyStorageSystem
from hub.catalog_factories.data_models.energy_systems.performance_curves import PerformanceCurves from hub.catalog_factories.data_models.energy_systems.performance_curves import PerformanceCurves
from hub.catalog_factories.data_models.energy_systems.archetype import Archetype from hub.catalog_factories.data_models.energy_systems.archetype import Archetype
@ -29,11 +29,11 @@ class NorthAmericaEnergySystemCatalog(Catalog):
""" """
def __init__(self, path): def __init__(self, path):
path = str(path / 'north_america_components.xml') path = str(path / 'north_america_systems.xml')
with open(path, 'r', encoding='utf-8') as xml: with open(path, 'r', encoding='utf-8') as xml:
self._archetypes = xmltodict.parse(xml.read(), force_list=['photovoltaicModules']) self._archetypes = xmltodict.parse(xml.read(), force_list=['photovoltaicModules'])
self._generation_components = self._load_generation_components() # self._generation_components = self._load_generation_components()
print(self._generation_components) # print(self._generation_components)
self._storage_components = self._load_storage_components() self._storage_components = self._load_storage_components()
print(self._storage_components) print(self._storage_components)
self._systems = self._load_systems() self._systems = self._load_systems()
@ -64,122 +64,126 @@ class NorthAmericaEnergySystemCatalog(Catalog):
# return system_configurations # return system_configurations
def _load_generation_components(self): # def _load_generation_components(self):
generation_components = [] # generation_components = []
boilers = self._archetypes['encomp:EnergySystemCatalog']['energycomponent']['boilers'] # boilers = self._archetypes['encomp:EnergySystemCatalog']['energycomponent']['boilers']
heat_pumps = self._archetypes['encomp:EnergySystemCatalog']['energycomponent']['heatPumps'] # heat_pumps = self._archetypes['encomp:EnergySystemCatalog']['energycomponent']['heatPumps']
photovoltaics = self._archetypes['encomp:EnergySystemCatalog']['energycomponent']['photovoltaicModules'] # photovoltaics = self._archetypes['encomp:EnergySystemCatalog']['energycomponent']['photovoltaicModules']
for boiler in boilers: # for boiler in boilers:
boiler_model_name = boiler['@modelName'] # boiler_model_name = boiler['@modelName']
boiler_manufacturer = boiler['@manufacturer'] # boiler_manufacturer = boiler['@manufacturer']
system_type = 'boiler' # system_type = 'boiler'
boiler_fuel_type = boiler['@fuel'] # boiler_fuel_type = boiler['@fuel']
boiler_nominal_thermal_output = float(boiler['@installedThermalPower']) # boiler_nominal_thermal_output = float(boiler['@installedThermalPower'])
boiler_modulation_range = float(boiler['@modulationRange']) # boiler_modulation_range = float(boiler['@modulationRange'])
boiler_heat_efficiency = float(boiler['@nominalEfficiency']) # boiler_heat_efficiency = float(boiler['@nominalEfficiency'])
#
boiler_component = GenerationSystem(boiler_model_name, # boiler_component = GenerationSystem(boiler_model_name,
boiler_manufacturer, # boiler_manufacturer,
system_type, # system_type,
boiler_fuel_type, # boiler_fuel_type,
boiler_nominal_thermal_output, # boiler_nominal_thermal_output,
boiler_modulation_range, # boiler_modulation_range,
None, # None,
None, # None,
boiler_heat_efficiency, # boiler_heat_efficiency,
None, # None,
None, # None,
None, # None,
None, # None,
None, # None,
None, # None,
None, # None,
None, # None,
None) # None)
generation_components.append(boiler_component) # generation_components.append(boiler_component)
for heat_pump in heat_pumps: # for heat_pump in heat_pumps:
heat_pump_model_name = heat_pump['@modelName'] # heat_pump_model_name = heat_pump['@modelName']
heat_pump_manufacturer = heat_pump['@manufacturer'] # heat_pump_manufacturer = heat_pump['@manufacturer']
system_type = 'heat pump' # system_type = 'heat pump'
heat_pump_fuel_type = heat_pump['@fuel'] # heat_pump_fuel_type = heat_pump['@fuel']
heat_pump_nominal_thermal_output = float(heat_pump['@installedThermalPower']) # heat_pump_nominal_thermal_output = float(heat_pump['@installedThermalPower'])
heat_pump_modulation_range = float(heat_pump['@modulationRange']) # heat_pump_modulation_range = float(heat_pump['@modulationRange'])
heat_pump_source_type = heat_pump['@heatSource'] # heat_pump_source_type = heat_pump['@heatSource']
heat_pump_supply_medium = heat_pump['@supply_medium'] # heat_pump_supply_medium = heat_pump['@supply_medium']
heat_pump_nominal_cop = float(heat_pump['@nominalCOP']) # heat_pump_nominal_cop = float(heat_pump['@nominalCOP'])
heat_pump_maximum_heating_temperature = float(heat_pump['@maxHeatingSupTemperature']) # heat_pump_maximum_heating_temperature = float(heat_pump['@maxHeatingSupTemperature'])
heat_pump_minimum_heating_temperature = float(heat_pump['@minHeatingSupTemperature']) # heat_pump_minimum_heating_temperature = float(heat_pump['@minHeatingSupTemperature'])
heat_pump_maximum_cooling_temperature = float(heat_pump['@maxCoolingSupTemperature']) # heat_pump_maximum_cooling_temperature = float(heat_pump['@maxCoolingSupTemperature'])
heat_pump_minimum_cooling_temperature = float(heat_pump['@minCoolingSupTemperature']) # heat_pump_minimum_cooling_temperature = float(heat_pump['@minCoolingSupTemperature'])
#
heat_pump_component = GenerationSystem(heat_pump_model_name, # heat_pump_component = GenerationSystem(heat_pump_model_name,
heat_pump_manufacturer, # heat_pump_manufacturer,
system_type, # system_type,
heat_pump_fuel_type, # heat_pump_fuel_type,
heat_pump_nominal_thermal_output, # heat_pump_nominal_thermal_output,
heat_pump_modulation_range, # heat_pump_modulation_range,
heat_pump_source_type, # heat_pump_source_type,
heat_pump_supply_medium, # heat_pump_supply_medium,
heat_pump_nominal_cop, # heat_pump_nominal_cop,
None, # None,
None, # None,
None, # None,
None, # None,
None, # None,
heat_pump_maximum_heating_temperature, # heat_pump_maximum_heating_temperature,
heat_pump_minimum_heating_temperature, # heat_pump_minimum_heating_temperature,
heat_pump_maximum_cooling_temperature, # heat_pump_maximum_cooling_temperature,
heat_pump_minimum_cooling_temperature) # heat_pump_minimum_cooling_temperature)
generation_components.append(heat_pump_component) # generation_components.append(heat_pump_component)
for pv in photovoltaics: # for pv in photovoltaics:
nominal_ambient_temperature = float(pv['@nominalAmbientTemperature']) # nominal_ambient_temperature = float(pv['@nominalAmbientTemperature'])
nominal_cell_temperature = float(pv['@nominalCellTemperature']) # nominal_cell_temperature = float(pv['@nominalCellTemperature'])
nominal_radiation = float(pv['@nominalRadiation']) # nominal_radiation = float(pv['@nominalRadiation'])
standard_test_condition_cell_temperature = float(pv['@STCCellTemperature']) # standard_test_condition_cell_temperature = float(pv['@STCCellTemperature'])
standard_test_condition_maximum_power = float(pv['@STCMaxPower']) # standard_test_condition_maximum_power = float(pv['@STCMaxPower'])
cell_temperature_coefficient = float(pv['@CellTemperatureCoefficient']) # cell_temperature_coefficient = float(pv['@CellTemperatureCoefficient'])
width = float(pv['@width']) # width = float(pv['@width'])
height = float(pv['@height']) # height = float(pv['@height'])
pv_model_name = pv['@modelName'] # pv_model_name = pv['@modelName']
pv_manufacturer = pv['@manufacturer'] # pv_manufacturer = pv['@manufacturer']
pv_electricity_efficiency = pv['@nominalEfficiency'] # pv_electricity_efficiency = pv['@nominalEfficiency']
pv_nominal_electricity_output = pv['@nominalPower'] # pv_nominal_electricity_output = pv['@nominalPower']
pv_component = PvGenerationSystem(nominal_ambient_temperature, # pv_component = PvGenerationSystem(nominal_ambient_temperature,
nominal_cell_temperature, # nominal_cell_temperature,
nominal_radiation, # nominal_radiation,
standard_test_condition_cell_temperature, # standard_test_condition_cell_temperature,
standard_test_condition_maximum_power, # standard_test_condition_maximum_power,
cell_temperature_coefficient, # cell_temperature_coefficient,
width, # width,
height, # height,
pv_model_name, # pv_model_name,
pv_manufacturer, # pv_manufacturer,
pv_electricity_efficiency, # pv_electricity_efficiency,
pv_nominal_electricity_output) # pv_nominal_electricity_output)
generation_components.append(pv_component) # generation_components.append(pv_component)
return generation_components # return generation_components
def _load_storage_components(self): def _load_storage_components(self):
storage_components = [] storage_components = []
components = self._archetypes['encomp:EnergySystemCatalog']['energycomponent']['thermalStorages'] thermal_storages = self._archetypes['EnergySystemCatalog']['energy_storage_components']['thermalStorages']
for component in components: for tes in thermal_storages:
model_name = component['@modelName'] storage_id = tes['@storage_id']
manufacturer = component['@manufacturer'] name = tes['@name']
volume = component['@volume'] model_name = tes['@modelName']
height = component['@height'] manufacturer = tes['@manufacturer']
maximum_operating_temperature = component['@maxTemp'] volume = tes['@volume']
height = tes['@height']
maximum_operating_temperature = tes['@maxTemp']
materials = self._load_materials() materials = self._load_materials()
material_name = component['@insulationMaterial'] insulation_material_name = tes['@insulationMaterial']
insulation_material = self._search_material(materials, material_name) insulation_material = self._search_material(materials, insulation_material_name)
material_name = component['@tankMaterial'] material_name = tes['@tankMaterial']
tank_material = self._search_material(materials, material_name) tank_material = self._search_material(materials, material_name)
thickness = float(component['@insulationThickness']) / 100 # from cm to m thickness = float(tes['@insulationThickness']) / 100 # from cm to m
insulation_layer = Layer(None, 'insulation', insulation_material, thickness) insulation_layer = Layer(None, 'insulation', insulation_material, thickness)
thickness = float(component['@tankThickness']) / 100 # from cm to m thickness = float(tes['@tankThickness']) / 100 # from cm to m
tank_layer = Layer(None, 'insulation', tank_material, thickness) tank_layer = Layer(None, 'insulation', tank_material, thickness)
# the convention is from outside to inside # the convention is from outside to inside
layers = [insulation_layer, tank_layer] layers = [insulation_layer, tank_layer]
storage_component = EnergyStorageSystem(model_name, storage_component = EnergyStorageSystem(storage_id,
name,
model_name,
manufacturer, manufacturer,
'thermal', 'thermal',
volume, volume,
@ -194,32 +198,32 @@ class NorthAmericaEnergySystemCatalog(Catalog):
storage_components.append(storage_component) storage_components.append(storage_component)
return storage_components return storage_components
def _load_systems(self): # def _load_systems(self):
systems = [] # systems = []
catalog_systems = self._archetypes['encomp:EnergySystemCatalog']['energysystemconfiguration'] # catalog_systems = self._archetypes['encomp:EnergySystemCatalog']['energysystemconfiguration']
for catalog_system in catalog_systems: # for catalog_system in catalog_systems:
system_configuration = catalog_system['@configurationName'] # system_configuration = catalog_system['@configurationName']
demands = catalog_system['demands'] # demands = catalog_system['demands']
demand_types = [] # demand_types = []
for demand in demands: # for demand in demands:
name = demand['@name'] # name = demand['@name']
demand_types.append(name) # demand_types.append(name)
energy_system = System(None, # energy_system = System(None,
None, # None,
system_configuration, # system_configuration,
demand_types, # demand_types,
None, # None,
None, # None,
None, # None,
None, # None,
None, # None,
None) # None)
systems.append(energy_system) # systems.append(energy_system)
return systems # return systems
def _load_materials(self): def _load_materials(self):
materials = [] materials = []
_materials = self._archetypes['encomp:EnergySystemCatalog']['energycomponent']['materials'] _materials = self._archetypes['EnergySystemCatalog']['materials']['material']
for _material in _materials: for _material in _materials:
name = _material['@name'] name = _material['@name']
thermal_conductivity = _material['@thermalConductivity'] thermal_conductivity = _material['@thermalConductivity']

View File

@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<EnergySystemComponentCatalog>
<medias>
<media media_id="1" media_name="Water" density="981.0" heatCapacity="4180.0" evaporationTemperature="100.0"/>
</medias>
<energy_generation_components>
<boilers generation_id="1" name="Natural-Gas Boiler" modelName="ALP080B" manufacturer="Alpine" installedThermalPower="21.0" modulationRange="0.88" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<boilers generation_id="2" name="Natural-Gas Boiler" modelName="ALP105B" manufacturer="Alpine" installedThermalPower="28.0" modulationRange="0.88" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<boilers generation_id="3" name="Natural-Gas Boiler" modelName="ALP150B" manufacturer="Alpine" installedThermalPower="40.0" modulationRange="0.88" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<boilers generation_id="4" name="Natural-Gas Boiler" modelName="ALP210B" manufacturer="Alpine" installedThermalPower="57.0" modulationRange="0.87" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<boilers generation_id="5" name="Natural-Gas Boiler" modelName="ALTAC-136" manufacturer="Alta" installedThermalPower="33.0" modulationRange="0.95" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<boilers generation_id="6" name="Natural-Gas Boiler" modelName="ALTA-120" manufacturer="Alta" installedThermalPower="33.0" modulationRange="0.95" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<boilers generation_id="7" name="Natural-Gas Boiler" modelName="ASPN-085" manufacturer="Aspen" installedThermalPower="23.15" modulationRange="0.97" nominalEfficiency="0.96" fuel="natural gas"/>
<boilers generation_id="8" name="Natural-Gas Boiler" modelName="ASPN-110" manufacturer="Aspen" installedThermalPower="30.19" modulationRange="0.96" nominalEfficiency="0.96" fuel="natural gas"/>
<boilers generation_id="9" name="Natural-Gas Boiler" modelName="ASPNC-155" manufacturer="Aspen" installedThermalPower="42.5" modulationRange="0.96" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<boilers generation_id="10" name="Natural-Gas Boiler" modelName="K2WTC-135B" manufacturer="K2" installedThermalPower="32.8" modulationRange="0.96" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<boilers generation_id="11" name="Natural-Gas Boiler" modelName="K2WTC-180B" manufacturer="K2" installedThermalPower="49.5" modulationRange="0.96" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<photovoltaicModules generation_id="12" name="Photovoltaic Module" modelName="445MS" manufacturer="Canadian Solar" nominalPower="334.0" nominalEfficiency="0.201" nominalRadiation="800.0" STCRadiation="1000.0" nominalCellTemperature="41.0" STCCellTemperature="26.0" nominalAmbientTemperature="20.0" STCMaxPower="445.0" CellTemperatureCoefficient="-0.0034" height="1.048" wgeneration_idth="2.01"/>
<heatPumps generation_id="13" name="Air-to-Water Heat Pump" modelName="CMAA 012" description="A second degree equation is used in form of A*T_source^2 + B*T_source + C*T_source*T_sup + D*T_sup + E*T_sup^2 + F" manufacturer="TRANE" installedThermalPower="51.7" modulationRange="0.0" fuel="Electricity" heatSource="Air" nominalCOP="3.32" maxHeatingSupTemperature="55.0" minHeatingSupTemperature="6.0" maxCoolingSupTemperature="30.0" minCoolingSupTemperature="11.0" supply_medium="water">
<coefficientOfPerformance xsi:type="encomp:SecondDegreePolynomialFunction" parameter="COP" parameterA="9.5E-4" parameterB="0.177" parameterC="-0.00242" parameterD="-0.155" parameterE="9.3E-4" parameterF="8.044"/>
</heatPumps>
<heatPumps generation_id="14" name="Air-to-Water Heat Pump" modelName="CMAA 70" description="A second degree equation is used in form of A*T_source^2 + B*T_source + C*T_source*T_sup + D*T_sup + E*T_sup^2 + F" manufacturer="TRANE" installedThermalPower="279.3" modulationRange="0.0" fuel="Electricity" heatSource="Air" nominalCOP="3.07" maxHeatingSupTemperature="55.0" minHeatingSupTemperature="6.0" maxCoolingSupTemperature="30.0" minCoolingSupTemperature="11.0" supply_medium="water">
<coefficientOfPerformance xsi:type="encomp:SecondDegreePolynomialFunction" parameter="COP" parameterA="0.0011" parameterB="0.207" parameterC="-0.00292" parameterD="-0.187" parameterE="0.00121" parameterF="8.95"/>
</heatPumps>
<heatPumps generation_id="15" name="Air-to-Water Heat Pump" modelName="CMAA 140" description="A second degree equation is used in form of A*T_source^2 + B*T_source + C*T_source*T_sup + D*T_sup + E*T_sup^2 + F" manufacturer="TRANE" installedThermalPower="279.3" modulationRange="0.0" fuel="Electricity" heatSource="Air" nominalCOP="3.46" maxHeatingSupTemperature="55.0" minHeatingSupTemperature="6.0" maxCoolingSupTemperature="30.0" minCoolingSupTemperature="11.0" supply_medium="water">
<coefficientOfPerformance xsi:type="encomp:SecondDegreePolynomialFunction" parameter="COP" parameterA="0.00109" parameterB="0.209" parameterC="-0.00291" parameterD="-0.172" parameterE="0.00102" parameterF="8.95"/>
</heatPumps>
<manufacturers manufacturer_id="1" name="Alpine" country="USA" product="Natural Gas Boiler"/>
<manufacturers manufacturer_id="2" name="Alta" country="USA" product="Natural Gas Boiler"/>
<manufacturers manufacturer_id="3" name="Aspen" country="USA" product="Natural Gas Boiler"/>
<manufacturers manufacturer_id="4" name="K2" country="USA" product="Natural Gas Boiler"/>
<manufacturers manufacturer_id="5" name="TRANE" product="Air-to-Water Heat Pump"/>
<manufacturers manufacturer_id="6" name="Canadian Solar" country="Canada" product="Photovoltaic Module"/>
</energy_generation_components>
<energy_storage_components>
<thermalStorages storage_id="1" name="Hot Water Storage Tank" modelName="HF 200" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/>
<thermalStorages storage_id="2" name="Hot Water Storage Tank" modelName="HF 300" manufacturer="reflex" volume="0.6" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.3" tankMaterial="Steel"/>
<thermalStorages storage_id="3" name="Hot Water Storage Tank" modelName="HF 500" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/>
<thermalStorages storage_id="4" name="Hot Water Storage Tank" modelName="HF 200" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/>
<thermalStorages storage_id="5" name="Hot Water Storage Tank" modelName="HF 200" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/>
<powerStorages/>
<manufacturers manufacturer_id="1" name="reflex" product="Storage Tank"/>
</energy_storage_components>
<materials>
<materials material_id="1" name="Polyurethane" thermalConductivity="0.028"/>
<materials material_id="2" name="Steel" thermalConductivity="18.0"/>
</materials>
<energysystemconfiguration configurationName="PvHpBoiler">
<components>
<boilers modelName="virtualBoiler" description="template boiler north america" nominalEfficiency="0.95"/>
<photovoltaicModules modelName="virtualPv" nominalEfficiency="0.2" width="1.0" height="1.0"/>
<heatPumps modelName="virtualHp" fuel="Electricity" heatSource="Ground" nominalCOP="2.5" supply_medium="water"/>
</components>
<demands name="heating"/>
<demands name="electricity"/>
<demands name="domesticHotWater"/>
</energysystemconfiguration>
<energysystemconfiguration configurationName="hpTesBoiler">
<components>
<boilers modelName="virtualBoiler" description="template boiler north america" nominalEfficiency="0.95"/>
<thermalStorages modelName="HF 200" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/>
<heatPumps modelName="virtualHp" fuel="Electricity" heatSource="Ground" nominalCOP="2.5" supply_medium="water"/>
</components>
<demands name="heating"/>
<demands name="electricity"/>
<demands name="domesticHotWater"/>
</energysystemconfiguration>
<energysystemconfiguration configurationName="hpTes"/>
<energydemand name="heating"/>
<energydemand name="domesticHotWater"/>
<energydemand name="electricity"/>
<energydemand name="cooling"/>
</EnergySystemComponentCatalog>

View File

@ -1,29 +1,204 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<EnergySystemComponentCatalog> <EnergySystemCatalog>
<energysystemconfiguration configurationName="PvHpBoiler"> <medias>
<components> <media media_id="1" media_name="Water" density="981.0" heatCapacity="4180.0" evaporationTemperature="100.0"/>
<boilers modelName="virtualBoiler" description="template boiler north america" nominalEfficiency="0.95"/> </medias>
<photovoltaicModules modelName="virtualPv" nominalEfficiency="0.2" width="1.0" height="1.0"/> <energy_generation_components>
<heatPumps modelName="virtualHp" fuel="Electricity" heatSource="Ground" nominalCOP="2.5" supply_medium="water"/> <boilers generation_id="1" name="Natural-Gas Boiler" modelName="ALP080B" manufacturer="Alpine" installedThermalPower="21.0" modulationRange="0.88" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
</components> <boilers generation_id="2" name="Natural-Gas Boiler" modelName="ALP105B" manufacturer="Alpine" installedThermalPower="28.0" modulationRange="0.88" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<demands name="heating"/> <boilers generation_id="3" name="Natural-Gas Boiler" modelName="ALP150B" manufacturer="Alpine" installedThermalPower="40.0" modulationRange="0.88" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<demands name="electricity"/> <boilers generation_id="4" name="Natural-Gas Boiler" modelName="ALP210B" manufacturer="Alpine" installedThermalPower="57.0" modulationRange="0.87" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<demands name="domesticHotWater"/> <boilers generation_id="5" name="Natural-Gas Boiler" modelName="ALTAC-136" manufacturer="Alta" installedThermalPower="33.0" modulationRange="0.95" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
</energysystemconfiguration> <boilers generation_id="6" name="Natural-Gas Boiler" modelName="ALTA-120" manufacturer="Alta" installedThermalPower="33.0" modulationRange="0.95" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<energysystemconfiguration configurationName="hpTesBoiler"> <boilers generation_id="7" name="Natural-Gas Boiler" modelName="ASPN-085" manufacturer="Aspen" installedThermalPower="23.15" modulationRange="0.97" nominalEfficiency="0.96" fuel="natural gas"/>
<components> <boilers generation_id="8" name="Natural-Gas Boiler" modelName="ASPN-110" manufacturer="Aspen" installedThermalPower="30.19" modulationRange="0.96" nominalEfficiency="0.96" fuel="natural gas"/>
<boilers modelName="virtualBoiler" description="template boiler north america" nominalEfficiency="0.95"/> <boilers generation_id="9" name="Natural-Gas Boiler" modelName="ASPNC-155" manufacturer="Aspen" installedThermalPower="42.5" modulationRange="0.96" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<thermalStorages modelName="HF 200" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/> <boilers generation_id="10" name="Natural-Gas Boiler" modelName="K2WTC-135B" manufacturer="K2" installedThermalPower="32.8" modulationRange="0.96" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
<heatPumps modelName="virtualHp" fuel="Electricity" heatSource="Ground" nominalCOP="2.5" supply_medium="water"/> <boilers generation_id="11" name="Natural-Gas Boiler" modelName="K2WTC-180B" manufacturer="K2" installedThermalPower="49.5" modulationRange="0.96" nominalEfficiency="0.95" combi="true" fuel="natural gas"/>
</components> <photovoltaicModules generation_id="12" name="Photovoltaic Module" modelName="445MS" manufacturer="Canadian Solar" nominalPower="334.0" nominalEfficiency="0.201" nominalRadiation="800.0" STCRadiation="1000.0" nominalCellTemperature="41.0" STCCellTemperature="26.0" nominalAmbientTemperature="20.0" STCMaxPower="445.0" CellTemperatureCoefficient="-0.0034" height="1.048" width="2.01"/>
<demands name="heating"/> <heatPumps generation_id="13" name="Air-to-Water Heat Pump" modelName="CMAA 012" description="A second degree equation is used in form of A*T_source^2 + B*T_source + C*T_source*T_sup + D*T_sup + E*T_sup^2 + F" manufacturer="TRANE" installedThermalPower="51.7" modulationRange="0.0" fuel="Electricity" heatSource="Air" nominalCOP="3.32" maxHeatingSupTemperature="55.0" minHeatingSupTemperature="6.0" maxCoolingSupTemperature="30.0" minCoolingSupTemperature="11.0" supply_medium="water">
<demands name="electricity"/> <performance_curve curve_type="second degree multivariable function">
<demands name="domesticHotWater"/> <parameters>COP</parameters>
</energysystemconfiguration> <parameters>source_temperature</parameters>
<energysystemconfiguration configurationName="hpTes"/> <parameters>supply_temperature</parameters>
<energydemand name="heating"/> <coefficients a="9.5E-4" b="0.177" c="-0.00242" d="-0.155" e="9.3E-4" f="8.044"/>
<energydemand name="domesticHotWater"/> </performance_curve>
<energydemand name="electricity"/> </heatPumps>
<energydemand name="cooling"/> <heatPumps generation_id="14" name="Air-to-Water Heat Pump" modelName="CMAA 70" description="A second degree equation is used in form of A*T_source^2 + B*T_source + C*T_source*T_sup + D*T_sup + E*T_sup^2 + F" manufacturer="TRANE" installedThermalPower="279.3" modulationRange="0.0" fuel="Electricity" heatSource="Air" nominalCOP="3.07" maxHeatingSupTemperature="55.0" minHeatingSupTemperature="6.0" maxCoolingSupTemperature="30.0" minCoolingSupTemperature="11.0" supply_medium="water">
</EnergySystemComponentCatalog> <performance_curve curve_type="second degree multivariable function">
<parameters>COP</parameters>
<parameters>source_temperature</parameters>
<parameters>supply_temperature</parameters>
<coefficients a="0.0011" b="0.207" c="-0.00292" d="-0.187" e="0.00121" f="8.95"/>
</performance_curve>
</heatPumps>
<heatPumps generation_id="15" name="Air-to-Water Heat Pump" modelName="CMAA 140" description="A second degree equation is used in form of A*T_source^2 + B*T_source + C*T_source*T_sup + D*T_sup + E*T_sup^2 + F" manufacturer="TRANE" installedThermalPower="279.3" modulationRange="0.0" fuel="Electricity" heatSource="Air" nominalCOP="3.46" maxHeatingSupTemperature="55.0" minHeatingSupTemperature="6.0" maxCoolingSupTemperature="30.0" minCoolingSupTemperature="11.0" supply_medium="water">
<performance_curve curve_type="second degree multivariable function">
<parameters>COP</parameters>
<parameters>source_temperature</parameters>
<parameters>supply_temperature</parameters>
<coefficients a="0.00109" b="0.209" c="-0.00291" d="-0.172" e="0.00102" f="8.95"/>
</performance_curve>
</heatPumps>
<templates generation_id="16" name="template Natural-Gas Boiler" nominalEfficiency="0.90"/>
<templates generation_id="17" name="template Electric Boiler" nominalEfficiency="0.95"/>
<templates generation_id="18" name="template Air-to-Water Heat Pump" fuel="Electricity" heatSource="Air" nominalCOP="3" supply_medium="water"/>
<templates generation_id="19" name="template Groundwater-to-Water Heat Pump" fuel="Electricity" heatSource="Ground" nominalCOP="3.5" supply_medium="water"/>
<templates generation_id="20" name="template Water-to-Water Heat Pump" fuel="Electricity" heatSource="Water" nominalCOP="3.5" supply_medium="water"/>
<templates generation_id="21" name="template Photovoltaic Module" nominalEfficiency="0.2" width="1.0" height="1.0"/>
<manufacturers manufacturer_id="1" name="Alpine" country="USA" product="Natural Gas Boiler"/>
<manufacturers manufacturer_id="2" name="Alta" country="USA" product="Natural Gas Boiler"/>
<manufacturers manufacturer_id="3" name="Aspen" country="USA" product="Natural Gas Boiler"/>
<manufacturers manufacturer_id="4" name="K2" country="USA" product="Natural Gas Boiler"/>
<manufacturers manufacturer_id="5" name="TRANE" product="Air-to-Water Heat Pump"/>
<manufacturers manufacturer_id="6" name="Canadian Solar" country="Canada" product="Photovoltaic Module"/>
</energy_generation_components>
<energy_storage_components>
<thermalStorages storage_id="1" name="Hot Water Storage Tank" modelName="HF 200" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/>
<thermalStorages storage_id="2" name="Hot Water Storage Tank" modelName="HF 300" manufacturer="reflex" volume="0.6" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.3" tankMaterial="Steel"/>
<thermalStorages storage_id="3" name="Hot Water Storage Tank" modelName="HF 500" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/>
<thermalStorages storage_id="4" name="Hot Water Storage Tank" modelName="HF 200" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/>
<thermalStorages storage_id="5" name="Hot Water Storage Tank" modelName="HF 200" manufacturer="reflex" volume="0.5" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" height="1.5" tankMaterial="Steel"/>
<templates storage_id="6" name="template Hot Water Storage Tank" maxTemp="95.0" insulationThickness="90.0" tankThickness="0" usesMedium="Water" insulationMaterial="Polyurethane" tankMaterial="Steel"/>
<powerStorages/>
<manufacturers manufacturer_id="1" name="reflex" product="Storage Tank"/>
</energy_storage_components>
<materials>
<material material_id="1" name="Polyurethane" thermalConductivity="0.028"/>
<material material_id="2" name="Steel" thermalConductivity="18.0"/>
</materials>
<systems>
<system id="1">
<name>Air Source Heat Pump with Natural Gas Boiler and thermal storage</name>
<demands>
<demand_id>1</demand_id>
<demand_id>2</demand_id>
</demands>
<components>
<generation_id>16</generation_id>
<generation_id>18</generation_id>
<storage_id>6</storage_id>
</components>
</system>
<system id="2">
<name>Air Source Heat Pump with Electrical Boiler and thermal storage</name>
<demands>
<demand_id>1</demand_id>
<demand_id>2</demand_id>
</demands>
<components>
<generation_id>17</generation_id>
<generation_id>18</generation_id>
<storage_id>6</storage_id>
</components>
</system>
<system id="3">
<name>Ground Source Heat Pump with Natural Gas Boiler and thermal storage</name>
<demands>
<demand_id>1</demand_id>
<demand_id>2</demand_id>
</demands>
<components>
<generation_id>16</generation_id>
<generation_id>19</generation_id>
<storage_id>6</storage_id>
</components>
</system>
<system id="4">
<name>Ground Source Heat Pump with Electrical Boiler and thermal storage</name>
<demands>
<demand_id>1</demand_id>
<demand_id>2</demand_id>
</demands>
<components>
<generation_id>17</generation_id>
<generation_id>19</generation_id>
<storage_id>6</storage_id>
</components>
</system>
<system id="5">
<name>Water Source Heat Pump with Natural Gas Boiler and thermal storage</name>
<demands>
<demand_id>1</demand_id>
<demand_id>2</demand_id>
</demands>
<components>
<generation_id>16</generation_id>
<generation_id>20</generation_id>
<storage_id>6</storage_id>
</components>
</system>
<system id="6">
<name>Water Source Heat Pump with Electrical Boiler and thermal storage</name>
<demands>
<demand_id>1</demand_id>
<demand_id>2</demand_id>
</demands>
<components>
<generation_id>17</generation_id>
<generation_id>20</generation_id>
<storage_id>6</storage_id>
</components>
</system>
<system id="7">
<name>Photovoltaic System</name>
<demands>
<demand_id>3</demand_id>
</demands>
<components>
<generation_id>21</generation_id>
</components>
</system>
</systems>
<system_archetypes>
<system_archetype id="1">
<name>PV+ASHP+GasBoiler+TES</name>
<systems>
<system_id>7</system_id>
<system_id>1</system_id>
</systems>
</system_archetype>
<system_archetype id="2">
<name>PV+ASHP+ElectricBoiler+TES</name>
<systems>
<system_id>7</system_id>
<system_id>2</system_id>
</systems>
</system_archetype>
<system_archetype id="3">
<name>PV+GSHP+GasBoiler+TES</name>
<systems>
<system_id>7</system_id>
<system_id>3</system_id>
</systems>
</system_archetype>
<system_archetype id="4">
<name>PV+GSHP+ElectricBoiler+TES</name>
<systems>
<system_id>7</system_id>
<system_id>4</system_id>
</systems>
</system_archetype>
<system_archetype id="5">
<name>PV+WSHP+GasBoiler+TES</name>
<systems>
<system_id>7</system_id>
<system_id>5</system_id>
</systems>
</system_archetype>
<system_archetype id="6">
<name>PV+WSHP+ElectricBoiler+TES</name>
<systems>
<system_id>7</system_id>
<system_id>6</system_id>
</systems>
</system_archetype>
</system_archetypes>
<energy_demands>
<demand demand_id="1" name="heating"/>
<demand demand_id="2" name="domesticHotWater"/>
<demand demand_id="3" name="electricity"/>
<demand demand_id="4" name="cooling"/>
</energy_demands>
</EnergySystemCatalog>