import glob import sys import os from pathlib import Path from hub.imports.geometry_factory import GeometryFactory from hub.imports.construction_factory import ConstructionFactory from hub.imports.usage_factory import UsageFactory from hub.imports.weather_factory import WeatherFactory from hub.exports.energy_building_exports_factory import EnergyBuildingsExportsFactory from hub.helpers.dictionaries import Dictionaries sys.path.append('./') try: file_path = (Path(__file__).parent / 'data' / 'summerschool_onel_building.geojson') out_path = (Path(__file__).parent / 'out_files') files = glob.glob(f'{out_path}/*') for file in files: if file != '.gitignore': os.remove(file) print('[simulation start]') city = GeometryFactory('geojson', path=file_path, height_field='citygml_me', year_of_construction_field='ANNEE_CONS', function_field='CODE_UTILI', function_to_hub=Dictionaries().montreal_function_to_hub_function).city print(f'city created from {file_path}') ConstructionFactory('nrcan', city).enrich() print('enrich constructions... done') UsageFactory('nrcan', city).enrich() print('enrich usage... done') WeatherFactory('epw', city).enrich() print('enrich weather... done') print('exporting:') _idf = EnergyBuildingsExportsFactory('idf', city, out_path).export() print(' idf exported...') _idf.run() print('[simulation end]') except Exception as ex: print(ex) print('error: ', ex) print('[simulation abort]') sys.stdout.flush()