Bugfixing in packet

This commit is contained in:
Guille Gutierrez 2023-07-17 15:18:32 -04:00
parent 890171dc3a
commit d3bdf3d485
4 changed files with 24 additions and 33 deletions

View File

@ -1,32 +1,9 @@
""" """
Cost workflow initialization Cost workflow initialization
""" """
import glob
import os
from pathlib import Path
from .capital_costs import CapitalCosts from .capital_costs import CapitalCosts
from .end_of_life_costs import EndOfLifeCosts from .end_of_life_costs import EndOfLifeCosts
from .total_maintenance_costs import TotalMaintenanceCosts from .total_maintenance_costs import TotalMaintenanceCosts
from .total_operational_costs import TotalOperationalCosts from .total_operational_costs import TotalOperationalCosts
from .total_operational_incomes import TotalOperationalIncomes from .total_operational_incomes import TotalOperationalIncomes
# to remove
file_path = Path('./data/selected_building_2864.geojson').resolve()
CONSTRUCTION_FORMAT = 'nrcan'
USAGE_FORMAT = 'comnet'
ENERGY_SYSTEM_FORMAT = 'montreal_custom'
ATTIC_HEATED_CASE = 0
BASEMENT_HEATED_CASE = 1
CLIMATE_REFERENCE_CITY = 'Montreal'
WEATHER_FILE = 'CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw'
WEATHER_FORMAT = 'epw'
tmp_folder = Path('./tmp').resolve()
out_path = Path('./outputs').resolve()
files = glob.glob(f'{out_path}/*')
print('path', file_path)
for file in files:
if file != '.gitignore':
os.remove(file)

View File

@ -23,7 +23,8 @@ class Configuration:
retrofitting_year_construction, retrofitting_year_construction,
factories_handler, factories_handler,
retrofit_scenario, retrofit_scenario,
fuel_type fuel_type,
dictionary
): ):
self._number_of_years = number_of_years self._number_of_years = number_of_years
self._percentage_credit = percentage_credit self._percentage_credit = percentage_credit
@ -36,9 +37,10 @@ class Configuration:
self._discount_rate = discount_rate self._discount_rate = discount_rate
self._retrofitting_year_construction = retrofitting_year_construction self._retrofitting_year_construction = retrofitting_year_construction
self._factories_handler = factories_handler self._factories_handler = factories_handler
self._cost_catalog = CostsCatalogFactory(factories_handler).catalog self._costs_catalog = CostsCatalogFactory(factories_handler).catalog
self._retrofit_scenario = retrofit_scenario self._retrofit_scenario = retrofit_scenario
self._fuel_type = fuel_type self._fuel_type = fuel_type
self._dictionary = dictionary
@property @property
def number_of_years(self): def number_of_years(self):
@ -195,11 +197,11 @@ class Configuration:
self._factories_handler = value self._factories_handler = value
@property @property
def cost_catalog(self) -> Catalog: def costs_catalog(self) -> Catalog:
""" """
Get cost catalog Get costs catalog
""" """
return self._cost_catalog return self._costs_catalog
@property @property
def retrofit_scenario(self): def retrofit_scenario(self):
@ -214,3 +216,10 @@ class Configuration:
Get fuel type (0: Electricity, 1: Gas) Get fuel type (0: Electricity, 1: Gas)
""" """
return self._fuel_type return self._fuel_type
@property
def dictionary(self):
"""
Get hub function to cost function dictionary
"""
return self._dictionary

View File

@ -1,6 +1,7 @@
""" """
Cost module Cost module
""" """
import hub.helpers.dictionaries
import pandas as pd import pandas as pd
import numpy_financial as npf import numpy_financial as npf
from hub.city_model_structure.building import Building from hub.city_model_structure.building import Building
@ -28,7 +29,8 @@ class Cost:
discount_rate=0.03, discount_rate=0.03,
retrofitting_year_construction=2020, retrofitting_year_construction=2020,
factories_handler='montreal_custom', factories_handler='montreal_custom',
retrofit_scenario=CURRENT_STATUS): retrofit_scenario=CURRENT_STATUS,
dictionary=hub.helpers.dictionaries.Dictionaries().hub_function_to_montreal_custom_costs_function):
self._building = building self._building = building
fuel_type = 0 fuel_type = 0
if "gas" in building.energy_systems_archetype_name: if "gas" in building.energy_systems_archetype_name:
@ -44,7 +46,8 @@ class Cost:
retrofitting_year_construction, retrofitting_year_construction,
factories_handler, factories_handler,
retrofit_scenario, retrofit_scenario,
fuel_type) fuel_type,
dictionary)
@property @property
def building(self) -> Building: def building(self) -> Building:

View File

@ -3,6 +3,7 @@ Cost base module
""" """
from hub.city_model_structure.building import Building from hub.city_model_structure.building import Building
from hub.helpers.dictionaries import Dictionaries
from costs.configuration import Configuration from costs.configuration import Configuration
@ -19,13 +20,14 @@ class CostBase:
for thermal_zone in internal_zone.thermal_zones: for thermal_zone in internal_zone.thermal_zones:
self._total_floor_area += thermal_zone.total_floor_area self._total_floor_area += thermal_zone.total_floor_area
self._archetype = None self._archetype = None
for archetype in self._configuration.cost_catalog.entries('archetypes').archetype:
if str(building.function) == str(archetype.function): for archetype in self._configuration.costs_catalog.entries().archetypes:
if str(building.function) == configuration.dictionary[str(archetype.function)]:
self._archetype = archetype self._archetype = archetype
self._capital_costs_chapter = self._archetype.capital_cost self._capital_costs_chapter = self._archetype.capital_cost
break break
if not self._archetype: if not self._archetype:
raise KeyError('archetype not found') raise KeyError(f'archetype not found for function {building.function}')
self._capital_costs_chapter = None self._capital_costs_chapter = None
self._rng = range(configuration.number_of_years) self._rng = range(configuration.number_of_years)