From 7810f8f91dff16563630d19168bf30803f539cda Mon Sep 17 00:00:00 2001 From: p_monsalvete Date: Tue, 29 Aug 2023 12:34:04 -0400 Subject: [PATCH] extracted storage type from abstract class --- .../energy_systems/electrical_storage_system.py | 11 ++++++++++- .../energy_systems/energy_storage_system.py | 12 +----------- .../energy_systems/thermal_storage_system.py | 11 ++++++++++- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/hub/catalog_factories/data_models/energy_systems/electrical_storage_system.py b/hub/catalog_factories/data_models/energy_systems/electrical_storage_system.py index 3cd5b31d..6f5d6d14 100644 --- a/hub/catalog_factories/data_models/energy_systems/electrical_storage_system.py +++ b/hub/catalog_factories/data_models/energy_systems/electrical_storage_system.py @@ -17,13 +17,22 @@ class ElectricalStorageSystem(EnergyStorageSystem): def __init__(self, storage_id, name, model_name, manufacturer, storage_type, nominal_capacity, losses_ratio, rated_output_power, nominal_efficiency, battery_voltage, depth_of_discharge, self_discharge_rate): - super().__init__(storage_id, name, model_name, manufacturer, storage_type, nominal_capacity, losses_ratio) + super().__init__(storage_id, name, model_name, manufacturer, nominal_capacity, losses_ratio) + self._storage_type = storage_type self._rated_output_power = rated_output_power self._nominal_efficiency = nominal_efficiency self._battery_voltage = battery_voltage self._depth_of_discharge = depth_of_discharge self._self_discharge_rate = self_discharge_rate + @property + def storage_type(self): + """ + Get storage type from ['electrical', 'lithium_ion', 'lead_acid', 'NiCd'] + :return: string + """ + return self._storage_type + @property def rated_output_power(self): """ diff --git a/hub/catalog_factories/data_models/energy_systems/energy_storage_system.py b/hub/catalog_factories/data_models/energy_systems/energy_storage_system.py index c0e3adef..a5302cb4 100644 --- a/hub/catalog_factories/data_models/energy_systems/energy_storage_system.py +++ b/hub/catalog_factories/data_models/energy_systems/energy_storage_system.py @@ -14,12 +14,11 @@ class EnergyStorageSystem(ABC): Energy Storage System Abstract Class """ - def __init__(self, storage_id, name, model_name, manufacturer, storage_type, nominal_capacity, losses_ratio): + def __init__(self, storage_id, name, model_name, manufacturer, nominal_capacity, losses_ratio): self._storage_id = storage_id self._name = name self._model_name = model_name self._manufacturer = manufacturer - self._storage_type = storage_type self._nominal_capacity = nominal_capacity self._losses_ratio = losses_ratio @@ -55,15 +54,6 @@ class EnergyStorageSystem(ABC): """ return self._manufacturer - @property - def storage_type(self): - """ - Get storage type from ['electricity', 'thermal', 'chemical', - 'lithium_ion', 'lead_acid', 'NiCd', 'sensible', 'latent'] - :return: string - """ - return self._storage_type - @property def nominal_capacity(self): """ diff --git a/hub/catalog_factories/data_models/energy_systems/thermal_storage_system.py b/hub/catalog_factories/data_models/energy_systems/thermal_storage_system.py index 574ca24c..679669a4 100644 --- a/hub/catalog_factories/data_models/energy_systems/thermal_storage_system.py +++ b/hub/catalog_factories/data_models/energy_systems/thermal_storage_system.py @@ -18,12 +18,21 @@ class ThermalStorageSystem(EnergyStorageSystem): def __init__(self, storage_id, name, model_name, manufacturer, storage_type, nominal_capacity, losses_ratio, volume, height, layers, maximum_operating_temperature): - super().__init__(storage_id, name, model_name, manufacturer, storage_type, nominal_capacity, losses_ratio) + super().__init__(storage_id, name, model_name, manufacturer, nominal_capacity, losses_ratio) + self._storage_type = storage_type self._volume = volume self._height = height self._layers = layers self._maximum_operating_temperature = maximum_operating_temperature + @property + def storage_type(self): + """ + Get storage type from ['thermal', 'sensible', 'latent'] + :return: string + """ + return self._storage_type + @property def volume(self): """