solved bugs in adapting montreal_custom_catalog.py to new catalog data

This commit is contained in:
Pilar Monsalvete 2023-08-29 13:29:51 -04:00
parent a5f70f4720
commit 56c84ad399
4 changed files with 27 additions and 17 deletions

View File

@ -69,4 +69,11 @@ class Content:
return content
def __str__(self):
"""Print content"""
_archetypes = []
for _archetype in self.archetypes:
_archetypes.append(_archetype.to_dictionary())
content = {'Archetypes': _archetypes}
return str(content)

View File

@ -9,7 +9,8 @@ Code contributors: Saeed Ranjbar saeed.ranjbar@concordia.ca
from typing import Union, List
from hub.catalog_factories.data_models.energy_systems.generation_system import GenerationSystem
from hub.catalog_factories.data_models.energy_systems.energy_storage_system import EnergyStorageSystem
from hub.catalog_factories.data_models.energy_systems.thermal_storage_system import ThermalStorageSystem
from hub.catalog_factories.data_models.energy_systems.electrical_storage_system import ElectricalStorageSystem
from hub.catalog_factories.data_models.energy_systems.distribution_system import DistributionSystem
from hub.catalog_factories.data_models.energy_systems.emission_system import EmissionSystem
@ -95,7 +96,7 @@ class System:
return self._emission_systems
@property
def energy_storage_systems(self) -> Union[None, List[EnergyStorageSystem]]:
def energy_storage_systems(self) -> Union[None, List[ThermalStorageSystem], List[ElectricalStorageSystem]]:
"""
Get energy storage systems
:return: [EnergyStorageSystem]

View File

@ -67,9 +67,11 @@ class ThermalStorageSystem(EnergyStorageSystem):
def to_dictionary(self):
"""Class content to dictionary"""
_layers = []
for _layer in self.layers:
_layers.append(_layer.to_dictionary())
_layers = None
if self.layers is not None:
_layers = []
for _layer in self.layers:
_layers.append(_layer.to_dictionary())
content = {'Storage component': {
'storage id': self.id,
'name': self.name,

View File

@ -162,33 +162,33 @@ class MontrealCustomCatalog(Catalog):
name = system['name']
demands = system['demands']['demand']
generation_equipment = system['equipments']['generation_id']
_generation_equipment = None
_generation_equipments = None
for equipment_archetype in self._catalog_generation_equipments:
if int(equipment_archetype.id) == int(generation_equipment):
_generation_equipment = equipment_archetype
_storage_equipment = None
_generation_equipments = [equipment_archetype]
_storage_equipments = None
for equipment_archetype in self._catalog_storage_equipments:
if int(equipment_archetype.id) == int(generation_equipment):
_storage_equipment = equipment_archetype
_storage_equipments = [equipment_archetype]
distribution_equipment = system['equipments']['distribution_id']
_distribution_equipment = None
_distribution_equipments = None
for equipment_archetype in self._catalog_distribution_equipments:
if int(equipment_archetype.id) == int(distribution_equipment):
_distribution_equipment = equipment_archetype
_distribution_equipments = [equipment_archetype]
emission_equipment = system['equipments']['dissipation_id']
_emission_equipment = None
_emission_equipments = None
for equipment_archetype in self._catalog_emission_equipments:
if int(equipment_archetype.id) == int(emission_equipment):
_emission_equipment = equipment_archetype
_emission_equipments = [equipment_archetype]
_catalog_systems.append(System(self._lod,
system_id,
name,
demands,
[_generation_equipment],
[_distribution_equipment],
[_emission_equipment],
[_storage_equipment]))
_generation_equipments,
_distribution_equipments,
_emission_equipments,
_storage_equipments))
return _catalog_systems
def _load_archetypes(self):