From eee55fc45340bf5f1e164cc669a596421ce53dee Mon Sep 17 00:00:00 2001 From: s_ranjbar Date: Wed, 11 Sep 2024 18:13:24 -0400 Subject: [PATCH] feat: cost optimization of heating system is completed --- .gitignore | 1 + .../energy_system_sizing_factory.py | 2 +- .../system_sizing_methods/heuristic_sizing.py | 67 +++++++++++++----- .../__pycache__/__init__.cpython-39.pyc | Bin 202 -> 0 bytes .../construction_helper.cpython-39.pyc | Bin 2164 -> 0 bytes .../__pycache__/eilat_catalog.cpython-39.pyc | Bin 6755 -> 0 bytes .../__pycache__/nrcan_catalog.cpython-39.pyc | Bin 6810 -> 0 bytes .../__pycache__/nrel_catalog.cpython-39.pyc | Bin 6889 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 201 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 214 -> 0 bytes .../__pycache__/archetype.cpython-39.pyc | Bin 4574 -> 0 bytes .../__pycache__/construction.cpython-39.pyc | Bin 2576 -> 0 bytes .../__pycache__/content.cpython-39.pyc | Bin 1964 -> 0 bytes .../__pycache__/layer.cpython-39.pyc | Bin 1865 -> 0 bytes .../__pycache__/material.cpython-39.pyc | Bin 3499 -> 0 bytes .../__pycache__/window.cpython-39.pyc | Bin 2277 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 216 -> 0 bytes .../__pycache__/archetype.cpython-39.pyc | Bin 1715 -> 0 bytes .../__pycache__/content.cpython-39.pyc | Bin 2085 -> 0 bytes .../distribution_system.cpython-39.pyc | Bin 5286 -> 0 bytes .../electrical_storage_system.cpython-39.pyc | Bin 3622 -> 0 bytes .../emission_system.cpython-39.pyc | Bin 1989 -> 0 bytes .../energy_storage_system.cpython-39.pyc | Bin 2555 -> 0 bytes .../generation_system.cpython-39.pyc | Bin 3601 -> 0 bytes .../non_pv_generation_system.cpython-39.pyc | Bin 11617 -> 0 bytes .../performance_curves.cpython-39.pyc | Bin 2777 -> 0 bytes .../pv_generation_system.cpython-39.pyc | Bin 5569 -> 0 bytes .../__pycache__/system.cpython-39.pyc | Bin 3224 -> 0 bytes .../thermal_storage_system.cpython-39.pyc | Bin 4148 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 208 -> 0 bytes .../__pycache__/appliances.cpython-39.pyc | Bin 2529 -> 0 bytes .../usages/__pycache__/content.cpython-39.pyc | Bin 1436 -> 0 bytes .../domestic_hot_water.cpython-39.pyc | Bin 2422 -> 0 bytes .../__pycache__/lighting.cpython-39.pyc | Bin 2513 -> 0 bytes .../__pycache__/occupancy.cpython-39.pyc | Bin 2807 -> 0 bytes .../__pycache__/schedule.cpython-39.pyc | Bin 2808 -> 0 bytes .../thermal_control.cpython-39.pyc | Bin 3547 -> 0 bytes .../usages/__pycache__/usage.cpython-39.pyc | Bin 4375 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 204 -> 0 bytes .../montreal_custom_catalog.cpython-39.pyc | Bin 7643 -> 0 bytes ...eal_future_system_catalogue.cpython-39.pyc | Bin 14875 -> 0 bytes ...erica_energy_system_catalog.cpython-39.pyc | Bin 13483 -> 0 bytes .../usage/__pycache__/__init__.cpython-39.pyc | Bin 195 -> 0 bytes .../__pycache__/comnet_catalog.cpython-39.pyc | Bin 7299 -> 0 bytes .../__pycache__/eilat_catalog.cpython-39.pyc | Bin 7260 -> 0 bytes .../__pycache__/nrcan_catalog.cpython-39.pyc | Bin 7463 -> 0 bytes .../__pycache__/usage_helper.cpython-39.pyc | Bin 4261 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 203 -> 0 bytes .../__pycache__/plane.cpython-39.pyc | Bin 2454 -> 0 bytes .../__pycache__/point.cpython-39.pyc | Bin 1350 -> 0 bytes .../__pycache__/polygon.cpython-39.pyc | Bin 11163 -> 0 bytes .../__pycache__/polyhedron.cpython-39.pyc | Bin 6451 -> 0 bytes .../__pycache__/schedule.cpython-39.pyc | Bin 3915 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 208 -> 0 bytes .../__pycache__/appliances.cpython-39.pyc | Bin 3061 -> 0 bytes .../__pycache__/construction.cpython-39.pyc | Bin 3928 -> 0 bytes .../domestic_hot_water.cpython-39.pyc | Bin 2808 -> 0 bytes .../__pycache__/household.cpython-39.pyc | Bin 1209 -> 0 bytes .../__pycache__/internal_gain.cpython-39.pyc | Bin 3679 -> 0 bytes .../__pycache__/internal_zone.cpython-39.pyc | Bin 4697 -> 0 bytes .../__pycache__/layer.cpython-39.pyc | Bin 5310 -> 0 bytes .../__pycache__/lighting.cpython-39.pyc | Bin 3037 -> 0 bytes .../__pycache__/occupancy.cpython-39.pyc | Bin 3394 -> 0 bytes .../__pycache__/surface.cpython-39.pyc | Bin 11230 -> 0 bytes .../thermal_archetype.cpython-39.pyc | Bin 4124 -> 0 bytes .../thermal_boundary.cpython-39.pyc | Bin 9493 -> 0 bytes .../thermal_control.cpython-39.pyc | Bin 4905 -> 0 bytes .../thermal_opening.cpython-39.pyc | Bin 5676 -> 0 bytes .../__pycache__/thermal_zone.cpython-39.pyc | Bin 16207 -> 0 bytes .../__pycache__/usage.cpython-39.pyc | Bin 7293 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 207 -> 0 bytes .../__pycache__/control_system.cpython-39.pyc | Bin 1120 -> 0 bytes .../distribution_system.cpython-39.pyc | Bin 5601 -> 0 bytes .../electrical_storage_system.cpython-39.pyc | Bin 3287 -> 0 bytes .../emission_system.cpython-39.pyc | Bin 1927 -> 0 bytes .../energy_storage_system.cpython-39.pyc | Bin 3408 -> 0 bytes .../__pycache__/energy_system.cpython-39.pyc | Bin 4518 -> 0 bytes .../generation_system.cpython-39.pyc | Bin 4877 -> 0 bytes ...generic_distribution_system.cpython-39.pyc | Bin 3365 -> 0 bytes .../generic_emission_system.cpython-39.pyc | Bin 1265 -> 0 bytes .../generic_energy_system.cpython-39.pyc | Bin 3940 -> 0 bytes .../generic_generation_system.cpython-39.pyc | Bin 10538 -> 0 bytes .../generic_storage_system.cpython-39.pyc | Bin 2321 -> 0 bytes .../non_pv_generation_system.cpython-39.pyc | Bin 14674 -> 0 bytes .../performance_curve.cpython-39.pyc | Bin 4052 -> 0 bytes .../pv_generation_system.cpython-39.pyc | Bin 6081 -> 0 bytes .../thermal_storage_system.cpython-39.pyc | Bin 3320 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 201 -> 0 bytes .../greenery/__pycache__/plant.cpython-39.pyc | Bin 3004 -> 0 bytes .../greenery/__pycache__/soil.cpython-39.pyc | Bin 3782 -> 0 bytes .../__pycache__/vegetation.cpython-39.pyc | Bin 2468 -> 0 bytes .../iot/__pycache__/__init__.cpython-39.pyc | Bin 196 -> 0 bytes .../iot/__pycache__/sensor.cpython-39.pyc | Bin 2273 -> 0 bytes .../__pycache__/sensor_measure.cpython-39.pyc | Bin 1500 -> 0 bytes .../__pycache__/sensor_type.cpython-39.pyc | Bin 884 -> 0 bytes .../iot/__pycache__/station.cpython-39.pyc | Bin 1530 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 195 -> 0 bytes .../__pycache__/energy_ade.cpython-39.pyc | Bin 11344 -> 0 bytes .../__pycache__/idf.cpython-39.pyc | Bin 24840 -> 0 bytes .../insel/__pycache__/__init__.cpython-39.pyc | Bin 201 -> 0 bytes ...nsel_monthly_energy_balance.cpython-39.pyc | Bin 9270 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 187 -> 0 bytes .../formats/__pycache__/obj.cpython-39.pyc | Bin 3295 -> 0 bytes ...plified_radiosity_algorithm.cpython-39.pyc | Bin 4306 -> 0 bytes .../formats/__pycache__/stl.cpython-39.pyc | Bin 850 -> 0 bytes .../__pycache__/triangular.cpython-39.pyc | Bin 1478 -> 0 bytes .../data/__pycache__/__init__.cpython-39.pyc | Bin 184 -> 0 bytes ...is_function_to_hub_function.cpython-39.pyc | Bin 5779 -> 0 bytes ...at_function_to_hub_function.cpython-39.pyc | Bin 1224 -> 0 bytes ...ft_function_to_hub_function.cpython-39.pyc | Bin 1553 -> 0 bytes ...eilat_construction_function.cpython-39.pyc | Bin 1324 -> 0 bytes ...treal_custom_costs_function.cpython-39.pyc | Bin 2774 -> 0 bytes ...nrcan_construction_function.cpython-39.pyc | Bin 2948 -> 0 bytes ..._nrel_construction_function.cpython-39.pyc | Bin 2984 -> 0 bytes .../hub_usage_to_comnet_usage.cpython-39.pyc | Bin 3175 -> 0 bytes .../hub_usage_to_eilat_usage.cpython-39.pyc | Bin 1232 -> 0 bytes .../hub_usage_to_hft_usage.cpython-39.pyc | Bin 2955 -> 0 bytes .../hub_usage_to_nrcan_usage.cpython-39.pyc | Bin 3109 -> 0 bytes ...eal_custom_fuel_to_hub_fuel.cpython-39.pyc | Bin 1211 -> 0 bytes ...e_to_hub_energy_demand_type.cpython-39.pyc | Bin 1361 -> 0 bytes ...al_function_to_hub_function.cpython-39.pyc | Bin 9155 -> 0 bytes ...ub_energy_generation_system.cpython-39.pyc | Bin 1469 -> 0 bytes ...ub_energy_generation_system.cpython-39.pyc | Bin 2560 -> 0 bytes ...ica_custom_fuel_to_hub_fuel.cpython-39.pyc | Bin 1295 -> 0 bytes ...e_to_hub_energy_demand_type.cpython-39.pyc | Bin 1378 -> 0 bytes ...orage_system_to_hub_storage.cpython-39.pyc | Bin 1317 -> 0 bytes ...ub_energy_generation_system.cpython-39.pyc | Bin 1566 -> 0 bytes ...to_function_to_hub_function.cpython-39.pyc | Bin 3327 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 196 -> 0 bytes .../loads_calculation.cpython-39.pyc | Bin 4830 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 192 -> 0 bytes .../eilat_physics_parameters.cpython-39.pyc | Bin 4312 -> 0 bytes .../nrcan_physics_parameters.cpython-39.pyc | Bin 4191 -> 0 bytes .../nrel_physics_parameters.cpython-39.pyc | Bin 4272 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 200 -> 0 bytes .../construction_helper.cpython-39.pyc | Bin 2950 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 194 -> 0 bytes ...om_energy_system_parameters.cpython-39.pyc | Bin 5405 -> 0 bytes ...e_energy_systems_parameters.cpython-39.pyc | Bin 6888 -> 0 bytes ...om_energy_system_parameters.cpython-39.pyc | Bin 5688 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 188 -> 0 bytes .../__pycache__/citygml.cpython-39.pyc | Bin 5879 -> 0 bytes .../__pycache__/geojson.cpython-39.pyc | Bin 8220 -> 0 bytes .../geometry/__pycache__/obj.cpython-39.pyc | Bin 2605 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 204 -> 0 bytes .../__pycache__/citygml_base.cpython-39.pyc | Bin 1513 -> 0 bytes .../__pycache__/citygml_lod1.cpython-39.pyc | Bin 3069 -> 0 bytes .../__pycache__/citygml_lod2.cpython-39.pyc | Bin 3374 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 196 -> 0 bytes .../geometry_helper.cpython-39.pyc | Bin 3677 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 187 -> 0 bytes .../__pycache__/energy_plus.cpython-39.pyc | Bin 3320 -> 0 bytes ...energy_plus_single_building.cpython-39.pyc | Bin 3408 -> 0 bytes .../energy_plus_workflow.cpython-39.pyc | Bin 3325 -> 0 bytes .../ep_multiple_buildings.cpython-39.pyc | Bin 3756 -> 0 bytes ...sel_monthly_energry_balance.cpython-39.pyc | Bin 3914 -> 0 bytes ...plified_radiosity_algorithm.cpython-39.pyc | Bin 2336 -> 0 bytes .../usage/__pycache__/__init__.cpython-39.pyc | Bin 185 -> 0 bytes .../comnet_usage_parameters.cpython-39.pyc | Bin 7126 -> 0 bytes .../eilat_usage_parameters.cpython-39.pyc | Bin 7111 -> 0 bytes .../nrcan_usage_parameters.cpython-39.pyc | Bin 6159 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 187 -> 0 bytes .../epw_weather_parameters.cpython-39.pyc | Bin 5672 -> 0 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 195 -> 0 bytes .../__pycache__/weather.cpython-39.pyc | Bin 3444 -> 0 bytes main.py | 3 +- .../__pycache__/manga_scrapper.cpython-38.pyc | Bin 1829 -> 0 bytes .../test_results_import.cpython-39.pyc | Bin 5470 -> 0 bytes .../test_systems_catalog.cpython-39.pyc | Bin 2051 -> 0 bytes .../test_systems_factory.cpython-39.pyc | Bin 5244 -> 0 bytes 170 files changed, 54 insertions(+), 19 deletions(-) delete mode 100644 hub/catalog_factories/construction/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/catalog_factories/construction/__pycache__/construction_helper.cpython-39.pyc delete mode 100644 hub/catalog_factories/construction/__pycache__/eilat_catalog.cpython-39.pyc delete mode 100644 hub/catalog_factories/construction/__pycache__/nrcan_catalog.cpython-39.pyc delete mode 100644 hub/catalog_factories/construction/__pycache__/nrel_catalog.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/construction/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/construction/__pycache__/archetype.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/construction/__pycache__/construction.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/construction/__pycache__/content.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/construction/__pycache__/layer.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/construction/__pycache__/material.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/construction/__pycache__/window.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/archetype.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/content.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/distribution_system.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/electrical_storage_system.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/emission_system.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/energy_storage_system.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/generation_system.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/non_pv_generation_system.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/performance_curves.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/pv_generation_system.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/system.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/energy_systems/__pycache__/thermal_storage_system.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/usages/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/usages/__pycache__/appliances.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/usages/__pycache__/content.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/usages/__pycache__/domestic_hot_water.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/usages/__pycache__/lighting.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/usages/__pycache__/occupancy.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/usages/__pycache__/schedule.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/usages/__pycache__/thermal_control.cpython-39.pyc delete mode 100644 hub/catalog_factories/data_models/usages/__pycache__/usage.cpython-39.pyc delete mode 100644 hub/catalog_factories/energy_systems/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/catalog_factories/energy_systems/__pycache__/montreal_custom_catalog.cpython-39.pyc delete mode 100644 hub/catalog_factories/energy_systems/__pycache__/montreal_future_system_catalogue.cpython-39.pyc delete mode 100644 hub/catalog_factories/energy_systems/__pycache__/north_america_energy_system_catalog.cpython-39.pyc delete mode 100644 hub/catalog_factories/usage/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/catalog_factories/usage/__pycache__/comnet_catalog.cpython-39.pyc delete mode 100644 hub/catalog_factories/usage/__pycache__/eilat_catalog.cpython-39.pyc delete mode 100644 hub/catalog_factories/usage/__pycache__/nrcan_catalog.cpython-39.pyc delete mode 100644 hub/catalog_factories/usage/__pycache__/usage_helper.cpython-39.pyc delete mode 100644 hub/city_model_structure/attributes/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/city_model_structure/attributes/__pycache__/plane.cpython-39.pyc delete mode 100644 hub/city_model_structure/attributes/__pycache__/point.cpython-39.pyc delete mode 100644 hub/city_model_structure/attributes/__pycache__/polygon.cpython-39.pyc delete mode 100644 hub/city_model_structure/attributes/__pycache__/polyhedron.cpython-39.pyc delete mode 100644 hub/city_model_structure/attributes/__pycache__/schedule.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/appliances.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/construction.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/domestic_hot_water.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/household.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/internal_gain.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/internal_zone.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/layer.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/lighting.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/occupancy.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/surface.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/thermal_archetype.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/thermal_boundary.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/thermal_control.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/thermal_opening.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/thermal_zone.cpython-39.pyc delete mode 100644 hub/city_model_structure/building_demand/__pycache__/usage.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/control_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/distribution_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/electrical_storage_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/emission_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/energy_storage_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/energy_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/generation_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/generic_distribution_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/generic_emission_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/generic_energy_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/generic_generation_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/generic_storage_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/non_pv_generation_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/performance_curve.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/pv_generation_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/energy_systems/__pycache__/thermal_storage_system.cpython-39.pyc delete mode 100644 hub/city_model_structure/greenery/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/city_model_structure/greenery/__pycache__/plant.cpython-39.pyc delete mode 100644 hub/city_model_structure/greenery/__pycache__/soil.cpython-39.pyc delete mode 100644 hub/city_model_structure/greenery/__pycache__/vegetation.cpython-39.pyc delete mode 100644 hub/city_model_structure/iot/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/city_model_structure/iot/__pycache__/sensor.cpython-39.pyc delete mode 100644 hub/city_model_structure/iot/__pycache__/sensor_measure.cpython-39.pyc delete mode 100644 hub/city_model_structure/iot/__pycache__/sensor_type.cpython-39.pyc delete mode 100644 hub/city_model_structure/iot/__pycache__/station.cpython-39.pyc delete mode 100644 hub/exports/building_energy/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/exports/building_energy/__pycache__/energy_ade.cpython-39.pyc delete mode 100644 hub/exports/building_energy/__pycache__/idf.cpython-39.pyc delete mode 100644 hub/exports/building_energy/insel/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/exports/building_energy/insel/__pycache__/insel_monthly_energy_balance.cpython-39.pyc delete mode 100644 hub/exports/formats/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/exports/formats/__pycache__/obj.cpython-39.pyc delete mode 100644 hub/exports/formats/__pycache__/simplified_radiosity_algorithm.cpython-39.pyc delete mode 100644 hub/exports/formats/__pycache__/stl.cpython-39.pyc delete mode 100644 hub/exports/formats/__pycache__/triangular.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/alkis_function_to_hub_function.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/eilat_function_to_hub_function.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/hft_function_to_hub_function.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/hub_function_to_eilat_construction_function.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/hub_function_to_montreal_custom_costs_function.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/hub_function_to_nrcan_construction_function.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/hub_function_to_nrel_construction_function.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/hub_usage_to_comnet_usage.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/hub_usage_to_eilat_usage.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/hub_usage_to_hft_usage.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/hub_usage_to_nrcan_usage.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/montreal_custom_fuel_to_hub_fuel.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/montreal_demand_type_to_hub_energy_demand_type.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/montreal_function_to_hub_function.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/montreal_generation_system_to_hub_energy_generation_system.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/montreal_system_to_hub_energy_generation_system.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/north_america_custom_fuel_to_hub_fuel.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/north_america_demand_type_to_hub_energy_demand_type.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/north_america_storage_system_to_hub_storage.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/north_america_system_to_hub_energy_generation_system.cpython-39.pyc delete mode 100644 hub/helpers/data/__pycache__/pluto_function_to_hub_function.cpython-39.pyc delete mode 100644 hub/helpers/peak_calculation/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/helpers/peak_calculation/__pycache__/loads_calculation.cpython-39.pyc delete mode 100644 hub/imports/construction/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/construction/__pycache__/eilat_physics_parameters.cpython-39.pyc delete mode 100644 hub/imports/construction/__pycache__/nrcan_physics_parameters.cpython-39.pyc delete mode 100644 hub/imports/construction/__pycache__/nrel_physics_parameters.cpython-39.pyc delete mode 100644 hub/imports/construction/helpers/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/construction/helpers/__pycache__/construction_helper.cpython-39.pyc delete mode 100644 hub/imports/energy_systems/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/energy_systems/__pycache__/montreal_custom_energy_system_parameters.cpython-39.pyc delete mode 100644 hub/imports/energy_systems/__pycache__/montreal_future_energy_systems_parameters.cpython-39.pyc delete mode 100644 hub/imports/energy_systems/__pycache__/north_america_custom_energy_system_parameters.cpython-39.pyc delete mode 100644 hub/imports/geometry/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/geometry/__pycache__/citygml.cpython-39.pyc delete mode 100644 hub/imports/geometry/__pycache__/geojson.cpython-39.pyc delete mode 100644 hub/imports/geometry/__pycache__/obj.cpython-39.pyc delete mode 100644 hub/imports/geometry/citygml_classes/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/geometry/citygml_classes/__pycache__/citygml_base.cpython-39.pyc delete mode 100644 hub/imports/geometry/citygml_classes/__pycache__/citygml_lod1.cpython-39.pyc delete mode 100644 hub/imports/geometry/citygml_classes/__pycache__/citygml_lod2.cpython-39.pyc delete mode 100644 hub/imports/geometry/helpers/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/geometry/helpers/__pycache__/geometry_helper.cpython-39.pyc delete mode 100644 hub/imports/results/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/results/__pycache__/energy_plus.cpython-39.pyc delete mode 100644 hub/imports/results/__pycache__/energy_plus_single_building.cpython-39.pyc delete mode 100644 hub/imports/results/__pycache__/energy_plus_workflow.cpython-39.pyc delete mode 100644 hub/imports/results/__pycache__/ep_multiple_buildings.cpython-39.pyc delete mode 100644 hub/imports/results/__pycache__/insel_monthly_energry_balance.cpython-39.pyc delete mode 100644 hub/imports/results/__pycache__/simplified_radiosity_algorithm.cpython-39.pyc delete mode 100644 hub/imports/usage/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/usage/__pycache__/comnet_usage_parameters.cpython-39.pyc delete mode 100644 hub/imports/usage/__pycache__/eilat_usage_parameters.cpython-39.pyc delete mode 100644 hub/imports/usage/__pycache__/nrcan_usage_parameters.cpython-39.pyc delete mode 100644 hub/imports/weather/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/weather/__pycache__/epw_weather_parameters.cpython-39.pyc delete mode 100644 hub/imports/weather/helpers/__pycache__/__init__.cpython-39.pyc delete mode 100644 hub/imports/weather/helpers/__pycache__/weather.cpython-39.pyc delete mode 100644 scripts/__pycache__/manga_scrapper.cpython-38.pyc delete mode 100644 tests/__pycache__/test_results_import.cpython-39.pyc delete mode 100644 tests/__pycache__/test_systems_catalog.cpython-39.pyc delete mode 100644 tests/__pycache__/test_systems_factory.cpython-39.pyc diff --git a/.gitignore b/.gitignore index 83b5876a..8f33d7fb 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ cerc_hub.egg-info /out_files /input_files/output_buildings.geojson +*.pyc diff --git a/energy_system_modelling_package/energy_system_modelling_factories/energy_system_sizing_factory.py b/energy_system_modelling_package/energy_system_modelling_factories/energy_system_sizing_factory.py index 3ec9b7dc..72ac623b 100644 --- a/energy_system_modelling_package/energy_system_modelling_factories/energy_system_sizing_factory.py +++ b/energy_system_modelling_package/energy_system_modelling_factories/energy_system_sizing_factory.py @@ -34,7 +34,7 @@ class EnergySystemsSizingFactory: """ Size Energy Systems using a Single or Multi Objective GA """ - HeuristicSizing(self._city).genetic_algorithm() + HeuristicSizing(self._city).enrich_buildings() self._city.level_of_detail.energy_systems = 1 for building in self._city.buildings: building.level_of_detail.energy_systems = 1 diff --git a/energy_system_modelling_package/energy_system_modelling_factories/system_sizing_methods/heuristic_sizing.py b/energy_system_modelling_package/energy_system_modelling_factories/system_sizing_methods/heuristic_sizing.py index 9d87c6d2..4812df5f 100644 --- a/energy_system_modelling_package/energy_system_modelling_factories/system_sizing_methods/heuristic_sizing.py +++ b/energy_system_modelling_package/energy_system_modelling_factories/system_sizing_methods/heuristic_sizing.py @@ -8,7 +8,7 @@ from energy_system_modelling_package.energy_system_modelling_factories.montreal_ class HeuristicSizing: - def __init__(self, city, population_size=20, generations=100, crossover_rate=0.8, mutation_rate=0.1, + def __init__(self, city, population_size=4, generations=5, crossover_rate=0.8, mutation_rate=0.1, optimization_scenario='cost', output_path=None): self.city = city self.population_size = population_size @@ -23,23 +23,24 @@ class HeuristicSizing: best_individuals = [] min_fitness_scores = [] for building in self.city.buildings: + print(building.name) population = self.initialize_population(building) for generation in range(self.generations): fitness_scores = self.evaluate_population(building, population) - print(f"Generation {generation}, Best Fitness: {min(fitness_scores)}") selected_population = self.tournament_selection(population, fitness_scores) next_population = [] for i in range(0, self.population_size, 2): parent1, parent2 = selected_population[i], selected_population[i + 1] child1, child2 = self.crossover(parent1, parent2) - next_population.extend([self.mutate(child1), self.mutate(child2)]) + next_population.extend([self.mutate(child1, building), self.mutate(child2, building)]) population = next_population - # Evaluate final population + # # Evaluate final population fitness_scores = self.evaluate_population(building, population) best_index = fitness_scores.index(min(fitness_scores)) best_individual = population[best_index] best_individuals.append(best_individual) min_fitness_scores.append(min(fitness_scores)) + print("best individuals are", best_individuals) return best_individuals, min_fitness_scores @staticmethod @@ -77,6 +78,7 @@ class HeuristicSizing: if storage_component['storage_type'] == cte.THERMAL: max_available_space = 0.01 * building.volume / building.storeys_above_ground storage_component['volume'] = random.uniform(0, max_available_space) + heating_system_population.append(individual_components) return heating_system_population @@ -94,31 +96,44 @@ class HeuristicSizing: selected = [] for _ in range(len(population)): i, j = random.sample(range(len(population)), 2) + # Append a deep copy to avoid modifying the original individual if fitness_scores[i] < fitness_scores[j]: - selected.append(population[i]) + selected.append(copy.deepcopy(population[i])) else: - selected.append(population[j]) + selected.append(copy.deepcopy(population[j])) return selected # Crossover (Uniform Crossover) def crossover(self, parent1, parent2): if random.random() < self.crossover_rate: - child1, child2 = parent1[:], parent2[:] - for i in range(len(parent1)): + child1, child2 = copy.deepcopy(parent1), copy.deepcopy(parent2) + for key in parent1: if random.random() < 0.5: - child1[i], child2[i] = child2[i], child1[i] + child1[key], child2[key] = child2[key], child1[key] return child1, child2 else: - return parent1, parent2 + return copy.deepcopy(parent1), copy.deepcopy(parent2) # Mutation - def mutate(self, individual): - for i in range(len(individual)): + def mutate(self, individual, building): + """ + Mutates the individual's generation and storage components. + - `individual`: the individual to mutate (contains generation and storage components). + - `building`: building data that contains constraints such as peak heating load and available space. + """ + # Mutate generation components + for generation_component in individual['generation_components']: if random.random() < self.mutation_rate: - if i == 3: # cutoff_temp - individual[i] = random.uniform(40, 60) - else: - individual[i] = random.uniform(0.1, 10.0) + # Mutate the 'capacity' within the range of 0 to the building's peak heating load + generation_component['capacity'] = random.uniform(0, building.heating_peak_load[cte.YEAR][0]) + + # Mutate storage components + for storage_component in individual['storage_components']: + if storage_component['storage_type'] == cte.THERMAL and random.random() < self.mutation_rate: + # Mutate the 'volume' within the available space in the building + max_available_space = 0.01 * building.volume / building.storeys_above_ground + storage_component['volume'] = random.uniform(0, max_available_space) + return individual def life_cycle_cost(self, building, population): @@ -153,7 +168,25 @@ class HeuristicSizing: def enrich_buildings(self): best_individuals, best_fitness_scores = self.genetic_algorithm() - for building in self.city.buildings: + for (i, building) in enumerate(self.city.buildings): energy_systems = building.energy_systems + best_individual = best_individuals[i] + # best_fitness_score = best_fitness_scores[i] + for energy_system in energy_systems: + if cte.HEATING in energy_system.demand_types: + for generation_system in energy_system.generation_systems: + system_type = generation_system.system_type + for generation_component in best_individual['generation_components']: + if generation_component['type'] == system_type: + generation_system.nominal_heat_output = generation_component['capacity'] + if generation_system.energy_storage_systems is not None: + for storage_system in generation_system.energy_storage_systems: + storage_type = storage_system.type_energy_stored + for storage_component in best_individual['storage_components']: + if storage_component['storage_type'] == storage_type: + storage_system.volume = storage_component['volume'] + + + diff --git a/hub/catalog_factories/construction/__pycache__/__init__.cpython-39.pyc b/hub/catalog_factories/construction/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index f48388586be5471c0be371f1c3aab88bad682c44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmYk0F$w}P5Jj^fBElZT#si3mU@r?|7YH$%-Hj$0nM_!6B=2Ko>k%vjE0an;{P+34 z7)I9hoMpZ5)2`&R;9pfP+w3sOXxV`+s{M^&nSc1eZpDv5W8l#t0P!ZNL85CA&RS96 z+H35S2q}YkJJq N`9`#QQyzI`voAkEJ177E diff --git a/hub/catalog_factories/construction/__pycache__/construction_helper.cpython-39.pyc b/hub/catalog_factories/construction/__pycache__/construction_helper.cpython-39.pyc deleted file mode 100644 index d54eb8f40213ba4444ab0ededaea658c43a1f5de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2164 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 CCIJZm diff --git a/hub/catalog_factories/data_models/__pycache__/__init__.cpython-39.pyc b/hub/catalog_factories/data_models/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 670627b602591b09a074348a77189f0e732363f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmYk0JqiLb5QVcKB7z68@c<$s*vo?04TPA@{%DesnJi0=K3S!T L-kNp(Rxis(Rk^xG|t&j%MR&OIqaZm51>_44r^H{9g(bIC{yyiX3!WoQmdoI08-ju Uqm=V=f1fN@GpX3+K$F_W;lAw*fDhNzQ!^vd!VuGOJgU)au2m?zVj>G zSlaYlKM)-&usxSpW?(vAgWM6;J`cKWUV6BF_YqkkTeihrpM&-}<8ENrZ7$Zy*8S}* z7`m}~4WuW?iem;`z>@8*up9dU`Ry%PySBDQ;31YLm~E2HdtYsmhVVM=(zfuL+zMcl zaY62PY{%hn3Seo$d!!);M9W)k#A7W_cmdzA;?-6yv-Bqzp;h&$tQunBp!&(e#ReSy zFCe(Kql1GCrh_XCmO0RNvOLGKEO(&2)OYfr=UGAO1<;FZO6o<>OKe)|Q#{8@4V{%= z>8!$L4zlpOX_!C3X61Yt^pk8(>J`xE*@Dz(Kwo4_Qa=IuDRx@wv!E}tGg3bZ`dM~P z>T~Qodk^rCd`4%hIx>=umCb27C{!mDUijm1ac~z23ZQrAg7rIX!Hlwa+IMqi*nR8TRfVg z^^Pk8DXLJ*v0D%gwCA}zTA;9J!!V<5E^LoQGh?HEv_#FPT$l|`{lF8vOZPcOQFM|9 z`&_h4hgxRawCtc8eL(s1K$z6=eC|`$;WY4ucRdz1Yj9l8c9|_8#$YAD!l*DI%%c?; zuiFm%9)lhSIjwtwKE=p}5XM2j>j%6=y?Q;m@(#DV)k>80xl@nIW}HLlp{#UJap<4& zn0w}vyi-vJ{b(`SH?#k7&BYX+Sxk1!m3Q*X<@9&EZ#8iq;_shubG`Pp&xK#>w1npc zwe7C8Z;IBS7Wg&pa?$9b1C_RA*aTVIf&%wz1V%v1(XPP}qnR0@!39&|xt@S0PKt?`(7lP6=3(Mv z1(ULA@uDel-AuqWNKt|nY$CS8By0;Xv7umF8u?4jedt{IepIAHdM62~Qe3eK5HgIk z-A!d~PtHNmO-(|*1QVYrs81=Vm4*D2U~eA-mh?NpIAkR`ij#0I!o;?M^L#SSL8nQH z_Fe+oLDhwf#g0V!9f{a3X^n%1+GGZD2;7TAEiqtE!Nem4_JtAb#PXgJ_}v8HgT4Ti zuHP~d^A}fJH@-Xq_w*#(SSr6)aGx3BKHPs&LjEQJvTR&LwsZn5odh0Bd&~$IKE}3G%G2D;$92EgCqpn0yl}|9!G2iQn$nqIs+4J#R?^a z;s=efos_`8OV|&!zawByfF%)yC6PW$BEXVxXRcp8RD8ygVrG&>XJO*GV$rS9zNiR} z<7p`k?bpCV?OCCNM;q!MZzpn##GN|_6F(|;-uypyx?^S{c|gBP7P13MLwf-fzp35T z_U2v~q5fJAjn~E-?TxN$Pf85ufc7_m^f!U>H-Ydsf$lef>^FhxH-YFkf#x@X7Cugmka{@DgdU8>B($K_f63i8F+fNEZ&EcFktL$!TuXj4G0K+=AE34RE?^23#u`7$kUT?^E;~bRf*BfK7$s3QM zy$gX2&r^eO!p&~~UV&}2IwMa}-fXwI%c2Urp(y?uca%W7Ah4?m>=6PBuE2sNFy95H zh`{)%X8TML8#umXDPD{UgN-@N+&+YRe}Y5)F`yY)y`;|q>CGm5jlYUBJ*DT5L4HtO zKn9I$kJ6|_k#Bb#)XS7U>6p%7ra&q4EK0=%1X*kg54Jt%9tw@V#Yk=&=AEq zNl=j}%h+yNH#shHgC0HW*1l}^>&jtBs$mlI&Re8%; fRb4-JA*4;14oO&};_bfMKE<~O9}_rRC};i!T?DOz diff --git a/hub/catalog_factories/data_models/construction/__pycache__/construction.cpython-39.pyc b/hub/catalog_factories/data_models/construction/__pycache__/construction.cpython-39.pyc deleted file mode 100644 index d5a70ca902eda48cd413744b172ad225a0bbcc3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2576 zcmbtWPj4GV6rb7u+1Sm$21-FNM|`Li1zJIbP$U-xq$rB0P%GnVwCqfrHS1k>cCBE` z5r^hu^w1vjH4qPWvpZ82u;5kDsvz>@W&tl1b3M5i-f6lSryPc6e}n2&PZkJ0MfV z9>hT|6|6d%sHlIMvtKUR?#}KmgYSf?5>dc9UwzwQeU*+!{;^62GR(m#q+$o-D2^p` zIV`Q@l=Zbi4bygiVH>6@&E-A-ELUrXf&T~WgS2R29|jYtKyjW%iAc{vv{xSs2K&&m zpFl{`r9hb>Xx9{Xg(<8H+O?!DfSwETl6D=?UEyin1${;MTKA+aSNc?}zM`Tbnim$# z^}&BftZDx$_#4{0E;h8cDK^E{1?k=q1`xkpG^(Ue@A(YbsYD?TvJ8wzp$j+{59$WA z4z%oJ5HmU>oXiZ6bY_AyW)?_uW`ne54oF)N_#i!MIfcn1QP@16j3jhPFqDPMVZul5vdQD3&>C9Jb)E0Eg(IruvfcvkXJA1wF zGWc+BJXC3#_l_swX`qJl(~$LKB2|CFvq_fAAs@owh~p^f^Rra_coL^)z0>gzz4=+? zCqbB}Dw0`G!09b#XT2)G+Mqp}6dvbM66Kt)BbN;jggRHh>2@_5?Zw=X;=K8TIyM~) z2b38ZXsV}e2pnSvGOr~Oi-flCDVdK|vd4f(t!|Rt+twN{yDa95H3nLQupwBSw z#F?(ufJNe#kam_s!m!;43iqV8QDDd_kSu(Sfo%b5qXr7SZwCv{(T%V$36{Z9cff&3 zu^bhyiFKi5|Cab3EvKzK;dO-HYvXfmgor|^UXF4N96J@1TQ%;=m2Zje^X2HuOk+Bc z>lj58<_mx;Hvz7p@yer938dRu(D#VabEZwOYt~H zy}|j5aS+cvF6SZ*Iahb#bA>lj=}4-4QqqEql-yv=(+ucsDHDg99K>7MgRW0lEj7JZ z%(D+cc+@g|&!E10-8Sd?x~u2HwWvOVsl}&opTHjp{om*MK519(lQwX7bpy6_qACPf iJp7-pmglqF4IYPO8!5amO6tDED<;EIY`G2EF#iD@Epod6 diff --git a/hub/catalog_factories/data_models/construction/__pycache__/content.cpython-39.pyc b/hub/catalog_factories/data_models/construction/__pycache__/content.cpython-39.pyc deleted file mode 100644 index 755c0c657bda597b0912404563423364ced18826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1964 zcma)6&59dG5bmBCNu$}-{uzh-9Xb$_$Y8~+FUEvmBZnohEFvagghDf(Zb`ElP0QUa z7Kz!@?n~rmANMH&d4`H*B>60_)$u>%%{4g#3e> z&E>-81(5j!m>_*}LIf4gH4)C0)2G6HP1@exYwlb$(ry)?V4QCejVhxXcTe-WM4E3*#|ig zJB8d7yP^f}0Zy z;SBP8Hr1G! z8>;bn5sD?-#cc!F10aJsq_#L(p;;TfC!R+Yp3NYbJ0M{R>pf(cn+-r1o6mt(fF7;@ zZCSl1rf(`tRaxAD$3qmi;c3FfR~vW^S9mIm_r&sbg{7>^JCI;2-HHUK;ddKI_E$(s zds{frAGB1|%_9&-rnC5>i%q_o zkjyG3;$nD)dY%U_tG;c!MFHjYa5|N#$XizNwdRetEIBN#ez0!$yaBny&iFX@hoJa9 zkSPYgTr0>5|np2e>V%0@&;@Q6>+X{XypD> ztEtp>zQlxmqOmwN2CG1)AELAdR!Bvc;{-un^C>W&dahr0Xs|_oQ=`^d+tHuFx7gff REBAj`!u=7|i!Sy2{{fr2&qe?M diff --git a/hub/catalog_factories/data_models/construction/__pycache__/layer.cpython-39.pyc b/hub/catalog_factories/data_models/construction/__pycache__/layer.cpython-39.pyc deleted file mode 100644 index c30447cc6ffdd1105d834120286206c7342b7eab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1865 zcma)7Pm3c(6tC*;bb5M{nOPP^P@z~5$zj4WBEldt7-bN~ad1&2MvAtplBwD5u2@xJ zO^BzRkFf_m&WG^gXYkZlPksVH5PYvX$z+FJmvmHD?+s$dCvsf`XR8Freg=h)_h=L`2VnVJKQpNH3oK4vOhOSJs(X?v$=r zp1G{h6INt%Y0@VbpMA#;*_p~^WhHQ52w6EbR?-}^v(t++IQpRf7^pVvu*e*IGtkqy zQIku@{Bwt(W=UMtUJb?6QoqUORtE|ZJV0%QcIe}@v1tQ6if@1edCQN3+ss?M4^# z{4z7;Dk^p)D`_TkZs*p?l9v#qqEOX@Khx&vxX{l=m$M&7t7PHhEO*){X-5Lmr_r_} z2-GI8Mjl&#I#^M%)!Sa3=<{CxXpg?1g<8kw%dm=izgJ_)$FQZzQjXwnsp=VzSZ5IUZ zZ9!YbYHjtNpgz3=YLk~tRjiay!dNqmZGv~MD~Y`YQZ93AknPuj?112K3*>&|zs)T# zp~OhzbA3iV0!BbFUSVG03MF|J{u=#8MDQX~^cT9MP?F)|?Ew}xgWPt|37OMODBn3V zGdCev=|$!NEIyWt?&fOteffhyC-z#ma)W^VY29_2-&*PgK1u8L>Ylra@({lJ5T-=~ zB#3DQzvRCpUOZeqdE44~uY+ZWX~a3S4lK}FfqaMapJrLHlC(J&I_KPAY1YZq=&3Yr zzJ(Wk=J7Vj5yloYpUqfJ-Vyj%`zDZtMqv^MG;KHYz^`5hI-Ge6RO*kQoj^bL|2? z@fSX1k0Lzm!=-M3U`Eq8Fqp{-7X~YQC^Su0d}Y*2{okR}ZiqmIvhRkT2#D*1jxXAz z>x5i-j&Hv@`u<09pFHVh?(Y9U3c3}<^M;V^>;ZnbX;08?AXcm~+EV4VS#L5?Dv&74+!m1a>2eVlL z-C}cEuYzu~d97QZFR+@{=RjX%OIo)p9g)Ft!aG$^mVqO^&03m*iEf3f_{tL z*7_3LWLppMz8!;?dI9;T2Us2AXBz@_#<#Aa+zBQAh6 z<08mHTmo5)%OFc}1!Os{f~>?A$Z9+X(u!@6bIbq-Fc0f?QluVB$~17gJXxhm_>QE` zsS>gmI)TfRbsC;?*>(IYt?xYLo%(#D)uMr*U7%0a#$QRUJT)AuMq%X`dfGcL93&P6 zS5l}gQq|)wIF(D!xf9mslak{8Su&rxAu^UU;>tAPS{~q99$z)ZTTMU7&@D{BRa3Uw z1lmVK-UQSC^K)ab^;&VMTK%pRB5WNE+;c~EM?S4uJm9iDplYB(-lbh|ao_iXHhnMT z+cRIhZ=Lr~Tch1Z&m1=t(&MVdVE+x@RxRKeZ_HL|iR~U5j(UL?Qd&b-SO;O)74zyD zt)w2coxbmy`0nUH9WU)q6;NWMqrD=!2hK;x0T0JvfOt%|?MWW?Ww1v8OgGd`i9Y$! zln{l6w$TQXx8N};c@!R%##Z;XK_HqMO1kEV%78xf8Bw!PDRID>UDH|D}_K*ysD?D80P z^p_bi8`GFNE|E;+oPo1+9p@5sJk4-!jyb2o-;BhMr-?@~@H3e)z2@3>89H8OnD304 z(_ou1&i|(##r4mm#`u;?y#gK0T2?U}!ru?clfG1_Wi zO+_GthETndP!Q(ng4dA)iAk_-%PqL+G!faJB7wM%3l=S<;pbQfpOa`K4Qm8T6>_Wt z=t;De4bS8l)4)lznPbsoZO@ZvSjc4EI7$nd$;KRq&(cbC2#JABVknlFKqQ)6Vi1wI zDrK{&BYazOf^AjJ|%TEsBsIOp^f~l3# z#HLu%^r2X!$pWQ6^&NlIQ>By%mr{8f{*+ifDSBLngUhuTPDf8nPjPZi!@29p-h}}& zQ_|TV`St2zwpHJNu*{MLMbGg3WN#EqyE@CIM>zx&evuBD_pikIb~w-P(4};xQL_F8 Dce+)$ diff --git a/hub/catalog_factories/data_models/construction/__pycache__/window.cpython-39.pyc b/hub/catalog_factories/data_models/construction/__pycache__/window.cpython-39.pyc deleted file mode 100644 index fd63015522c065fd3ab5308b68683fc5a00f0b11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2277 zcma);-EQMV6o75VaU7@FcDrSfK%lvSZdTi}>Iw-}fL02tYDHBlR;xuJXkj7%3Rm05;05{;T<{EB`Id)3f*a16IB8PaRVSL`DZ$3!fLts@Axoit2EP)M>yqskxVm*+H)aO9rt1hhwS+1^ca_(>_0}SfbAurmVov~6Nvj~n*DLX z4jvyIF#Lu{frvxae)fHv^+DyM;1twAMj9Uq3G673lSJZ0qiK*+);9|MY!j7$CXu472dh^*6w(y*Mx8M8tQcs z7~My`AvTO&N4+WT7(GCJQ*0T%A?}LpbE~r<9CYSR;k`0Gn{Ee;%~cj9VV2?TNrW+4 z4$>W*ZJgNy6f=8fackzFv}YBR&dfzwnN?A`GY@4|SokIONy{rLJQl?U??E_}96}6R z;qyL!6DGMVwzzsDAxsjUmn&7C;>M!N^<*SlwZhG0(ktro0F$Z4s-@b((B@S;t})Xn z-y>re7HlH@Ka=)h_hlv_>*hmHN_S5u(OC$?GQwF`rV{!So=q|>hkS?uPm(z8^Ra^0 zy+n<>XZg?FGV^#ZjI@GSW?g}~INzOhG3d)A?amqYM-x0akJDIl-Xvdcps;Lj`I&Cc zrTIV@Fb#Wx!%#Rt`bx9MVIEC}yE$0|oNJ1|KiR z8*{ORw}lgn_wbt07R#H~OPE;P664`j42r;wAanxQCP6{D!~k;5M>rQ8jgo_`-ICmwRkNO^{!7=khV*tl}x-P*%wPPeI{WTCQOZFipjV6EQ7N;&`e3hVun^-B5P zlKHz!W(d=46auz;mgRs|DH#?0Bepv>eQuXp{%-bql2EVTU1wh@5bAcns-jmvi#3DJZ5>x&D7_AQbTc diff --git a/hub/catalog_factories/data_models/energy_systems/__pycache__/__init__.cpython-39.pyc b/hub/catalog_factories/data_models/energy_systems/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 35130b9f9e0458b3c0e7d62ceb6e48ba79c8c2d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_*vsFxJacWU< zOlfXWettOh#!^OmbpLVorW~d|G01Nq$jgYH>^oPz0hH&4}Wd`1s7c%#!$cy@JYH95z4` OOLJ1~K+gIM#0&t{3qa)n diff --git a/hub/catalog_factories/data_models/energy_systems/__pycache__/archetype.cpython-39.pyc b/hub/catalog_factories/data_models/energy_systems/__pycache__/archetype.cpython-39.pyc deleted file mode 100644 index ac857ab4e973194d204a0799f94d4974e2afc206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1715 zcma)6L5mwV6qYpOv3GViq)XdSdZMToPyO=D2;yN9ak!;U)Jerj> z2{ztdvcIC_kR11K^f&Z0*Pi+d3O%%aZ^ri8p@#~d=1F>b^WOKqC$YaD5*UB}7L0!J z3Hcoto5O>}BM{qxNs{hz0{lf1D}#(B7NDoBC_$C4H_~yBkgAKfD#fO zWy*|a{A^~On(|mUk?JuQCY~ra%hi{>$fPpXX)U?1T<|z8z|?R(;;O!DtGhNl>p%IP z-{mJstTL-W`&O#VC8I={E9RKy2AKp8>&wDzH zwULS7y`!f+J~q0@!@kkyDt2%P!SH^P3d6tCnHA|v0Ob5uNrk#UeiIK8mg&UpAZ?mp|UAkS3d0S$Q>Di zWhi%{VteJz<5gYeABCK+S5OpTE$qa|h}A%yf%HJ^ZI~8xK_aqXFheZhk)F0$*@!YR zRb?w$*0JrCzE$a{^sD{ma{HPXB;#K{_qxMp7AP?+rbcTw?9bwfFw!4B~S=DS8MUqdUp)7Y3;efo; zTtl0=35bTa-EPP2JbpM@-G07G1~D-EIAK{gQrUs!XCSLoKDbF`NrkN(umT871?(Xx zV{!>RJ10-b^Mgyapl|7dy=CvnJ4(q#DDli&z&rJZCG^r;c)&w%{%H>xTy-R*2nlhS z#4gd9Ff)U{XtN4qgVDA9>Qe?H&s8SNeW#-hbF2lJRAs^}%jS}dWfMCd{J)Wl6Uy zC)nto?tVz}cz>g>eeIK8`w#k3=u>B8$tRl}y)`?U)y|H-`DS+Pw%ZPY@z0<2@!vH< z{=!9dn6P*XQ-1z^V-PzjcDZpGg?s~4{K{y*@&B72~O9F9|p&{td6t{#atP47{WKGmW z{eqm+VIA~_uyefu`i^jN-3GlWTDiU>+G6*D3>~p2_TkwS1~7S$H6TLdYkAvY7%l3| z3tX*X-S;3x>w&rfvjRF=0OKhU8H({)J|dds<4i6$-^Aa29dXhUktgA&~O z8~TRuzFxyCl5`CiENX?UY(qhkK7(08*(;$G{%(llaE;@tMwmRE`|%8Na~(z2HK?*X zS6=v)m#-=~zbJ8j)bfU?AFokYi~0X?<8AyHo7vr}p9=DCD#*VqkzZrGfgKsbujPgL zEhrOm1~>nNJSVRY&Wx14r>XJY_&`2TN=_X?Q|i+*GsRYIEbsNOnUrmrB@q+8hZo&d zi_CepZVw$ZFUhR##<2`V)=nbm3#H|ywJKsP*37x;Dp|u@UA^s^Isn55Fm?WSV_4Lo z`_wj;cgn~&++QDW_r~!i5b-(9V{Q+Wk8QMowhul!Rvw0mGt5Mi=jDEkwEu~f-o z1q-jB+C{O40s*SKD3HF2$Xf??sU4X5QxG<_Os8(p&1vr_wCZ;Zbq}8TqT(j^ioP=Y OhZWo((L8Semi-?YDgu`P diff --git a/hub/catalog_factories/data_models/energy_systems/__pycache__/distribution_system.cpython-39.pyc b/hub/catalog_factories/data_models/energy_systems/__pycache__/distribution_system.cpython-39.pyc deleted file mode 100644 index c4d3f85c4e48a4d4284f31d2b1e4147294cec67c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5286 zcmb_g&2!tv6$e1@3;M7u*>Y^l$tJ0jFyk<8l0&QUxavr%ryf;Ow9V(4_e@#^sW7lWAGa!e9Fk&9Dt;lkN z4xvsMap!42asr=(Qf3?;?EI2^K=vG)`60vTro&Bzunz_AvEv^FI23lMh@g zV%*pcdIRosP9yT?=j5aNAAL-=1K$ofbu6;I`{_36@Sxu_4tUUIb_5}1oE$i=#mUbC zKeXIuEMnxx?lX(CA)$;sfmRmh4(W-9nqKzMmYpu#v@LuW&tfJqBH-aBIkXs~EYe1UO7D?|M!c z;*De`UU|d-ttAjlW^A!;{;K0<3oZN$I;ON#?5;-DR*7!V64lSumd?twOe^OK_OOC+ zmDc3AigBG9a$LiBfiB8%9pfdsEXM}MSLliyFJOF?uFCNuE3+l4v1NAUrqb4KDs=4| zm0qLQ&vkrdC6ivwN!RHODP7H^YdPs_^rn_ixLcmZy1E+ zr^n7kY}X1y$oB08fRSEetf6hAgPRt_k%nF!mC$P=9ert3Mz4=5=*y!j`pT$= zzB;O-uZ;}!b*exsb-!W6h8aqiHXRx-m>zt^HGRutaoLQp&GDKU_Io{dVB$#h#2)rJ zi{CQyhr)z&g?+Clw%2SszcSlya2CHi`x$t!V?A|Q^5CL*%B;wAgD_+vzSqfoWvp5l z-!R2oXJCejqh*4tCL4QNI@MT+^^m#kxPD=mkuz&yJS~k|EwJs)|8CklGas3>Y$0#h zYJpwrGt63o?n*$4^4W!{ffkgCIIS7}%#4_r^gZJWdx(_Eg&KI)2AI z3-}jeTaHirPmjlu&1_pX@N`&sOcCpn&7WEVqMYN7L2mX2am_Rx--%3fUHIcQbV{kB zPXC6tcXF>Me&0;rv=MW&ON>R6?p?uPq;#c|4&TR7AmkB?((~a^IkU+boYCJTu*-_% zR72$=kUUp8vPS}$#Erj!+gNkx_wY9qr%0&`uNSE1&^eX5mnkJNCgR9UY9*3}-$~UH zd5ym*Ix+DMFcUEc!>F8{#oGmJ!~1y zs<2xoO%gl<73eYR3(^bDFnsUx4?k~Q0>aWP5MF~|CkMhO1t83_APentV)BRYgh?7n zF9k+^L4uRSJ<{U=?c3ls?>+wT@nr}t&qC-X1bZ1m)!`3c1))@Fnb_up>E{_txok1D z_0!hDF<{>%4sd0bdAA^Vl9^W-zFuHnP7iRoN)l%0v?d9HB3NIfyK&qO1qt;*ZLvL3 zAP+;{)lzCbakP)7iDMG25a(BBS$G?QlbnS`=lnvqls3$1o|kRbcuU5FWR{6eSXe$x z+PEvZ%>;+e%)C0w%nb-w&df%^MkYE=lcqUMb*4>CImvgkb)qoH%v_yi<{b#UoSAPI znK?xPCk!m(WswskulOwnf>%(ruku?|qos3szk{N}N4fD8D0Nqr(jQQLELAfpsCE}m z;oZ+riX`u9nY2Vfxw|0ZUC{6@NO)J=gMfEIzq@tNb!}9l)o%<({YoF{AmFv(?QOyJ zWp#%7Q5*~E*n&q}e6T-ZhafFF+98^xTODYAvIvdUKPrDxey@Fr6(z5DuEtAI0QQ|O z)X-wBc|Tr#nORSfk=S_PB7NC`*L!$|@BAH285ZS;iS?Tg+`zWn@F522>;I$f{4T!O z(D=Lf(^@ZP{ZmTw2A&m3ODXtHKjO0^d?Rew=YwHMl~v9785#7|T4`-lEQ zUmi{r?BjZ7;xIJo`{~tK7gds|3``Sswy3ZAD0W5Qc)v0~j4On5z8SSk_dd zTF`3A+y-PxlPl~u7WntEKwJUiN70khON6ZWCn!4cpD6k7w2Pv%nJYS*X{wTSYna_m tl>1zm7H_@!Vw3rSOI##i!u%p!;@X2`vmT0)G!(^~Uc06(s*75!^dI(MobUhu diff --git a/hub/catalog_factories/data_models/energy_systems/__pycache__/electrical_storage_system.cpython-39.pyc b/hub/catalog_factories/data_models/energy_systems/__pycache__/electrical_storage_system.cpython-39.pyc deleted file mode 100644 index e669d0c2443ea133562c403b9cdf58dd8a357400..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3622 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 diff --git a/hub/catalog_factories/data_models/energy_systems/__pycache__/energy_storage_system.cpython-39.pyc b/hub/catalog_factories/data_models/energy_systems/__pycache__/energy_storage_system.cpython-39.pyc deleted file mode 100644 index 0ce0c2ac503533916fe462ab72d403ce9712e5b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2555 zcma)8UvJws5SL`xaTL4FpDn=tU|@@4fw9KxT42C}VQA(BL59o-nspdF4;&-XjxtH~ zPILUiZ<4RE&#))G?x~+(z+Sc^Wjk^z7h$0DkvvlOyWia@tX}sl9RK`P>AkL4 z*57)PA1+Rw;*&f;!L5$PZSI72~D)u;@&ZOifwVgdaT zIUOZRM8s!`g|bi11yiIiaF3}##w0P@-s#CVKayQ?9QYzm1ZqcI#46|o0`|!9;mI*B zJ!w8dDS_;UObPH>axj9Rf3C=%SLE@d$4^L0#=Zm|Fw#1B)*^k7!-01K@&*)Xu*Lcn7tEkuc9iw}w-{tE@U*j8m^U~_nxPyeflWt{X zogz-w7a3*aPwsn!%vj8JW^C@CB?_1hYRHlV&DuWZ&U|Ry!KZ~!av#OSo>3A^1Wr)xCHUPJ?qlL$EoY0M&#)@j7zVGrLq1Oe#=jb#+XETldg zFh5WuviAS?B?cRlvXJX;y_Wlp`&by*s0jr-}u7uWVSw9}}%i+{J0?1pGbxO>|ONmGO3wcL87S zR~3&b>vx;mm?_Tqhq-5JG!R7gNEUbFD3*5*WJG@25h2z+1U?IQ9+Dk(E+9hn=cO3h zS9ZG9mg*=Pgd)QJBlrP;1ke$_329Tmn$Gw}b_BnNW;2K%7eRdU$a2UFR5a&+GyaK5 zmI*PSsT%=>-Aa6PvafL)AkjV=du zqrg8f-xc%u#WEyH5+3;a{{;r4Hf$|%D6K0=uMLmpt~uj-MKNEnZn$k6jk@luI)^Du zJ*s;$(vEtK(%*(GobIep%B4>!tm8Y<>Hy?GfEvN3_Uv6PbeVxpVbJu04i#)`p}!+J zq1z*rP-rvrt*qLviyiqtuj<&|O3`EN+YJ}q$1`b(o%x^}t69!nZQf+sZ}rOz$5*=1 LC%R9&)mrI)9uSs% diff --git a/hub/catalog_factories/data_models/energy_systems/__pycache__/generation_system.cpython-39.pyc b/hub/catalog_factories/data_models/energy_systems/__pycache__/generation_system.cpython-39.pyc deleted file mode 100644 index 59b6f604a36141333abc8b334e368026557dbd76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3601 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 diff --git a/hub/catalog_factories/data_models/energy_systems/__pycache__/performance_curves.cpython-39.pyc b/hub/catalog_factories/data_models/energy_systems/__pycache__/performance_curves.cpython-39.pyc deleted file mode 100644 index b01fab341b5246cb22c595ecf8f4bd9974da61fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2777 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 MSzjbty;RNp7am0iDgXcg diff --git a/hub/catalog_factories/data_models/energy_systems/__pycache__/system.cpython-39.pyc b/hub/catalog_factories/data_models/energy_systems/__pycache__/system.cpython-39.pyc deleted file mode 100644 index 80bce73549737a4435e3c482aef22c4516fae044..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3224 zcmb7G&2Jk;6rWwMcWuW>(u-1&s;Q8w} zv;E5gA;06G_>^F<1x z$Sz?fv(5;!p6hmvRSrp`+J`-)c0b~xGoXh9neb3j&rRGQ?&Raz;la)$dV}uy9*-mk z>1)QL#BcjtY|_2mgFTqK-Mk5XEa;8EO}MCS$Gw5@JKco-`kLOldFwXajw3G?%y;Sb z{Ri8$BjSFqb|B(o?j^9uxS$7q;0pR(97#8L$`ek%44%4z4=LmHq41AfA$;1yP0et! zY0DcQ-1J<~3wvQEf$jYy7IKpwx|}omz>SXK04j0R6xnF@-9Ny$q@kzfhmjvgsj=tF zq@kt8ftz&Ue|eXKo7@D}GDpGO$`0&NswT4@o>F|uFxY}7e};||TZ8!NOtVXDjg^>j zrr8EBvobT!$aBp$LAF>$$ri{}R#S3?mwA=xyv7&SNn2khY~h8*>TL1MfVb+C)y2Z< z61${Umtggh+P};$tC?lC!dB0SeVOTy1y@otvuLJHY`Z6P+MB8teY0Z%;#~h!fWhZh&o-R6!hi=52 zWYFU>U3EGWH|LvWdc|P{KNqGU(rv%f&!XZ;uM0;ttkjS^Xs6YwuKJ7)Ln&UFqiAie zp0#;uUK4Qz?0@s)_Gas$O(VW)JLCzPM`{ay&So%&2oZVI0CMYKsV?W2yGYiObZ zufNvB68tHzWZhL5rn=8Qf`5rwL(E|{hvc&hg86&`Ch2mTnNBf)|AnUty2Sg~p<||K z#AO(M3T+H$A%}wpUJ%e=0w_x=>K+B0CNY$qr%=S&A`a=}jV^~u5p^~`qZ?ivW57{l zamZ!jdrmh_oM%`mah3;A1BLJT$zbEjtXYpUKWDSxXrzg`hAqRw?Sf&exnae`hk|8h z@w=d@TN6{KcO?%2mIg{E>G1e`ahxCqI-8Gp1s3iU5U=Nmr>e#m{eozBCTNSd_#Jrv zUAQNR@fywb@hU8++mh$EcF2>JQ+=epgfjn9e??wt8ab)KN{MNG zO?<(0RyxBPQrZC?i-6%yf!$z?4anfw1gZdfC#Fo)N+k!ciZW1)eI z#C#7~))j;O8Eoiw1KJ@pi57N1-;+Av(_WHSLV5 zAy(&#Lt48Vz^WIAy?c+~^gp4I;q^SoGsiXW2C?S`@*W7|S5h+zVZ#*b@S-X;!<=}i zBDdk%G`I7#ye=EVt3^zO`SqD#<+(t6_%%`yczaUQ?e%!X#5L51**VoLupkI@Qlp&J zWxR;?LV;cdCVFatmINGs&Kc@V<>(J#7tsx^rY-B0w-wEJYijyiy<}IfnYSy%U05Y~^OTDw- zSP&n>E2#<5gn}+6NKy-<68J{~)!SbIqr=Cj`iPz~db7aj&6$q^*_`G@Uh|Y~>CXQ? msF+IQqm*;d=t77m-bgEVvvAzQZvlz?VpNv3x?b1nrGEgWo<7h3 diff --git a/hub/catalog_factories/data_models/energy_systems/__pycache__/thermal_storage_system.cpython-39.pyc b/hub/catalog_factories/data_models/energy_systems/__pycache__/thermal_storage_system.cpython-39.pyc deleted file mode 100644 index b80728fe082c40da52c1abcb1574519113e0d530..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4148 zcmb7H&2JmW72jDdm(+@sWLb9NIu0f-3Y9_38gh{oLQuG%6Ssyf2vOY_q=fByXGkr( zAI!|IQ!Z8~3rK<9iyU%@kN!9EXY4hnoO|mb=zFtEid5IKy2L!b`P})vdGp?Hop#&O z;Q97nJHrpxHSI^NEItNQ?n9BEf?!%-V}$8G3G}{BP_Oy5z~~!FH~e~F_D!Na)L5OF zry4W4{<79@u*QMbX(rc+rdgkbT#TmlU@BuCP}hkaKN`{an2W&isf;7xj5w95+d9~P z@QmJ}k3E-%l7sdq#>3bfdR*+%#}D@(L({$PU67HWcYG)2!sPR0e@_k2gtCs8OJ{{@dZ{e%C)5j>@g)2G6F z?g-)02@dK8^FjCB*}`4df%n2#Xo+EX0x;w*J#aW@^b02(!va)dtt*P!^4y=mxLSwg zR}1SL6jmr~1kLrw&XfyKnokg-=lCv8SbSP#MScqk*ZKs`N@t{BWAA>W4dI-aak|ns zc)d88m!xlk-eApB4fF=+E6h@Q6ZBQqQu+$7b8AFc`#Zwc*!rmfV^^VngI!VmE$DBn z-c5E@^{zqh7Q3c;*V%RU&Z*Yl_(n6d{uS_n8~N6si<4f0nBKl^Q9ARC(gjKn>G_V7 z(7WfZE#O7H0i^~-{t-m1z0|%Z8Odsyk(pWJRh?*=o@ut8)j`&>CP*V&0a?#1kY=_D zvXQkwHnTR!6{f)!$zI3G>oS>ekvDDI3%%I3^Q(3|op75g=e5yGIm_Eh0e4lMdBc7Y z`ANV*Ip*kqp!j%jGJoF=oWFZP64()}>%?9-vcdh8o(P_=&sPdK^O7LH4oein+{p87 z*O@r37f(BDxgohf%&qdG*dEI_E4F3@;Elc=IqreND zvp3`|Ka!G58+RGyW(mnG5t${RTNmS5o4urjbFC81Ym%?nwu=XB+po3%{Ij=v_*8Rb&nkplvh z&n+Pj%eXT)e-U@O5JAwpHqpCKXvP*XmwxH3Do5_l9L9xEH-Ava(t{#R5Scbsu9p4< z9GlXIJf?UWG#b(ZqKbnMI))+&=wO@s5UGUcI{x-Ybi3U1_K}*rD>xi%xC>JR*g~~+ zh-kuVUK6nae}c}%2dE(+Y?3+%%}lo|k^HYyT@usNIi}JH3T!2m+2#Rz1 z&>hAXLt25|irXmYTqr=-p!#blGe93y0-Cub0=p!X{u~Nyn@*0W63>7ZcLGlfn`bBs z*P&iW-Q>CF(g4zkz{o}E{EWa!op^Rcn0PDkybB$77x3Jy#8d3zl1QE`A%Rq=cK2oo zZ{7Urn>K#~I)3-o%@^SWGMZVq?skR&KpA zUoIi2!y5P!l~n!#3L_^33UHn==m`;bN7@O&+5_!q^Q4v$;77IZ^;g;}LbR{mgPxii z_W(6)KhYV^HlP4!8kZUqkx|d!#C>fp`1(PU*5uJ8ABQ(@w>9xvam=>IdBBv2s063jd z8I@qtt&+-|9o68`QMy^snLCQk(7~hMK-+2=zz4y-qtq%w5gi0a0%JkCeetCol(+Io zpcAGys=Z|J_N|z^3PuV`V%o%%Y5OW&&jU%BY1g@Y__`QJF;`Lg3^Dp>(5 F{$D+SZCn5V diff --git a/hub/catalog_factories/data_models/usages/__pycache__/__init__.cpython-39.pyc b/hub/catalog_factories/data_models/usages/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 3159c7e7afde96e9afe90a949610c578edc85e22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmYk0F$w}P5Jj^fB7z68@c<$s*vo?01wzbbv(aQnG6_qL z;WKhJn=;btHg3y&6#T2AWkbdhp<#PAuXa}!O8mn+ZI}FjIv`Iz07PDA)yd%N04J>? za^34-vcQZ{d*Pwc&e`6G0m8X;Fz_xNxsp*jFrt+zLa-WnL&^7=no$~xgs{DhLM$%% PK3P#ya(Z3fd6L-&wiZ2P diff --git a/hub/catalog_factories/data_models/usages/__pycache__/appliances.cpython-39.pyc b/hub/catalog_factories/data_models/usages/__pycache__/appliances.cpython-39.pyc deleted file mode 100644 index 928afa30e09a140f0beb80d28f7c340e0f9d7e67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2529 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 diff --git a/hub/catalog_factories/data_models/usages/__pycache__/occupancy.cpython-39.pyc b/hub/catalog_factories/data_models/usages/__pycache__/occupancy.cpython-39.pyc deleted file mode 100644 index 261afc4671bf5c5f3af3a2c65180570754228d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2807 zcmbtWPj4GV6yMo@wl{YEwNWW4)wDta12x5Pib@sXRuNJfB0>~!9F4X+V`t5J*PU6X zvgMqbkI_SWLCRO)$Yn3Qq6 z)$@aZ!6SyPIU9^$@J>|8-aU(W6thh)-L2xe&Yz&YR@M`1KlGz8F}HmYmr;`6^Ntzq z1C1w}CJgZl5T?};7)__BZcv>XXIkB47PG0za!vg<80s~mHqD)xuTVWd!^zWv z;uK~$4qZ?jXNFUxCB<17bBe5VTg%Q`q)UpsNSEmfXtP93aMEg0_%3zHV9mieTVXG7 zg@8An4RF#+&UF|y7~(#VAsT8#8|pyO&;Y6rO`yim0%}qX&Oke5D_JF(>j^ko_;EkE zPlTL34;TT<%ULYAf9RNmV*8r_4{%;%Lc<>EG3dUP3 z#$)edKg3-?8ihhWai^*zHb%Q{;GHOBGPMDf8!J{Bak=F=;tTLl1{;x8xhw*?14GF0 z)9k_eMC%M{8d=xWxt{5qIv7vl5cD6#A(n9{(HyvO{6DbdKux|TiFExGk`gRGgpnfo zbb=(+2E6s%9?z`7!Tu8HbdhH8{2k}0TJTi@ZQAh9PE{;2S<>ei)=LaB`*m1uLT}>&W yPD;Ljz6L*C>L+p1*D6zetupFsl{98Y%E{yB>6PRkjSTWwwksj~ifJ$FMdM$hk>fxB diff --git a/hub/catalog_factories/data_models/usages/__pycache__/schedule.cpython-39.pyc b/hub/catalog_factories/data_models/usages/__pycache__/schedule.cpython-39.pyc deleted file mode 100644 index ce8873d319c10cd6132245e2905f9b1157ddc3cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2808 zcma)8PmkL~6t^A6&U!c9-L@*N_@g8NZqL{QQ3N{yFS+0}HOde)C5D zmSz2ci>p@)7LQ@5_hDkzz+yIY5<7JUPTCr@Z0p!!E#_WY%zfz$T-JVK^}PHS5DuQI zaLh>*>M#*wqM`|BdBTGyXP7jkysjjEw5}rK@-{D!WY-RquMWzOALYt);fWkd-o! zsCB)z@lu zA})rL{Q0nsZaNAhEo98q(3oPRK{IB68a75BPK&ZbX`IEH(mg!N9hfZJTimn##t(;$ z+-c7)J;`-0v&csA`a&9qaft`S+&VW0KKmHFN60bPi<~2P{ATy4(sV>lMaD6~l$M6k zvn7V~Yg=x^!yHjH-GXK5qJq0XDU1Tkn{^j zy|y$-c40|iG#2eHEUI*FXwy&YHlYX2iII^M>5&n5b`WL-&GPg)mk0OB!AOF`p*kQf zGAc$Rq##hHT!!E)j>}1&#w^wa(okWv6p4x3g9_dM`2rK}TG%&$feBc__GdR2uopS7 zA@U#Akz>L@MDXbfa>c=Th9J^7%XI}!%0lxE-*g47TzMS zH-vZb26(0(tl--a6~HWbC^tX{ee`?W@W2-)Y}I`dDw0CL z;xpr%akdH=+*$ceLp5HwkY$U7p5(G&jAUGkD2(ie&Kn&Qku(AqaR%L*GOprr1~ndH z!+iMx1*!3$T*D6tqkKt^xPiA zOsJLkOsdDNP(EvR29KI~6uT|YPoxS&+~g3~khty^ zI>9;+;@EWZNiWU&QEhVi2m;MkA{nU2r}(4%!8s1?QZ`IRq^lh!{T{rJu>+B?Twx3x zhG~T{E?Pk(IBP*B@urC=m62dU#Ofl9g8_OkWBcQG?z1BV;W#M3OEgra3San^DwIO& zc1$kfas$ZwFk*CgVyD*^1Y7MSXOzudDI5CKza|>Ss=9;(ou(id)CY1M#ze4d3xXBh z6K`}zk!I$~UHCsRR~aQ)B@_DM&4NrTjkOe7XO!&6sj(m&STXT1*+S>T3dn;5Y6_$( zHV(T}?5Npcuzfr13-$$*(Z{mY(z{FE`e0I<9%>w1cI_k`Yy` z#1B(NEJx%d1)n1KVrUjr0C}n}ln2>CoK+9l@T~NO9RO~hriYUY#6Q-gSWf#0BDX zQtAt-umCQzor2Y}!f?)PuiqCD&o&b2&g4|+;tK7ntCYfwt}q2wZC%P5TjL&S$}U@* z+E(efL8r+atm>e|#R72|z+)Kkhd_v7(F)zBMQX#!q6U8cDm&@bg+w!V*Xj;-43XCp zuA5a{>@T3xhWWbdJ{fpnjySH%rSH1x9e8C{?kfrTAQ>twzFA4v>;+ks36QdopsETw z!TT3v(&bN=bZqBQ^7sQFWont_O@qGY%*NHSLB~Vk*`unXuEBR^C&NCZc6}TD-s}@- uq2Mot{v$MNp=yN|sy1$+Y7--juZnC}-7PDBKGw`_Y=&ZtIm_Or>*n7rb;^eT diff --git a/hub/catalog_factories/data_models/usages/__pycache__/usage.cpython-39.pyc b/hub/catalog_factories/data_models/usages/__pycache__/usage.cpython-39.pyc deleted file mode 100644 index bdf6c77afa7c41aad7b9ad2dd804524105c7c1e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4375 zcmbtX+m72r7`7e9ah&YAyWQ=!FajYFq^50p14}_$rD$8UEK3gp(k+(p%x1mVaXNNd z#R?awz2O~t0hfIN9)M@y%C}tc1eLhr|Hp@TldKvEM>C%BXU}{y^Zkcd3k!w>*PFkz z<6oC0>2K^5uM%{2p#(obMWv2JWvaNcr*sq<+a{_*9sXo+J1k?o$g6U{(MbZ*IO;p z_ItL^sbi7$7x&ww%l$#$IOP5*vqJzW<798(xGsZR2t#ugk*;{aJ-^w_o_Rj^L$+&Y zqcv^I_y?Fv4LL49>N$Q78piE@-*v2>%>wA@`$)v;b)jAT+O`LMK!(s+e0ajRXSqNv zxbXsLTntmc&X6Yg%Y%6Nn%n*hI3J<+$m9omR?F7m6e%BRaQAx zwj^49B~y)7UaBwTj-Ddb9Kka{#F#=1S`$cZ3aQftfz+pvMY<%Ag%nxL=UJvJ0$ECt z1EiN zEvkafuD~gws-hKxkW_816$H?;YlV%*wgRP%d%X+QNFGV1G*Y0JMrpN3P ztLNC3Yg!IBvD0PoiunvB584KSnH-b>pZS@T;;QMU5{ql5m1{3vHp4_=Cg>F<7O$B! zRTwY`&F84GMlDtY<{rnY;8q<|tB#qi&nC7!#j84|rRS`S0;#1*POHgS8yvA7u%09bE`o0*oOoHgTic*S>_>7a28AFal8b;_XUorcgtq7g(CqR zFKlBGE)A_a35`^SAg4s1iMbwtTgyJ4rrEc+<&kHWJ7AE(rJ+lFcfj9=0UL^NYjIh; zGU+#vs|6+X8*^^o9Wg$-+i@(KW;W?>$BCTy9F7?h<=H-B8vtiaD_TyJIi77!qF?1i z(?Chm;Qe;C56|S28RM1n7+(h9X@T*2!gwM+&q@1!PCE6Z!HVJHh0r$(3&=<3s2h$4klASk6$(q9wA2saonN2?IH;s(vYP&MIsLuS z>(N>&yW(t(OPGgY!eW|`>SC@oaIsxC&8Gv)O_7QT`K)c4oWS_8-se6<%5cc>oZ}KC zOJa#}S;Ur^D=ovD$?oAlE3t*K7O)WVVqU^0xSt#ow`AEBY~k8DF0Qa(k=%&v3r`xo zM9_jtm(`NKuE?8}^NK1PXE33ZgT^BN2tJRsaM*{0Hd)b4$Y$XWr}%R`&Ssm1Y_>TN z*=%#{b;K&-8*_h|d2NpS5x3_4E)QoMw>18E?hhy2jo9n>)44yNwsg`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_vvsFxJacWU< zOlfXWettOh#!^OmbpLVorW~d|G01Nq$jgDw?+9nE3e2yv&mLc)fzkTO2k(Q%ZAE?LbcX H48#lozCJtv diff --git a/hub/catalog_factories/energy_systems/__pycache__/montreal_custom_catalog.cpython-39.pyc b/hub/catalog_factories/energy_systems/__pycache__/montreal_custom_catalog.cpython-39.pyc deleted file mode 100644 index 3e998cac2db2ebd839c47c98461dbca28d113be1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7643 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 diff --git a/hub/catalog_factories/energy_systems/__pycache__/north_america_energy_system_catalog.cpython-39.pyc b/hub/catalog_factories/energy_systems/__pycache__/north_america_energy_system_catalog.cpython-39.pyc deleted file mode 100644 index 34804384979ec66d10758548eac26d6b47c7ea47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13483 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 neDvo>TJxC#AJZ_mPGbHbb4G4MKDg#9OlQ== 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 L+JMDA^DF!h4Ul9> diff --git a/hub/catalog_factories/usage/__pycache__/usage_helper.cpython-39.pyc b/hub/catalog_factories/usage/__pycache__/usage_helper.cpython-39.pyc deleted file mode 100644 index 2b108f324d986b84bfa4ae2168b3a66e16e334b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4261 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 diff --git a/hub/city_model_structure/attributes/__pycache__/polyhedron.cpython-39.pyc b/hub/city_model_structure/attributes/__pycache__/polyhedron.cpython-39.pyc deleted file mode 100644 index da4a1ac37e44179610b9920b846753a0b7fee36c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6451 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 S>p1{7u;Wyns!_4Xa_K)x(|6SX diff --git a/hub/city_model_structure/building_demand/__pycache__/__init__.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 3df1a1109e21008fc00751e4a26c67c774a8034d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmYk0K?=e!5JgiE5upch;{ilOa4!XM7Z}=P+D4N`CJ7}+@;5Izv{CMYd)RHCT|$pO@$Jizi2 Q@3VEf6f|z~JI`eH0mKzOm;e9( diff --git a/hub/city_model_structure/building_demand/__pycache__/appliances.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/appliances.cpython-39.pyc deleted file mode 100644 index c1a0a7a103f4376be62f7786a5cf3845b7bb117a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3061 zcmbW3-EQMV6vsV|TBu<*T+ie|rGUNHr%sIa~^WiQm*cv?l{%Ll9 zo71$vurU3Ups)$AT!(~dZH*D82PD+ndRS_g2$oBM5tiF!qHSr+VC8d-mCy9H$;@4? zUP*t4hW5)|FYw*SNxj zSJ1EGNV>r>PdI%U9J_)KDC2Zb`1`I9KJB5X5$2*zZ`^UibM1e?1+A`U<-N#{qs-X$ zWl|@Zwd);nbjHK_>8A{ZO?c(skZ`R{fSk@qyTo)>I@j6;FLRR_ywcUzfYz^snXGbd zoRPN0t)n?+K}l1kS=}77mCoii=;on>I{Qk0RkomX^L!q3i%>${{1sh|Eh$} zA})ViaxjFVWFoU2IhsCsK{7+~pnIW-1u*2lljcTePjVqUX(-}2>Fo5qLsx{Oz>*yv zadFUhWM3vcbReR65ctu7a}tZ6yFq-?IZXFE9+)_+b7Ue?FG&UO?5BRfP|A4dMy%uJ z3!~BNgKLf-`HADy5Q7Z#Bni#gKna#>O^4QVjdGDH%t~GmsLi6 zK7fM6dDhIq@{|XoYEM;RH9VNdS6Ph>PYEL_5z7hW&Ip7AlpzfC!53=$-CKCkbA=ny zV>d|o#*_;!T-M4X<;sOFsxWR=R>B#d#675b46igG(M*fHA@dhG^GUqYalF0(Q3?;jT_;8G==x7@{V*r%IOw+auZtROc7dKP@8D|Ezv&D zqj$K4-i9n(DT>L~X13#3XxIqr+f!I)WOroxVa~MBg`1EnFN%=91y+A^2c%!;Nb@sD zePM3me%J4D`pFHDe;i*uep2l&h`__5Fox&yA=)|P%3yVhaW1%?F7|$k8!+7W)CRnr z6U|${-h)ewXUuPjhiH8f;Wenh>(wweD)l8iBO^EDj+5CA9Y`6j8R-T!XCvdM+n~uQcA#g%P2@_l-0!N?Pq10Z5r<=eF z9&Q-&2_zOVN>)WD4=V<-t?U2au?(VGw(1q}2pVQ)((l1#U}zT(n>~S>L!;>C(13Fp iZmVg+Wn+wdXe8QFWMpQ&7~=U9ZvqleYQtP2)zbe$i^!n> diff --git a/hub/city_model_structure/building_demand/__pycache__/construction.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/construction.cpython-39.pyc deleted file mode 100644 index a979ab2da5ad6d8f0e10633a98cfc9dbceb74922..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3928 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 P*fkY4GRIvbOO<~BNqex^ diff --git a/hub/city_model_structure/building_demand/__pycache__/household.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/household.cpython-39.pyc deleted file mode 100644 index 03559fb49c1c6b86fcf5b0a1011ef179284b83ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1209 zcma)6&1%~~5MIfOt%xK|11%+|z4{On(wiwI#Vt-D4W=PbjA4 zNgtwzK0{Bs_8|&AbyiLsCv~9<8s<-<@B3zLe{<7gbbkG)kG|TB{WQVysZnr9kA6-@ zvOeoFX-WH|JP$)y6ciw&M@G+`9^?Inz zA;_pG0eLTseB>WgqWx$J8SppJ)JK?c3H%Jhp^q5y)HJo?Mblw$H@Fq}UO)^UoCWcH zN&_RRtZz%JUz4`1U9-LeYtoTx*X+vb*U7KTM&&o8OOmXY>kBz%&pgf-5f36?Ysv)H z()Wx{^0N*-dYg=7mrTqpeVHa&Cr!J2Dv~@N0tz(}DX27p^2t&v@KN7brK2Gl-7u`v zoZr(sAn6eeSFq44u4QWt|sJ{$yL zR?KTcXP5_BjxZSJVI)nfgxF8yU~+c>T4_dDG;9Wwx6p-tLU&8kGxLL)UA zOqE7+)1a{2eyr~fWwmK%_1W${_Q!4i$)US~gIO9^7YRr{EFR*gt^JdNxt}X3Y~5os zqj#4GyjVrRG@UeEv#`XEL5R{5X4UiyCVxYSFS#GxRvJP`6$pVYO)cFNRSK9DxNg9h zKawRq&GOKQie{gtLvN6AEyr;k+wvN=RaNL-qq!qhuVcJKPIt5Q)^6&cXiE@90Ci>$x(FCG?&N87AJ5C)GCH-PzxTp^ux7 zpp6uL=yO=XX+^!h^18oj*ZyqhV&{7oiu0nYHW1NrPn71NT^> z1uo7{KV=Y}z#G?yVMwD*fG|^#c1f6`bYZkDS(di2WaY@b4_GAxyke$&M6<4tRN;DGt#zJGjCy{K8}cb67lzg7}hTRxJIaOG7Pz zj(-nY+npD&RB(XixZW)NvdS$5CT^qRLFpbqBCPqv)9k642<*=##WIsIM9Yc?EEvhJI#4> zjNOBvwv~h(!fW)S3pD*Ubk2+uP43_^c#6^;nb5HY6e*1<60YaAhwE+Ay(pA;fWZh* zT+cO#!qpV2rzsmY%OGYJu5cfEF*@F`2dgtGDk^2p4k*(?Cx#vhmF;LCabm~3&y!1-QK_s}|RVv!FvVOHNLuX#egn&*T3zP_U2 z_y#II77O!Su$Hfvdti6U18>iqiR;+gI6&cr*D!~~X~l|&djmjUqb9FO+|E4WhB<8x zYvX%+a=_r)##*s3ZkMm*$Cs$*C}tnbFm?ra8@k{!e>yK-3vK$ZSk-0~QT`^FA#XwX zPsNneyk^kzf+t*OO!}DeuusD@ID{G(Q)}V{5;BnN!PH0eI7+966%V^oj|<+{=seke zKQ2vQ>hVjW7Uy|vA=f3$eYG&ynDJE(neQc}?hMl`{1MP;_Gi8GwKV&`nLgv&EB5cH z2WWngXWxQ}{>1Rc8kSBW4Kbom9CL)(HwE{oQsy!9;q)Pe< zBVDaygZV$RW0}CemEn2DoTKp4Q+R+ChLkE{gU48*9#dIL=PN9P6#kdM3=w|hibb3od_Qn3qF2~!R1}sYnGKZ_)L%nQar^88s4|;HRc4bXP^%rLiHw`$2pB4h ZIu$9KRX-aN_Bob|F&1}LWrfsA{{VmoXX5|> diff --git a/hub/city_model_structure/building_demand/__pycache__/internal_zone.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/internal_zone.cpython-39.pyc deleted file mode 100644 index 14474af9baae3897c6fa64d4ddfa901f96cddebc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4697 zcmb7ITW=f372aJgmlQ=()XkUJbth>Wgg`?WPEs^#5IB`n*MK7kaUBF}rP~!}NUgdT zd3IL@3F^syF8Txd&^#LGujnu6L!S1vPyGc2`jqd?UPQ_iY_BlGGc#vq&i$N`+v&74 zeE<8=8vVPcY5$?Y{8z)^E?Rtyj%&8Yb#C~&t>d@m8$r#k1*UE4G;jL#z_Kj`*ZoG& zw3`aH{FR_(w-ns)SA(|QR&dkr1YNtUYxgz2!dovi-g<7>YutFG^;gpmbWLkL2ooVg z*SDikupr{8F9z&E!eaMS#4I@yERx>X0|pz5C=iMChJd|r6v@C%yeMQN83mZYIbI~O zCmIXvlkAz79I+UCn44hRVVdB?XoN$fShODP-}{bz#2$J>5yk@011`eE8+k(Ru!r~e zA7bj`!EN-BWFPr1j&JQoClgR}l(2ujWOr`gxx;p&a2QGMxor2VZ+6*OM(IgwUq;7b zm|&5EjD62{CHp!GW7j_wiC|y)r>+!J#szx}vRo-Wc0x#lphCJkEDs(G-PV7h8f~v{ zWc9}(IL^$6UYzuG3}bgJ0QCL{h6C6CQVx$qGC85S)nbk$i{V-^{9TlW+?5kdwe}-_ zawNFKU3A0zSI6KkTKpqAp}`z9+u*ug;|8z2&}>uGxykD+d>m@a78> zGfk{2g#%szyvo}Ovjw=ry9!}H@Jqo^}T*G zTXEu4j@+S$vzp^^j0+2&WDVyu^3y6DOX;i3l9{tMGj<96Qe<`InI&Jv%r`4-bZ3GRfDRIFacvNu@YAOg*0yDi?tp z@`DBH2Pc!P>3}0Iahz=uEkc#1>DI#EbbDSugA#v;I8uECSNeGegPC@W(3NU(E7AX9 z{6HE~bI^h@9YVc~-4{t7KPbwOfSJdC#axz#-YI0^`u>FArztIzL4rwe5d~NplTZ*J zxH@b{3h*25FtDyB_WCus3PLh7O`+vF^`E@dI{lA9P)Nx|NtS{kgJW z!dEi+{1Taz#<|Glc?c<(t;;rUmz(G^%RM;}A+63a>h|8n^=cnNC;W8 zn2fVVVV)P|(kw6U13#t|YDzvN-hy9!`rAwREj?wC-zSf9 zpZ#7<_jO6xRogm9$m-XI0R@U!Vd-5rF2?(8u@mP#6?@k*N4iifkYp{m4wM7 zima%si1Hgn;Uh%Z!)Ie&6Bw&-^W=mjXX@$6~;w3`z0{`gjU$?8w%|Y zmC%aBdM-Am$f00$L4ZX8Rn=JP2uN}rw=b3CdYQBXen`M#c+ z1z9iUXit7f41GY|g^)(kH#}!yZ$a2ASg_Dkg#9OgBJXI(JKrGh7{_>0AP?W-`dKZ! ziB;4{MOHFrHDo2T$Vwj~D-nMExHhXjubtIr^|3xP982Y{y2@OwqyZ0ZqSbDYFRvW8 zZlJb1vyxS^y>e}4J+GfNW{u-EsA!)xXAPXxbUIJ}rXbDf0<){E^t;L=%2I`%A5?Uy znjmH_UJs}ZkjoaU1+}k=woeM7QrVq5+g^VyPlw&3$Vc&3W;=NcLdxSs15nn9Bj4lY za`rP+pV82x!lEkZ4)fyOqmt1JlRV;(R#yW~wz=dw`7RLb&NB}+&$Cz+rEz8wKlb`X^a(1^Fbxio?W0jaPi%K8G`cbC zmG>7kO)l74_HK!w2wYb2o`R&9q0=m?1X{Xf8MRe!}!f~>eLnSz#(}3HK zgOuwRD-Flt(a>?^HEc!kB_o)0GLbhiRCSqrk07ex=2F@(Xh;>Nq==hYu}BaiCA||R zS)io&FKg71(Mh6hPNyo8P>m}oPEg2HucxMN)|xFtZ><=5uZ`cvV%umyrI_m#zc;U% zx;mlXlb_LP*U@Dbp1gQkoReS=@D3R)dxs24=PuqM1C^2#WA@G)Zz^rG3hYV_*{5%P z0NJ3Dm;KpW@2xyXMUTrlKL78>fI?6H;LjCJx>%;9toeCvJYP`Fp&nyqqpA1cR>fcK ECm-_1#{d8T diff --git a/hub/city_model_structure/building_demand/__pycache__/layer.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/layer.cpython-39.pyc deleted file mode 100644 index de0d735427074dfb9cf3008a5b9ca200b12e69b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5310 zcmb_gOK;mo5GJXoWyvo&iJj)Lc@_#1J8*)cF#0g!ByJPeFd76&6#)dzUCXrjP?n?v zslFx09(!zo_Rs>p6g~A?pqKuEo_Ou4zo0-*omo;3npFHiXmGi+GaSu)J2RZMR;iRE zxc>bszxiTHlKw_w@X7$O1h;zw1}fDhDpSRj>oPnurebC48ChD9XqM*QNHq6asb{J3 zM5^WeU*Uz)s@7)QC6+^dla-#V-+xYSkyS%yw##7lIc2tIY#NL&lGT;sS%rAHmqFh<9PhB7OI+yqdlp`7@oNjfFuDy#x>RiIF=l8~FGr-a-X8w0u1 zK%v}NLhcNm5pv^f9OPz!Lb>sT+*$gbkegr=Aa@QZl$%J%ou?Os+$5U>xr;!d++-v- z)kBQXOG2*7svvh6D3q%v^j)D>h1@io2DxiMq1-ghLnK}gav};llO;mLjOeE3xzEo>wGG$dEl;y`7EFV7#x2klU)?oaW5Z;z)uL)U@Y`TVwf7chuHgz*`*M(VnYpsuPPqI`23%x1jVR^7JiF-wI+XQpY`P4$(-cQ#Gu zRb$KFXy{;g$WvX9gOfgIjSa|2ilUTRnoS!f){41S8+=s_+wfF%0=MEc43eBr`Rj~{ z?VRh158uwSpkhzjhT`Q*eA<(LP<|Afi)*+=ofi-dgsd=+2rGy|ZxW68wy_JYYo^)8 z`AeSxqg$~E2csPeSWUzLHj@e^i=2Ub_96jK#ll)G!*gIjkoA4o_#BRR`8ccyh{FMD zuM{W-Jr7Se4}+91$tAf{3|%xRR;7HXI^idVt_WLvG4e_7+&kb?F93;Q6N^FcVGa<| zGkDFh8CG7{Hq8^Pn#{4}r5ZcZ)Av4zxR^RpzB3-$+vDkC9eHr!yq99QuY2$r@nt^c z!R$3A4$xvhK0T`KEsbjy+0{&+Ee;sIR#SqU@IyGTuW*c|ASVP5z|LoYH4nFozDoI` zd_;h6_KfVNGQm`igW8P(fD(5n70OEYeNhTNL{lO-t09~*{%}ag;LQY-cZEGqAhf$$ z2CR(12c|+g3US0Q19WIJrq4mp&cWIe+>xb6gzRAwvca;4k@;-idK`x^H7*NiQ(6+0 z2NizSx3Du6VmZhj4&_^;b2$m=pw_q-F^K!A1qkz5^g%e1hVTX8uA}|O49k_nF@7|^ z(>w~uMKmxCj%l`jTDCF9tNbaI1NaGuAsHY4A?N8@Z;M9QnWZ^ zpqV)Wl6a6w4c5s-!}K*;83pW_5YvRr3DI3jqC3Qy!*CYlCRIq8;X7?Bh1nrNi(RUZvrE89ey*-QXQH*n?$pF&v8tq*&;Re zWnLKubs;)6{W1V=RE{Iga7eMak6PWaJ#2H~AR^k_kCVkBX>kn4L37vmRkSt@!fU|z z4J|!pDgI)3iRhmZ#ra|3@%%F(oIteS<3P`gEoo{|p6V8XzTV%_;HWCk#4AN#XgJDm zZP^|rk?t0XzU~8##ena7)$81ZZ)xaX2S@%KM89?l54CtWP*wO>03LxBYq#Lc5jux9q!||!KMDc+1P{96bet^|<#OhK)ikDb diff --git a/hub/city_model_structure/building_demand/__pycache__/lighting.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/lighting.cpython-39.pyc deleted file mode 100644 index 5a6e0b879e4c7b0b7e9f3555ef5145f87818f966..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3037 zcmbW3-EQMV6vsV|DNLl7Bu1pMcNIkBG6JTs3<^HDU?E~Kq1I-J(JeOA7RGs zDpBv+ci@H>=tFSBGjQcwxZw$qxZ<3NZBt_gtDb4Bda8F#X6|au zTKYRQv^)O6Vd6&zG>lmqaC>*>^B?Fl+VMReNe;O!#-qgV`&_Kk&gM=BK7G)74rwgt zv%pQbu-oxqD6k*;$2nblzP3i&apc8<`7UjL@ok$Ph&UbCJ0d>fUILYj3%cV6uApDV zk#vJ&o^bkEaO?^`qKwl$;qSXb_;i4xR#=EOyh+C`&$a&n2ehW1Rrex4jxwX;%cMy% zYu7vE=!}Q;m!B#WHsFg;R%)!CfV&GK2$J%SSIX0PcQY+mW=ybihrD50*N z>*n~QRjsgbku520gEv6C3?FgMe3ix6?1V6q60w*-?vy|%KpCcAAAPAt-@UU316Q~qJ$8eX zuU|5M8yB+jM!9jWi#m*&Rh4kcAF%*c@4zb!NHo(TcclHYpnVagbP}a^09=F7N&zoj z^jC!QduU(|`$+-2MEF4P9~a;+`kZp+X4Ya6T~YolVeV?ch{y2leYF3cfX6mrII9I8 zB~u2yHhe8Kq%3?FukRi&(6}7#TLs+fx(BlTs9;;}$8BJhD`jADDQ%$b_XPW*h}`j} zc^|HDeJJPJnA(81(6AipN&$6B^gyB?7DP)OxDBZCp$zDoVDmQ*0Qz+Sv^aCr7v?7J zcf$dvpWK4@$H_J0C)Mtp2s|E2<9DVQqFWHIjTQ^SMfJ^WvF{VycHv&9w%ty_vuOQ# z`>zn5GJadEpzURRSD^wgQscO&HRth6jNFhrPG&oJn8Hm9@^#1gC3S1&Ueny37?q>9eDo!-QRva z?Kpp+aP+BxumZ1Mf<`zUM-bsAq~~_rUaeCjDAy9NSMSt`bKeo3sK0VV{iWOSg}>>v z8u_pAVfbAX<$az;1KP_(p2%=>~6*){aH1G;o~X^F08X_P4ubGrJ?qgA@2vb-N|sO-6n3``2C=ti7y zMIUCV=EadEv{5d`v_|HO3+F)Ubr3c@GsE7X}LxHNg8Kq;jP8m zv`7(bM!OP~iE#etQwL!MUi~LD(&-Q|oGVDDCR|Z_<#aq*m%i|1W81v}#(GVJFB-4B zm!uQO;Q5pYKys{f95*FGiwk84xM`3O7oJ$JDP}BgT22G*3P^~XK7pGRa~9W>O~73R z331Is+>E?(!zs@=FRoeategex0!WCR6&}#MSWJ}^4;Mp9ONmAa*BVA50>&6W*mvPw zg;#$Fjd1oIHfq6I(06THv#n>_x^Q48vflEGd6tbGih^7;89d4zerb=idA2@%u6U2`@g$eaN0eE|k=M?=M>3GVGxd0grI7=lNx5m4j8dVs+V{$&8 zkaOmDmn7?HN!ECW3)E-HIL=0+#Ra4Ao0vrlT?n6?0q zSrtR&R_v5S_bDoJ7*Zcquy)F4mn7}+NzyK0g0mR2R;XeOqyF9{7<*X8+UPQPW1gl? z<7uJlws~-boA)N%R6#Gv$AglO^DB533s%P}7BG81x&#Y9mMoNso|bp7ofF*f$AiA4 zpVMu{;l|HWJAUHgc{Z-qezNliL}A%m89CR=%~-kFvyza;@aBY&3gqd0;D-Bn>p;nD zZ=LV$QSjC&*Ez3x|DocTZtLngs#ZnB4VVxURa$dcEu_3B87o4Dbp}+k&~GyKOU{$S znFeDbix^W_Q4~R6WpKrtfx_f5%9wbi6~2}R?jVI(QeogJrh_rA(IIigszVmRXCw1`fhCc~+QswdNVE1Ymu*KE diff --git a/hub/city_model_structure/building_demand/__pycache__/surface.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/surface.cpython-39.pyc deleted file mode 100644 index 4fdc15b609eeb3f4f215b874094fa756a7daacac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11230 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 diff --git a/hub/city_model_structure/building_demand/__pycache__/thermal_archetype.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/thermal_archetype.cpython-39.pyc deleted file mode 100644 index 768018876da707a86612280ff73b02caf108e6e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4124 zcmbtXUvC>l5Wn;PICk2mq;1+#mVyuwjT=^ffNXlA*~3;XxZGZ?JM`k?48rv zst{89G57-c8a(g`5D)jt6Q2O7Pt2@+cXo1#?Q+pgc6avnW`4h!xiKr3iyB=2{+VmO zyP#=*<7D(o!()JG@j;}=NivEOV!gnyRWU}x_`jN;)Ax3 zHnRwmMqBv3jv%(nyOt>K*FHHQt7O+SgyRVqea?mBn@v;5O|rXF+l8f#${I*ll2wcO zLKdrTrzg!;+b6#tll8Urby9U5!pWj}4c`PcE{E16L;t7MLA@OFJ~B_AwM;3i_h3$9RhBqVDI>iMn|J=zu+BEco< z4`PoRtiue`?*(sA@x+&mTCOKN%DaO4ZnW!An!F|OJk#N(gaCq*AnZ7m4EPRKVZCWu z@I11Qi-I;?NslmWAwF@@>v_JgsoQJ@cV^h`9P2^G6ISzBlVyPA#V^&(#zRj?uhF%o z>-vpa&uBAg4u-^13y?{(XInXpcH}cnCK1p~bd;-!WCk4F9IYm9vuc*(# z;HmaVQQF^zC?RA=_#-u9jA5nU9GtmHz8}rOAC&G`mzaBU9tGkz5NLK#9y{t9EO{7# zTCRWVlnY~94Yduo!iD1~aIsE4)m7l?5R|F@XUdBGNgi~VWHvcsR#zmtu_rIV$;T;K zf`36)Z9L(QTm%(?d+5ZJ5PuLuJV+HXNEI?j6=FKX9!D8si1{J7S$JV0xJ!wd_jYVw z|E*IXCq6O**jq8!6MPxNJ9cPKE}=h{QH%$RyaH=$vGr4;yBVQ7%q0>Q90c}@yY|MH z=YWg3kO=O@;b~F%dOxqF2$0Bt$Xcwqm=dM07VoRMl&u z>NSCSO?;PxHV*4GV*Kr0d;L6&^JrdDb+|qGdvHItzQ1t_^~ulAz{A%O4>P-cCNs zNy3xP^5sl)Z=gR(=-vdykFoVrqWd6<`_WbdQ56JQ4KmVdkU^_Kpw++(*sk6`2lhEM zGYR%Pqwks2(zIiL`X8Rkgjr6Sfu!%EoEUw!aeMd_Es)nFY7Q{ zP#P2|cEj-F6UHSz$sh%sydBTUEpsGcX_*Iiw zKqcn6#Bh-WMchxQ5q6+54FYq|y9c76XVQhal)jkH=*4^r?&<%lllE3J@=Z9X{vLGr lm81^8a-zepjJCA{kIGX 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 Y60L;9OTAR$>{|&zVjU0uv{LTB0jkreUjP6A diff --git a/hub/city_model_structure/building_demand/__pycache__/thermal_control.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/thermal_control.cpython-39.pyc deleted file mode 100644 index 0d46e44550c8ef05c78386f47c0b6e5834a2ed70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4905 zcmcgwTW=dh6rNez>y2}1Zf)A8rK3WjMy)C3iKtXXDXNgtC?c&?8CToQ&N$w5FYfF( zCB}V91OkbFzymzyZ@^#RXlr^2WXstgSI+5n);EKEIZw$w!gJg_ zAl%$H$`;RWlA_i49Tq7(s0kT3{%RB|8Tl-Tc*7Tk&5gT{*mbt%xgv}O)V|~*R9@8+ za)qtk+gO9HPf9m{Mv`6k9VKL8HLCAPZ@Z@0Z-?yWjhiiYH(W4aD!(K zNI5HVJj-(jWS^EzsGB^m>v>^`32uo()i_7^#Ltu$_~bzrxF*Hq&J>@57S5R*;+y6( znr~W61K%lVA>Z^6-z=Zgd^2JO_~xO7d^2snQ)2cU>Arh`FKXU7F$cV-p@qD2BYDs8 zCCxi8=7IMtw2*gxB=0$XUh^)91>jwV7V<7|3%1UMWTt=HG|v|p>+fQ&@5C{5yI|e! zgLMPSDwOyt5KdaePAS+Q>V~EnO|zQjIN2nJbiHUMOLicf(5?wbdEvGl3uV_MFI34~ zU*DGFKJDV2a_>m7|A(j*%Tzj{dI zEU5NRYjvgaFcvbdGy)k#sEjk)a?G6 zOZ{+_I^2D5VZ1>%(Qv&76-6e=3)&)g$>YTrhN3MB#n>_S>AvxTJ}b27CXsnyEM_F) zoMZy$o5b98{Dz2&nPlR~(0Lf~f<};7ojz@~l+5AW8N1D5>-lG)FSdXX!=x6Sr_GCl zI`r|6*W@y+p^nqT8li_5%0-w5ik*hPBp-lvL43Ictr3!^qp9SVfTb;YcAVtB{Ob_6 zOep~Auulo}9)zUpJuR{WVZTA-WvEf8QLO!9VCz?a$p(+w0q-dq%_rcBjNKE8wf8pz z?_t_|Al6pBP;gd-VD7N?USiEC6wC|Rs_d9aQ}+YMi?NQ>^HeZXeg zI*+vqn{R5Jx+9%{>D{{0XBs$`w57C#4h?wtA9MPRhdg!dp{e)L7=6Hx zbnT&exZ|<;2+BBr#-OePlL?h}xTeh?yWR@nnDyo=EUIFN zW^mMVPeG~+X#h)8h+`aCFUK9_JlLxX_8E)9kD_W-_YTGMuRAGo8Wj(zoCMKEdh_xz zsnipglq#KXemLmT<1?`F@S=%Z`c!L2?eDuDeey=?!+*d+>+%X3h#?t3AI~ojO4|@a zK0g}$AG+udAJ(00=@_sFPwgJuA0lE1U%|)JaTNGzpg+=W807JZ^ece;T^HmN zx5e=oe}HyiNCq&*1MgcXuZ!_;T>9TJo<_As9M|$)7&ti6Z3yF`=zMe?dM%7k+!n`U zd=>4$kPKjqcK8WO8{^_4-mgL@5VoBZY`mYrCkCib+4i%BqJ?@%|+7Ktbn?ZvnArHe*=^EtqLJTgcKv-k|y)`aA6l7W6~A_g}BHUYwBEV4)-% zII5Q3?o72;hvO%e8)Zwb!IiZ%>dIPjl!EU$4JG1IXM3lbpqQiNPpn(1S#M*I)R{uo KoT9UID)TS?4&*cd diff --git a/hub/city_model_structure/building_demand/__pycache__/thermal_opening.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/thermal_opening.cpython-39.pyc deleted file mode 100644 index e274d93d0b71549ef79741db3ed3cd6259581a2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5676 zcmcIoOOxZ&6_#ZA*>*pNd36{r&x#Y;kcL$kl^SSL17T!}Z=>mr#_N!QWILW630c_>dVT4(I}!W-jP1U@yUX?i z-w7mlZMOfrPxe_`263-)D1-aLiO|V~WVd41^8_9dhL&Q$+NwczgGPJQ)(vD3iJQ)7 zw1#8j&$wV{iKKfkjsh9(u|wChCHpY&L)$wRkzj9o$2JWK6<$G& zaOFAN3a={MidX@zh8p2k=5VWgP2sAd3fwwsgsaZsHu$E()kF=rEz}5Co5Nk=&nVog zSOxAfYJ^*z!(HK56>d$e0e1~G!mZ8WuJdh$TNmrV{Q@<@t=Lu>%|9BPEy zfG-(;UX?e+CVE~N)p!9D{l#Q;dXf*WR~VaaVvc8rA(|cVHNL29;NHg_z6Zgz6U`b* zFp9FFWKKy_$-I(d6KsL*pJCGD=T)ND&iR@*wZy;vj_E9$t;17Cz;vTg;(LfW2Z#c8kMbdnv6bBy?MkA>9{ zc4S4;_QRHt_yf^uxsHoKwpjn}!blfH15#OA@Ba%&0IE*Bz9Qc+GZO`whQvdq;OeA;Y7%D}x|9I_x_gTXxe75FQC%$adcf`(Y%y7E+J!JR~9O>p(te zdBN95o%r671Ah$rtl{6qQXJhwmf!^CqHFv7C>mxlD;TD+Mz0U2!Adu>tSw^i5`?A~ zrhXN@q7SZ2PlU$kt?Y?#9V4A+_mO8~OdJvS?q%ui4^7asr*$;9i!aJz!eX==xUR1kXE@GYfp+Omi``t2UNpBJtvFMBQfKc zCK1UuB^jw)KNMF8V7UA_Ji`KnR!}By%$V%*10=Y@@IU74rXWxOKqI6!>Vtzh8&lUa zn$FDiS@>0qBI_a(ONuPU##S7VJFswoV>?n^bzPP){6Y&%8nKSvkYZ6Q47O(Ur+!EE zQ9mv!kK>l6;t3YXSeKg-N~bzv5p_k?2kPJNOi;Ci89f`Z$y7k@P1r!|MqZhuY&kO| zmT@h~E8q+*@>z8K26sp+g;pr(OZxr8OutX&5Ay%#uXTskUF`NU{(hm`tCIunk*cZt zw`bfxiJPJ!kC(_iHG4P;DGgtq(}4MeWf5`oB}zF(5|zw{24wyrmdg`kTZ7DPYgaV9 z2h^#qo*>nKMBx9Y`fe%nEby z1fX5#!U?c4u>^fWs;2y3pW%N3Hbp?V5;kW_7Eg6!NRhIJ65g!Ce}%Rt z?k5enW~Q6f!rFDC$o3tG|yAOm@?4F1x#LZ z&R#zQ6PwU#Arlnn{~(pKm=I6R#8cSxI3|=?ij)`b^(qyA^0zzYa z3TAW)R>(75(y?=qYm<%1SJc7zUt>q-2Qwcg8gt-mzti65gibd&nyS;yQ0ql0XL8hY ztqbPc?}{dMExEktywJT>w48F<^B(|TSH_3 diff --git a/hub/city_model_structure/building_demand/__pycache__/thermal_zone.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/thermal_zone.cpython-39.pyc deleted file mode 100644 index 86cb4058a7b055837cf00fcaeccef12a57d0d605..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16207 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 bBvob8Z+4PdaxS41Ss_wj-T$vpcs=o-lT$r6 diff --git a/hub/city_model_structure/building_demand/__pycache__/usage.cpython-39.pyc b/hub/city_model_structure/building_demand/__pycache__/usage.cpython-39.pyc deleted file mode 100644 index e2a31261480ff874afe7a9e22e242de07d34bc3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7293 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 JojCdC{tIL`_3!`y diff --git a/hub/city_model_structure/energy_systems/__pycache__/__init__.cpython-39.pyc b/hub/city_model_structure/energy_systems/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 4c55699e7718faebf75e18532ae7c7697ac0f206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_XvsFxJacWU< zOlfXWettOh#!^Omb#PB}6X1xTL5wxumox6;)?(OniK1US>&ryk0@&Ee;!?L8UpVb|BY$ H24V&Pj&?nQ diff --git a/hub/city_model_structure/energy_systems/__pycache__/control_system.cpython-39.pyc b/hub/city_model_structure/energy_systems/__pycache__/control_system.cpython-39.pyc deleted file mode 100644 index 775fce2c2f0ef446b62ce4ef6cebf7218e494e25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1120 zcmZuwL2KJE6qX$)@k|3_hqB#t?V+Kxw=hOWR?46YVWCh=K&Y0Ix^pb=Nlvlpt^G6k z8$0g2ldt;`gPr!Iv{|!NAo29x)6@68PvX5^L~#82(V1QNg#5Idr=x|NW1M;y7eQij zN`xo;dm{WhKlVgxLiU34I|ieZT*ADfiOLPAjOt1oxu6Rr%1lO+@rMh#PtVds=31il zQOMk+vsA)>o}G@*&~?;5z*Pa=&$y8g4OLM=I=?dX+ln3@93Ii3$`b`5<#c%Rc}VA= z$|4$rx|WH-ppZbvX~uzmQn}{YQW{C$XG;#Urb5zlNG~}+N(-CRUu=?&5%junKjBe= zY_`Ux35V#G1Zk7l7hc>FzG&T(IFM}-i1t0X^Wu)|Tz5t1aVNUips?v7a@&=OYfAkl zqL#~F4^1+zHF^{8$<5YAQOFRdwmJ!NOBk+L(;Kb4xW^EFx|v>;m(wIQ)jGzs zfif{A$nBGQ`iNp(sb5r0$XJ@EhOwT-Zb=ZY-reHde@yw0v*qnLchI;c*N$)9$M#Tq zD$VAJS<=oq0Ew{j0Y!vJ!1=&l3RXJTjrC#+Hi13&60J3^PW@^dmklQlGUnJ}Z96wQ z+%16G9BV#`%D9gwF`On)8KZ ztcjS_1b-IVJB)oTdG-+LGA2~Q7<6svumDv^FqJFUbhI@1wVqsMUkcc^fbIGVoO%bB i&WBBJ0%gi_=Njkcb#v*}*knRSA# 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 diff --git a/hub/city_model_structure/energy_systems/__pycache__/emission_system.cpython-39.pyc b/hub/city_model_structure/energy_systems/__pycache__/emission_system.cpython-39.pyc deleted file mode 100644 index e16aaa939f9f48ceb4106f59432cc322cb550c72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1927 zcmb7F&2HO95MEN0MAJY0Lt8XRfkh8Rl{8A~+=L=Xp$0|)S5RvNDFguvhP$%q@UOE= z2U2~DUq-J{^bvaEwGUCCr_QWo(Q;KGp|Gpnnc3NIzL_Dz{r!O9^Y@>v$&)5yf6?aV z)4M~-Zqu#Q*$fy&@n8fzWr8P`*7RLav_mWc{ZhTs3f zAMoQiQkhn``a!D9#FJP-j~^cmk5Tlv`v~V8_=6-g3W9!KOd&o!GyL~CKYVofnD_H6 z%0b24)MznAm#-b zb<>s6)9Bi9HwuFY<5+uE;ZIPk7zWHnu5?BX>B`0x8+ocJJ=wfsZ=6v}wa(kJwc0gh zTl!YxD<3sGt6ftDa@T5h)DCL)u6J@D={%?ouBkk+OwR5EoUe;`l!RKNIC5^_rL~Kr zk7JpzOC~UFI3seLUCHnUXV7U>y8;uW5|M?es+z(~3srqCiV#8_n>Z3GQ*b&J$d4}5 z!eCC&{S^07t#b&yMq79UhDM78DL`Tcg5(`(|Vp{n^#93^F*r#AyI5DS%zuBkjOm(mA z{=*cpWtpPGm+ag!Gy57z<@`t)s$Z3GqQ{DQpb%Qt_nHh@YxdbKc(qkzEyxNVTGOxqsYNdxn@R`M=gz*dx1VePN%>3pMVORo4e0>L z$=n4BwrW~~1z1X@MGU*Rx`Sg0^(_heazz-G&^D^5nKn}8(aA6Bn`a;0B8l|xK+pXZ zJvF5NC+2`)?a^eZsQGvgW%p`SZ^_5;ijQr*#N&)Zh+W0Mdhzf@XPq|ejnG&T7MMrK zHWk?2ZT=5y+_U?)*xYvR9a#Qp#qu_X8v~^St17Ld9l-k(?513NfQnun)1VX38-SWq zh$;~D0>O_BuJ?rawG5M`rY(fbBOzc1&sKf`d7;2eZK+o+tqgu`fbtA@Q2mk;8 diff --git a/hub/city_model_structure/energy_systems/__pycache__/energy_storage_system.cpython-39.pyc b/hub/city_model_structure/energy_systems/__pycache__/energy_storage_system.cpython-39.pyc deleted file mode 100644 index 6772954ccc1c8fe071ba4542a282093a4fbb12cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3408 zcmcImTW=dh6yEhM&c<$%rWY<1no1QR5;0MO5DEw-m@0sZWf~P##%Md)87CX|V$Q5n z*~$xQ{!HHa1^fn{_LV1o0TNG~Gi&eK$tFrrS!<5x%$dtM-?_~2dfhVc`}>bduY_xGYp&%gv(j;$+IRqfN;>a+7KQ|Jg6B832cu` zDcCa}9PM*pinsQ`v zbDYKjT-K*a4L_YUyX#+wp0Q@e#hovk4)v$MA~M_9)Ne?n(J>L{f-n)!f+(IEosukz zk|>`Vugy+HR*vRGCFROuPE@s|Dyt}&Pr0(N#DbR0%XyU4Qm!oO;+B?J(n85%%9X{E zSk{sSxqy<}DOVON;*OToWDO;EC!Dy4KEEHYB>vt@+`Xs0J$h&{b}kMQ$=LghIT$MG zNBsh}CN}i}5@DPec0v&o>=!gGYFg5?EDSu~Y^_z|6+0UCr7d;f*%WwE#C6@l2-L!O z!S>O=o*i&sqRi*Ppoh^o015H39fZCcaL;ylpF3_e#2H?wlvFnG$PLfTxTK`lJ2Rk$ z+WqrubF2GYNl@K^4`CQ}+e7D&gFlWu)t#uK(MV4A+~B}|6~fOwFMQQK9PD@Lps`k% z8UwA&?8E7&dh!hb-n>HJJ_qhI4bDu2v|xpFUM513odpQoL3RV%e+ErwB-6FvD$pnq zazV4QGV*Dr$LPJh$jqkR7%+;+B-y8Ry&SN+q;DQz_fW8%DSFK)`y}-m)k{kK>4JF` zaC4+cUTW8-clbKfXp|dm)01xi-e+1h0`GFYF9-2H>7EB7)u48!@-;#HJ_QkrA{$>Z zY;wgAsFM^o%g~1~|gr&1eI_BZKbp8%|ktsZSloy`o7u*2n#57$t z-;il7c$+NCL;oEVyv&TbCi*XD&`)mjb$y#(L_P(c;k<}_lz3r$&t2h+c~Uvg8MW!x z!(pa-ey~qZzJU`G3nxzaA1rLayJTRVPadG4pV`$~tJ8~wlFqhc%cf@y1~T?*w*AY1 zdt=F*ZHv&cZMcPN<7ywmzJzF~@4~pEWQ5OrUE_i37Es;+xgY4fsk=bm3iM(CdO{PY zK1NbCOT}unU|Mq}Y}fnOJG9nHz;J`O$oCzf=Yk&2J29?)o*4H9y_ys~WlGgr@n3l} BIwAl7 diff --git a/hub/city_model_structure/energy_systems/__pycache__/energy_system.cpython-39.pyc b/hub/city_model_structure/energy_systems/__pycache__/energy_system.cpython-39.pyc deleted file mode 100644 index 85cf60db99c55e6ffa2d7726e6ead66abf7c8965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4518 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 diff --git a/hub/city_model_structure/energy_systems/__pycache__/generic_distribution_system.cpython-39.pyc b/hub/city_model_structure/energy_systems/__pycache__/generic_distribution_system.cpython-39.pyc deleted file mode 100644 index 4dd5b6b210d104c11b9a25a4ef52d97534228273..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3365 zcmcgu-EJH;6rP#=o6IJqO$rEskclWXQkqsRSD`{dn<^qomx!noEen=2_HHJfzuGei zyUJa2#}mLC~FFYk|3Csy|$0%%sJore2&?|f@8qbT6isfhtZ!n znS4qx*?^|rfsPw3W6R(sw@wXiy|G#*FYOsC<@65_I$I(X(sK#^b$f(+Dv{oPns`x2 zR8J)$AY633(8CpHZ+G)M@__7kt_YQY(N|oAiP!OjTqiqQyF0M-WbG03kt7d%mI&!I zqPQo$?m#rz|Y z2=b+W#H8qhG2{gp$fWd0jGNYi(WVV|sCdm~jtlNhJtI_pg=Jv?4o1u3W~;<4UOF{e zWl`Z}UO6@1n60X)9@cnuG^_9$x3$C;Hb~}1vkG^3T}$S~97yIzvkG6}x3t6&4oKb_ z%_{shzoR8}Q3uK5aK@J)GIz8022t6Zh{m1{M*p5eNTHOtK2r*IxaNfCIJTfQps8i( zxN&08yax6ORVW~@(jZ2X z(2n;L?fB7g_G$4R2&TvOeUWdRrw4*1)Q^-B>def_O8A{KL(YM*e;qc~+b@)ms+|Th zijwwj&plu=7!XFa57K?zTrcU-0O;dWAaUxVo$Z|0G^es^cXPT=8#;$CJ`id3g` z0kP7D%&ZQ6{pCX3*M_fMz#XyIxL09tVjOC0`_CXm7{-Jkz@#IifPBw9xk`@l$gC16 zI&fqF>oEC2?_HMy+zHnS9?!6=*Un6dVU;!P5URXGtFtmHz6&FTTa0S|!(!uctE;!+ zR(NoXO&gBtPE1W06Nq8;xAn*Ou48=6Bn!w9^HVY9K~v6y_A^V`@RwEehI5`sjKl}f z298`C;fvfQUI=NVD}^8p;VUo26GO-dV&E=Ih6rQQn2GS>Ma3VF&Frrh<9+eP8=-$u zO_5_$@Q=M~%G>DNE$pW0Bk#c4>e!nrg8s7x4QXAJ8;I8-$$=m-iTT#d;jy|NdBXqYXmk2506!m*8dN@rd&kqW-((41W(84T#*^S{3~V*i^Zk%&|lCL z8C+#z8S&H=oZR1jxP2K>7;8LA@zshF|?J zKy6AaJu~_9HVB@N0lOl9@|uI0W#Xc6E;F19`z471Yw^s0*C(`pJ2JA`zgHa9i8rnh zy05i$7`ln~ui{T(D#x4tOu*j-!H;8Knk(~o%L!Q^D9s#-7p4^MVKkek^mWSofuu$$ zk6cP+9p24sI81Q$OM1E-XH_Kvq1b-)yc}^8KNjS^6{kY3{`r_#u5!DBFJn62o)U diff --git a/hub/city_model_structure/energy_systems/__pycache__/generic_emission_system.cpython-39.pyc b/hub/city_model_structure/energy_systems/__pycache__/generic_emission_system.cpython-39.pyc deleted file mode 100644 index 985830ab7629b2ceac35e6d5ba5b9cbc27ca2132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1265 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 diff --git a/hub/city_model_structure/energy_systems/__pycache__/generic_storage_system.cpython-39.pyc b/hub/city_model_structure/energy_systems/__pycache__/generic_storage_system.cpython-39.pyc deleted file mode 100644 index 57fc0ebc8cffdca47a3ee3bdc54ee39fb9f20a72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2321 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 Q#CSricz7 diff --git a/hub/city_model_structure/energy_systems/__pycache__/thermal_storage_system.cpython-39.pyc b/hub/city_model_structure/energy_systems/__pycache__/thermal_storage_system.cpython-39.pyc deleted file mode 100644 index 073c98fa6f24da4e703a928804021f0ed62d97ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3320 zcmb_eTW=dh6yCMhmu&3NCZPyQ&_JIItraB_4=I--w~7#H6xCE9*Jw1^8QYug#mwxc z*vb=$)PI0@-~k@P&){e5D^L6do;YXLS=;S8B!aPaJTvFa%sJn=%whGqZ9x0^r>))^ zjQ+&QY_nkU06w(|9XC1#H+jJ`{X(Z;;<)G)eXC=c#;(CFUOF>)Nfb_tof0p%jYcIl zOvA9h9ti0(kEke=tS^WfsYv*C`{3cX^NvL%$QRx*lVVJ`AWx-x$fR`15Sf~O#`M6sIJoIBxEFX~B?9&s)KEL5&4l3O z2@8(k0HSc#l<91K?_U6&(J+&>M}d(2Q9DJUtwDh0(jFTL=^)c=L*%ik-=Pym#{~2X z-0T!z8a=Q9FP>F9mMEpDpPHSrC?8dL8Ev3vC0^lGJ+6u>P?oY;Ni6kEZvSHPWnMe8 zfZG-}aMWRjdu=#%g}F~QZ|T0I`!Y8` z40FFxNlGdn3YkcEvmabP_Gt)vSmXwM3SO$m zu@uQI*paR}q3cnH4VmLcqjNK{l<<1+zeK5nicorP{QYBVr~6dF!QI%GVHkA}M$Ujq zf8v>{E3`AvG#022{^fai=ZjE2?|I>i?jSzw;teT{sz}C81d`0}RNW|zE@05nH94^f zaZ(1*RuR1#bVk88%ah-DBhN(53z%Lr1Dc|R2jPh)#*qei+yRRbvMVA2B9P%=q+AE0 zJVlsh8o_*HuzWcs~|!?`f1#JG!=0H`YGQv z(0?+A{`GWN2>313V;#GBFOqM;+V)fl$iwB-4X=p!#~I@ADx|ULh5<>FiKb<4{Y)=@ zrx(Gomr$Bq$4)ojpGvg=+LZ4a(B99WT`24vg0m9u%ePVBJPh9ff{vs#46le>FGFsU za7mVM$xOms?7Up`r4XbgJmtohr4S78T%R7+@ zX35=l4Rbuq%yAWs7UA45DA2V-4sZh#8 zhf@8ZC)J_EfQd%>tw_pBMDUdAgeHr4F@~i?n@YScsZYuh2MP>0W10t7kOiMqiM1xa zN$M_iRnxL+O9j)eSny5%S6`VUUGLm)l;!)dG5HiqmS$eb(wr-HR5qQfSR`hVq`B~n r!`SsWR!Cg;)ev(4^8CEd5davNLuz*&lai zonXs%&13Wh@(Nt?3|#FkS3Cg{SDZ6z$3KlNk2Pn{{CMV@@0>Yj*v3Y|fb#EOPWyb# zF#g8Ibjd*D0II5h;6~HnCbxVuu$q>MddANLcGEVELxbBqdu{OSTdSGn&WTaZ_5OfA z6&gMZV-iHX=ZnHg}&V?JpAQzG}JfBJOLli3JUy4|e zZ~aRq#ei@@UQ6$kN$HU;PO1dAlMdYR!WEYl{sHtx*-Y#sPsR8>i9FxM&go)9;{d99 z2SON46Iimi+01Z@XReK=EwU*yZ_TCyy2EqV2Ix7FJJ0j{Z7a*yctMY>!K`&&)OrE* z4Zf-MbH$cC~?`wTiWW|=)-Z%K}JCi@)d)GGXRpJl99{WjF+hR~E z5RzKO^_f!8a>4eu1$7H*9jdB<7@9+ag7ra~Lkpxe%z(@cZIJdb3o<)&Ksv)5$lNdw zGS3az(>yM(C0QD>KqTw5DRp%*ZpsyGT*42l#AEX6`sz#48;rAoZ%2^C8gdr_FIQE-$iMWYZf z*-H5B#MZ!^5tOZYBqiN310xw6#sWoueDw)Ayumv z$S8_ijlO%vWH9n-)e@nQojz546^nqvbrQbsg&leo$&0ohUA4}7r!5z_O2>c|*>mHb z6s?XF_~(ABi#M^-?I(E(RC_U{+i2n)5QgQLv%kTnc9F_>s%zr3Q9&K6b`b}Zp>eLw zJ$M4%M986tiQbJM!Mdv^1)vFQ1b_i<-B&hc7XEx=%1!uaB2ux3%`Fg*p(=Dn!x^NJ zq=GB12yQF{c<3(2MEh**2aEJh%d#kvcy;rZk~3bfP&U{aX)^QSN}#<`sm zHyL#G0bm9e)NgMW2H(-`GU2vZgG0UP3DUP3;x3acAeYSVi5i)}K9(QA(q&5%n`HI) z9DMl*W;}s9!o4D=)d{CMu%~y20GYue4#CVh*yk<|C3@hO6A*)9N?y9^Dv)l>!B=yT z@YWIxD1ZtA$`V-lMX*XR@O%o^ZVGEIK&*mKehA9|0~l5BWB{+a;lrnZ_6J*#Y1 zUO>hqUM(R5o$*eD_h8^?3gI*vla*J*_j1lyqwon~A&uf>62;M})aT3GYJCyp`!Mj+ z6y%RnQkTT)72*Fp2Ok1FnMpImWnG4G7|~yJNd3nufi&d76@=8cg#O~9v+Tk^Yw9c` z2YD~Gz!SwugY1fD`TD)H1YHP*r@kOMH_d|m6`w!9={|7hjRk0v{5ZeyDafN-G9EfE z?_dtXNKR=|pqR4YbqIQq(l_(FY`wCo$eie9Fp?P)x$O)^xJLXB=8UVMNTEb|zo6%t8*UJ^GH@vtNn- zJT5!(6Zj@h-0wnm(>o@gK}xRNm69vtlw3icQ)IZzUC5IB^OT)$FySgpMs}`f7Bl|? D1Q>3~} zIgr4&_-FhF?Q6fGPkil16zEfDR-#PVvcgi>!R*d*dFHY+Bdc6CHF*B{D}T}~Yuev9 zNj_Pa?7@(0K$zCl_BE!n%%#RM?=wxEWskI)(fb30=8^BXq~o)m%gv+1SHF^{q-FE^?cbn`alRSvwsqJZ zKgi=yah?Yz)Xr3#4xYf3AY`8h1iwenS!!ihaDe0O58Gl2i(Uef1 zPeL7K9-=a@O1v}dShx$~G6-HJAg(KjQ?go0kY7!LRGBax#Nu5LS3q!(fH<_`tsI*Y z;0-H|@^U(erMn=mg5c)_#Gw_ZgX$+7fm|*j7*qy*2hv@Rtktc}jnS)^#K)P|AFpQt<%Zjf!32 zcex1qs!I{r90)AH0xO)r3L-E^3(SH7^NhedD=-?OyyOA=K@$X5uE8lzH9pu_VbYS% rffRKkTU^ZOW+BZmM*9q1;3ura3Mk{D=&&x3XvgNga)Hl?{vqR?EKL^ z&dOG9nHJ=E{jDK;lGI+nyOi7D8KH)7@25{moa^)n@DKz5(rzU){5x zT*LScC(YJ^$su%g0D>EV!A)+(W?}`FiQ`t>O6@;dH*ihk$lwlluMO_LwgQiP zr$)Cu{uvzjUyG3_SP^9@Nisf;g?~DD`VHA5$5AL!C1CW7i?oQ&A|VgR@zLNImOkn| z0+~s&7qdc0zn|q38I8^h^2-g`f3&|(`dJ!gl1Gg6KmV#vMlu`c{y=6IA}m13g(QP0 zW|Dl7rHaLuq7dXse95Gk5-!Md8NFaqMkGh0UQ!tyh6~5NkomvECm3C`w2vcI;PW(# zVt6`(n59LC+Gew1atK}h074jn3H({y3|idct!pE&g~M&`TpO>=z=g5PJw5h>chTnU zYUc12?rY78SOLvyHFJc|*M2nlI^Vdq!OJRm>F`Z$yCxj5E;e=zZL!6-wMB>TKs4@^ zjYv!%_=Ge96UIy_SPC70y=XYLp!cDx4?tX*R|bWQ014j((z>!hwys(r?JFCk!wuNW zJn6cnLsOQBa+M}5Wh0S5h|4x*k)$J*gH{2NWk)|~aUO*)Q=wGp(Hx0YU8l5_h|fw} zd$G0k2Fix9JF~qp=aCmnXx^Dw})x1iptxX;e^(`>Qn& zhUr$n=}t{?Z($jlXfIAVW2t(y!lt z7c>i4_ZzTki%^3GGi*4n(h@7#JS|N~JZsL|DezXmJ_DFD$r5tO;;~rb?L^)OCpVU+ zt#q`(-_XhjV9|v>hj~Y`_A0U<>j`8%iJ%59(**PikyXAKh7o-jS(?6;pV^ml--;tU!XV z;NG{SliUEslN!KMdZWub;`n$82dT=^zXlF)VH)0ws{@K>4P3j8pe+}(J0g5qA&lWd zBC`UB@QQQMC>6^T;@$PFzOcU23P8O2Cd8Yd__Bd`tATj7+evp53m;YuN=u(&v4m?K z#%q**KW6b<<59}9kW#q=?#gy9vs}nxqDzrJQKhRy0hhZ@ABlfEbQ~p;Ch>?%yiO$| zY9yRaJzdlAg2K9{9)f6_cB|dCOy9$9FFiN)nq^9Sg`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_!vsFxJacWU< zOlfXWettOh#!^Omb#PB}6X1xTL5wxumoxH6{~iT6}zFUS>&ryk0@&Ee;!??$Vr8JCGAT H12F>t(y=(g diff --git a/hub/city_model_structure/iot/__pycache__/sensor.cpython-39.pyc b/hub/city_model_structure/iot/__pycache__/sensor.cpython-39.pyc deleted file mode 100644 index 1ef28b91c3dd482be38384cd91087ee07eecd8a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2273 zcma)7UvJ|?5Z`rd$90poS2#d`kai5>;0YovcVJpLdhG*xs;f zb4t{wYd;2Gpl^HzJ_ApF<%v&##1k{?xJ~a8sg8CsyR(0O^V^x(sN3}keED##=+Q{kT+fB!Og6dWZn3=7bnagi6vI1y?;I66E&f}tn<#~@+Nqckdn z@&|G{Q_1AC2>!eZ_8#x;1p}GKQt>1T22Y<4f{Bvl)IV18OvD8kxlqAjnWU+JzXG;a zVjfJ)fXZZl(u`$N$wC~&&2IfT^8W$Mq(>|7NXAi-$Q<-;?Zb~E(xnnGuyE?9*;K?h zfBCbaa{x_Wf)FI6K%vEH*y0v%U6Rli4!5~;NiJyU3iqtd-RqtsJl_7Da*uCZ+F;*+ zxjx@CbA926O=IowuCaDR2Uc%E5BKVTy*r_1#x~zEGq(6WxQN}#tsR(u;s?RvKB8B; zP!Z4-r;*k$9#g>Ee5hN{2GI1UAUHWEtd`&q=$4T!PT&AK?AevW@+cGVR{$%O%gQ_{ zbhW|K1&>#>vb9LZS44GS!~Z6O{m~08lpd9tlCl^b&*IZaWs7UnBasU=nK3=ng~%Ah zk4V!bpRm_b{W4DF>(OcXY7{5MthO=mr;H1@piu(5X%lw+>8$b?O8^UF_s|&+1fj0^ z&9`eZ`pt~>9DD?;&dC|Xe@WDC0U2>Y-%uO@|6B71KwuCYiXy1b4Uh{nwyy+W%J&0+ zX9kAz`!8}X#z`*t^6Z|aAR9^L{~V>Ic&e0C3KP|^Rf{g#ZQS}p&@@gbu1`HW-&{C? zwiqw2`B1;U$Pb`%PQe8VE`W9c4lwA03)cKAgYION3)4tNS@0X;TJoc3RV{GJpuV!y zCTw0gX3|@b)ee|Gho&(%i0e^EA-Cq`9mX;8Ow^%w3x4Ul{9=%;=C?;x82CB`}@EB^tvW(L8w@O_Of70X4(fQs`7SC?1>$B0z z>PJEUa1F@0E-Q^~*xSY`gvrTR z9fHh9K@a4qh%^?t0NTytBoTPixHX6g9oht>vOO$wsRXITepK$(j=~^9>?>n& z1P@92E_eDB?()h7>3gEeJzl*a=T5(dagEn)T*uhw4IBFy2Yk)O4Ze;fHH+qqp!YL= zCR+ieS15~;P$^7D)g?eCcF{U$>LI$RGbM~nUG&bhg5I5a=qsGyYn;QDS2P&%80(yi zB4CNkhO_t%%XP$boC>AGbX3&Xw=l^?t6F$UB*%rnSk?HysJXhPYL{FRSVJU#WoK{j zQ3+6kJOwHBpf`?ALP+PGQ3H_)7>=15D=kunk`PG}XG3--;mdI%&ju&?=Rp+f@vO#_ zhCI?JpFxbfDXS;?(Rl*<7KwT~3S~Gig3dY|L_5!(d8I zEo+lUNIRunp%?ls$*_f%1EvR;4wzN;@H4k=9_#2f(3F`&s#l?uJKYk>gfX2OdyMvS#6ex%y)AmBJ;z0zJzFF6_MTKuoW1sWnn59!;i?w6aQuyuQT>F50iPN z&KQ>wV_@`H_#==b0eWl|0j3#X&JX65ORcg^v&u1IG&9sabiU(N{F>_oO9p1fVatWP Vc()HX?Nj(KX8>QB>9+Zv{|_IeX%PSb diff --git a/hub/city_model_structure/iot/__pycache__/sensor_type.cpython-39.pyc b/hub/city_model_structure/iot/__pycache__/sensor_type.cpython-39.pyc deleted file mode 100644 index aa60454cd385868558090f783caa28cb40612b46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 884 zcmZWn%Wl&^6!j~K>m;R>Kw^V53pQCas=}_Ssv5@)mfR%RiJ&7(BjcH-2HR7{wyJas zKhqE32lxh7*|I?W0wh-4Nm>z!vF7;Bxp!XYOx*2S3bfxpnwP&+MfoWQ+s%N%DfIFs z09CL;RjOrbu3=48Mhexb@l~M))4u3fr;SkQHS2FsYK5#Qxj@zOnxUN2I%8Hi9ll2g z$WIf+dQsPjY)wj0Q^k>VHvreGE1(5MR6*04c!+@J<-(gtqPCN^mc?@$w4bO*Pog*&v3 zyR?IMX%{5gT|LM%19fg+SO{&a#b9$L;wt3@WQ5%Iehr$8bP3Xx`-X(3gq8$T!j1&# z=(zV}WfD@vIU{6c5wh_B;tnC7>o|MJv|)iPx#v?iuxInY#kw;Y z;Kq33g)TOyfg6UB-5Yv=>&!@C4?TP4O~!bC=$)O-LwAeX8~Kyhw!g)+Z7(2i=e7^q zU~^=LfZnW diff --git a/hub/city_model_structure/iot/__pycache__/station.cpython-39.pyc b/hub/city_model_structure/iot/__pycache__/station.cpython-39.pyc deleted file mode 100644 index e16485f19bba93882d0c931f4fc0323ca4e9358c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1530 zcma)6PjBNy6rXVtC-t`7Mf^E%VI&SHNNcUSoGP?b%F?n@RaI0-$OMgC&%~L<_GD+q zREc`qehdz9?2)g)XW(RU3GnI|{G|CYm>Y^XB({@AsS@97F`#pTCBS-v)&I zj*Hy}d*lSV{TPfO2@zBT1x+Z7gCZyg$$*kGB8FmgN5trLkPJm|MW$i>GyEaCa;a0g zVx<;!A)~9y=U=nO>|ABCvJz%5gshxeC~1z_`Pt<;Y(0&ifYpXQE>b5=G}EiKQTfub zU+&q_lcOUx(^aO8P$`>z{^gA2M%Sz8(&(2mb8sl6VP~}}3JHS)*G6tw?l(-Sko_}SfvGck#TD$q>I$Nfu>{zyQSxJ+xxm{Z)OYkpbQK%~CH`;u+DD=&I zSzpgH<<{*Px6ag=tBss1@YcN=uhxKxt4cY}A7MNp7(zq%Z60+z#QlYg;$hctzGdNk zSlp7Apv{_?cO3mO_z8LNd%#4naX=$uXVNjZl&pK5DZx@^(n{!()itbcKs4-HGT>e1 zl@v@ZSf$yE=jBh zVb8PNnmxP{DDf_gZTw+GBf9BpCsyJ=kz@2e|Hv0cj``kvwv7^S|07Tf1&9j3vZ{2; z#uo0i)`kD)lzI)A1919pfMM(40|be@lW=p`C#XHbqG=iUpK!m}!u42NWdi+$u5yr4 zPji7R=LWx;%>*Q|lE$sgA-?|*4U%KtLW700V=&JKi+3NoMYT`pa1f0G8tp+J z2h^WVM+TK(9)M{+ger>PR7EjVQQX3BUqr_{kNLN~vL>Ilp*%y)czq4SNw7co8(t26 AlK=n! diff --git a/hub/exports/building_energy/__pycache__/__init__.cpython-39.pyc b/hub/exports/building_energy/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 7015aa45033d5a75f81f6d400649abc94bf8830a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_UvsFxJacWU< zOlfXWettOh#!^Oln0zei2Y{QfX#R3P={BD<(cZGcU6wK3=b&@)m~;P;+TcsvXD$pMjVG E0F>i6NB{r; diff --git a/hub/exports/building_energy/__pycache__/energy_ade.cpython-39.pyc b/hub/exports/building_energy/__pycache__/energy_ade.cpython-39.pyc deleted file mode 100644 index 3c77d2debbd950658e38f284b93c34aee8743c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11344 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 diff --git a/hub/exports/building_energy/__pycache__/idf.cpython-39.pyc b/hub/exports/building_energy/__pycache__/idf.cpython-39.pyc deleted file mode 100644 index b35c8c1c670470984f84057bdd4e14c702bb75a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24840 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 R9F-DF(RspMMugeu{{?u5>Hq)$ diff --git a/hub/exports/building_energy/insel/__pycache__/__init__.cpython-39.pyc b/hub/exports/building_energy/insel/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 4a03ed7a65fa8f6a089a4980b883839d26bc805e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_svsFxJacWU< zOlfXWettOh#!^Oln0zei2Y{QfX#R3P={BD<(6qI5j6GK0Y%qvm`!Vub}c4hYiq((wtN~ KkUKsDF#`Yv%sRyY diff --git a/hub/exports/building_energy/insel/__pycache__/insel_monthly_energy_balance.cpython-39.pyc b/hub/exports/building_energy/insel/__pycache__/insel_monthly_energy_balance.cpython-39.pyc deleted file mode 100644 index fadf949008c46909fe0082acef6758ecd23433c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9270 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 LIPu?lCKdZ%qS#+} diff --git a/hub/exports/formats/__pycache__/__init__.cpython-39.pyc b/hub/exports/formats/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 66a49f7c5cad151a74ada4f1605bb6b59d733b3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 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 Z-m4QE{Rjsa$&~Y3PQ~!>;}&Vf{15E6gE{~J diff --git a/hub/exports/formats/__pycache__/stl.cpython-39.pyc b/hub/exports/formats/__pycache__/stl.cpython-39.pyc deleted file mode 100644 index fce254090f84a4f7d3d4dbe8c78d46d8ad57ba3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 850 zcmYjQL2KJE6qal?&AeuV?XuI*VV4|gN_Q(`6tYqVp@g-A;TeQ#D~>wZN+p>rrMDJ( z+F#hc|6=Sn?4;{X`vrrY_LR7#0zJL=$^P`|do~{o5(MM#uio@KM(B4a9u5M!L9rD&X-N@4cs_;4}?=ykdSQ5(9gxDzHB>G{&gYUb$ATe`cm zyGuv9DYPjir=x=pBU%~V&XbAJXQFVhSqeiBTd9C-#dw zwzS~MAGiY=VxOEC$(yQG+!O(NIO49b6cT|l4E{tV&f*(11((YBx}T97L{JudAwC8J zE}kcp9<03ymYj^CF7B8DVaR*kYF|L&&=oqvm-rI61M4?}p%a1e$j8BnV_Av4rww(*(`;5s(I>v^vCswGbC!rsn%(VmNqnICl83!xNX1E5`p z$02(XLhv$FHhji?OyU)CG$iI30NG2>n|6BBPH*b&8*YNs)f*4USH}c$-+!}~`4;}0 K^$BEiEB+7ZvF5A* diff --git a/hub/exports/formats/__pycache__/triangular.cpython-39.pyc b/hub/exports/formats/__pycache__/triangular.cpython-39.pyc deleted file mode 100644 index 487f858300496a54610275ce3072b8c17ee6a2b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1478 zcmZuxL2n~96t-tPGwE!)+byt2aIw%Lk;6u%+*T{JB8w_krBt*Ch=Q!?*hyw~W}JPV zp`=Pq?G=cN zX{dR^)2yEJG3b)lkd?|zc~;e$A48T@lcq?3k2RD@%|Fm5IoH5VUG(Ck!)M>{M|?j^ zRb>=vpGj5K**H`1nD6f$?xX3W{tim?cvK{{f_R{3bI2ysn*aKW@9ymG@`0{W4Khpk z;L|S$d;+?e#fPACmDac^74W?#D++~6jaP#@qNco}Q#bUv{J~*##XUf-<}yh+l;GZP@q*o3ke| z=SR&z46pbH|%!b3?H zK1y%FP@;Cpt_V_1Fd=%-3v3`9kGRaRT)Qo9Vv7}h_KrA(tX85#SZyR$X`&}Hsu)|= zx-;iJy#HV4_{R4YfqR(R-zS5|qpyqtGiplEx*i?Q(`f?bnm#j9m4eA!n7OG{*@i8O zteS{Z4KK!pJ{?V)lhG;-Gg>8SMmM4Rv$^dEkyTkOgo|j}H$lVoclO5dYkd3H=TeFX zuSbYV2WJcCFQ_a?PIBb8A@HU|Xmbba%I3Z8c2O>Ajqv8|oL&Z3NWijowe=w}Kkp!k?)w&JOC~$8-KKg`>Cdc!EyHhr`bk9XqR^AHhq9p zcIlRPm!56kCUX_^phv;Ih+gRWzy%e;#=><{gJ=lb72;)+6ziQx2&q#c;6D1a@owed z`Ul!X@b8qkT1?v=l=*Q4&UVlX;eA|f_ee8O#y_SVt H+V%edm_3eG diff --git a/hub/helpers/data/__pycache__/__init__.cpython-39.pyc b/hub/helpers/data/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 8806ccd1110b09600a3092555393b508ed007694..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_)vsFxJacWU< zOlfXWettOh#!^Oh#%>0mzJ$#FE6A`1s7c%#!$cy@JYH95z55r8%i~AZtGZF#`Y(s55>5 diff --git a/hub/helpers/data/__pycache__/alkis_function_to_hub_function.cpython-39.pyc b/hub/helpers/data/__pycache__/alkis_function_to_hub_function.cpython-39.pyc deleted file mode 100644 index 65165a9ce6f22e4179227a79eedb4950ba3d072f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5779 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 diff --git a/hub/helpers/data/__pycache__/eilat_function_to_hub_function.cpython-39.pyc b/hub/helpers/data/__pycache__/eilat_function_to_hub_function.cpython-39.pyc deleted file mode 100644 index 6494cd14dd1fc02e4dba606441d357a6e285b37d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1224 zcmah}Uu)Dr5Z_I5f0|YiK@p!8MDRopsc%K3a(A|cvpudAG#o5xcCVM3WY5`+l2f1T z$M6gEYxohwr@ZQmpFr?IoK5fAg8w$mFf%(dJNuj2gcmOO1lRY^_3{(# zi>V~|9W^Z=KA0Hx@tCdNTfNUZDvK0|IAopPu)_{OQF`oH-!W?z&e0EQJD^t zSJFuKD0vlvoG~HUQ;7FNfS66KQ#(C%T8|cq+fnF$!+VnL$nx{cLuDOF-$o`$KoL4e z(7+XraF0mf$(pPS?*kPzQ9ttD)1V<52wbzgUV-y?j?JFh%=Z_{?6%MTgB^>KP-}FH zC?336R<;#&kn}ZVh8$8P2gw!mgZq|nPY^uc*>1VP@=)ryf;>!urLKZBHVTT_%BC_h zVKSX2s%X_pH!`wZ9`<&(y1nhatw;TGsk<|LvbDD}d|uWzclLVya+!<85ERF>^t4RI z#{}%q{m`AY(Nir!kMb0hGNVBeO+rZLP0}NoNjNCDF0_#;#{rT_5@!eewSpJpM7NL2;zn_FIn~?KqHJ;=XR+b@k_DrQj8M;hKW8`o4t;wO)uLq` zq{$)s4PlFNg>W5(x8%^`NoRMk8H{a6!^}joGcYRi+DWQ4_U2uswiqf;G;368&m1UaX4dt?g8Mjmz#Y(Wh0B diff --git a/hub/helpers/data/__pycache__/hft_function_to_hub_function.cpython-39.pyc b/hub/helpers/data/__pycache__/hft_function_to_hub_function.cpython-39.pyc deleted file mode 100644 index 265e97ced046e3c279d7ce4ee4dfc30ac0cb6f5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1553 zcmaJ>OONA35NGb$1dEwmaM1 z)+k{)?fi`W1M@fd4M<3R<;0l-5+}-e%nX9T(O0Uft}a);sA|h#J(4jMy}hf#TfMGEf`Q9JQ_xwceW3JT*tCmQR0$aJv--D&&bT zLMCy{X&Ny+=K^=;3eVGIdx#as%k1I?u@QQn}h;rst8bn6R6CwHD!GsqoL&_~gaO32yQv;DUxeZaTvzUI?D9?1A7HEKqPrnZWHd zjG&-)svxyso4rHCynf^Ba={fl3l7=pfp7l~e+~75Ox}Hfy&Y4ZgTm0%0JcnOOmozv zxhpiaSe_NA_0FJqTDY>_8q*>z0#_yd6!k<4!4= zehg>=Z7=+2 z^H_$-B5S7~htV1@c`DiFVVp+LsXH#6Ujl!TE-krSh02enHc!>c2g(zr?SRKI6F~?G zZK*`K!m%Gkx_s#iwo7@u5@GC%HI~7W^Jw#)WY7$H>(K>1pTn$djv`+y7~Wa62Rauh zrYl2d2p9Z#1!{n5Z3!_6oC z$(RfpV;3@!j??hQ9nx$J9bFks2F|eC7=G)FwLKaS-2v$~JWrRugX7&Bjt4^*B3_bF zv(xXxk<*$qAy>brt6it%PP(Lje(p9MedINUZRcQB2tDl2`r6QzWYPQ@i4UNmf4y#= z&L)xxIZI=~xta~u!O|D;e!}I9B}^>VM6RV`F@fDup+V9+scGlkWX;ahUH?$ceWQ~cvkTf1h6CvaIj%|yo8PJ9TO zwr}rZu%!tC6*iyUTk>su5B3$9Nc@-)qHU5<3!gR6j|h34`qBQRNC@QtAtED6msWxU z(`v1)ES2~eoOg=amX}o~vPvodSprcqtX%1#X>7fC)G`(!a^bmf6?KDn82n4P~Og)&Kwi diff --git a/hub/helpers/data/__pycache__/hub_function_to_eilat_construction_function.cpython-39.pyc b/hub/helpers/data/__pycache__/hub_function_to_eilat_construction_function.cpython-39.pyc deleted file mode 100644 index a955c079f7996ea7800d7186351dd8f4563f554b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1324 zcma)6L2nZ|6t-t3lXOZKv;v8vPpi!e0+a(%g;tG{P%5Qulm=-xie$NCr*WB#gY5w& z%SuS}XYdF5H}*Gh@|DvbIU(&{_IZ-DMauz?{A9oP{O0rby&1N(l^_^jKE~s_Awr-0 z=K261+J$L;2E)-1am<4ZPlEtqG!2IlMtg{dJUT}_dLIlcJUB-6O7R)eleSE)R5{a9 z7&2A7$OIWHO(w+&85emOBvuh2GiFJua$|L|^sd9naj*Rwxlg(>6}b_x+UFv-ax8`3 zA>F-R7hI1U55Yp=`%p*dq@`waEl($w{B=RLA8tP;EtRKAbIC}n({GVet%_OF)9Os5 z7J^)8(gP5h8~_NGy%tuGX7-wCu^?QK7h0Y$ttFZHq{j3zX%|2*3pY}h{0)~zhpD&M zM+BQ)nC2HS0u3?n7;rocdBDSSG>k+=#60?dd4=LDyYJ zt)gX9((6rm8E(wxu12ZMrKR+yr^|yvL5x?=zl#Uor(9!QrH);!g)MacKTW(Yr6w^f z-l8+lI9}WX`3Tt)me`3PS4@@eon@&V^2eX$zK-<<9M)dmlE9_ef~`xg&fbN+3BaIu z@#s4*aCQ0+8Wvc|*;G*K66#rpFCNx6D1BA1Y!#_e%2i6K{=vV#Hq#13uyYsrQu-D+ zuR-+0YL8QUT$?aW4NMJ3VQnM8rMDjI+u(C|K*GjK(?%&A%dK(MmCJ2h`n3P8m1n>8 UDpz~Dg#N3i-uTZqs{R=M2QX22NB{r; diff --git a/hub/helpers/data/__pycache__/hub_function_to_montreal_custom_costs_function.cpython-39.pyc b/hub/helpers/data/__pycache__/hub_function_to_montreal_custom_costs_function.cpython-39.pyc deleted file mode 100644 index a996df03a03c842bdbff561528cbd74ba3be0f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2774 zcmc(hTXWM!6o4gLaePSvB!vK_RHdaQlmtk6O`%1|vb_`CkmRJvWM)TLN@8kT=}Lyi zrBCoP`Um(M?O*8AzV@l_o#{-UdiMB|aCzXZa`Z)e_U!Jt?CL0-oh?gn{qsj*&zhB_ zKSkr@m50VXxYKKZNZOGiIm&h9ZZ0RuQa8V&$WmR3@{#gfij-%$ovA42OG{Jzzd^lR zZMU*^(hFHTPStJ_^*gb;moW99|4`lQ_pnpV64gq28H>Y?+UloS(p6hYnxzwsvhP;E zSC>_@-HLl@3{NDAds%z09kX@Sth*+N)>du-VeaKln8mEDCx=I@y?>CYzr9dbZ>_GX zdeUnpENX|UZg{%7&yxOO*=5P2xRpU?6f@OrcS0ttNyELg2 zNcmNcrlP`g<(a%Q9Zf?Zi~L%n|FAZSRgjD$rDLFU5vOtIV6CjGpgf72h%A`-T4W~* zpx=_gp7AA~2XO0fr$0d}lOD;D3+HN`$!e}L6isEuHf^B$d8a$ksl*JL0&^H zA+IApMczOzBUg|&k++byk*mlxr~?7C^tnr0Dmn>L)LZ}54mX$ItFS;=#@Cf%e;J>nZwb2TrpU@E@QAoa$p z!V6BVMs!fKt5mC6#3p{=X#sI;KI2=OY0{wrpS6rCX`O~_2KY2*CQ6lsINC1$K)4Z zZqqFiG^pQjwhWJ-_6^;!t0%O}O`B{Qo=<{pe%aLSJK&iElL==b!iMJQ4XT52FnS(r z5-~6x+knnMBPK649N#4Y8|E(!wVfy%P(2M$IF21FScywB|Tf ze&toQH|UhX#XxI%8sz@`gC@~8sBd_iBK{|O7HdsN@*6s)8ctxCd>;SNQTBCH^L?-w zcg9emGTaHnMycv}77;<_bH=8KgXxS?c?OarB(Sx{F;^Psf88?-d$e(j#I80WINQ9q z<#-z+47{`jksfZYbCbuH9OkEd*YN`Xc(s|407lvxFV(j#Tk~Q6@^hAhCb&cony^s= zNMHboELd=?pnnl^Q4>zsbqXiPpD4`1xv+88;nrNxnt>xG+Z0DrC#KkCb8y-=#L&9t ziJX@_!z6VAN0ygua9k{ARC&3o1=?uiDK*Wrc!fsel6&+*=1LlO_FhQLfEW6|&-C@( zCcH7y-F}xPNw(`AwGKko9hJazH}1u3|A?kXX%=@Wl(c*Kj8wtMZ2($k{GJOxO(g8V=IejnU^ z+v2)1wtGqD1r}$0)_bjVit>r2vj7iIrAOjLE)Q-%l~vVxoT=GCtRANa#p}bV*43YX z!S<5O?!#avropTYQG+HgACG+i?KB6F3WK$`cHwxu4c`@ziC)-^DdlAY1iAN?Me%x-g)4$P&nXcElAi6(b-#VWik(OjycR(nC|xQr y3uOE(?3|U+R$77YCn#UNEalT95id<-Onf=v*f%Z3i+6^me=CBY3SDJ-KK~zl5EEhm diff --git a/hub/helpers/data/__pycache__/hub_function_to_nrcan_construction_function.cpython-39.pyc b/hub/helpers/data/__pycache__/hub_function_to_nrcan_construction_function.cpython-39.pyc deleted file mode 100644 index 8a9e0fcc876cb12f985ffabf932c5c897839cd28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2948 zcmc&$+j84P7?y0uv1RAbl(w7^=ccsofpa)jm1Rp)osi^)crvr2dN+w$*)l5$NGLPR z(8u5f`Wo;GT|A*aw|I>OmURhBjc>emWzSn6>((jx( z{ZxUu32%N8082v&%ea!t<4Q%6rEzswlcm0dtGM=1!nL0&!zEk^rOl=C4;Zd=lTndm zlb9wXSH~GHQ=;x=R6Qu~s(a-`DAgiUCv+4~)KNCc3tG;k3$+sZ-LKRus-29;Bqu;w zm`sXfFClbGwfnveqIWyj0KxE;G%g5L^lW-all_B2{pFE*PDce z`!p-3ichn9WK@6>6RP&hBnAKaWdWusIhqUTIO`nCoQ!4#xe1=mtaV1Q@+U+pxg(CJ zpBgYX;mt1r5NRkw@+w#!R&fPaA4@WEodM-oQ1$rl1wP1awQ#ZCnR>1up}x3VKb**9D%z4Uli(Cg53t&j`smf#(HY zzzS%e#Vx?+a2xP>fiK_{pkKtRfG-JrS>P*TyejZjyaw9W@H*h@f__8HdQ;$A0^b(C zT@>`D@bHqrcLZJ*ctv1G;8lDEtX&g$T}W;Sd{^Lm0^b+-fxr(1ekAZ?fm;GU5%{UV z&u~5Y?16+n#}X8N!yT?W38qO-v}sI>F|_&cj0tW0xTx(AoRnj4Zx6P_uoaHuG+i)u zO!vu*IjT;s#zRF&OlaD4xE2y2SrT$@qj_4@eOwX;{QCD9t8h*f6tv zniO$5RJ^j7#;`NMCq*ndx4D=@lPPy(c&=BbX-Mcd;9NlRA}(nRbIyNRCZqfRl{dFz zN)ECzC!1fe>Zl;B6&Rt_HQdP3Y<4!Z+`es~p5|Eg4l=z#Xs``uU`N*DvS#3IAFHh{ z3arpTny&?s1E$zn)9Rc57Cz_odX^5u+%D3(j^$cm6ljs7U2EVh z*tV?&ePh8Xx;F@-nP=^u6&NUt=0<$OwIUHou)|h;&*rNwv@PEYqlJ-W+qxBKFsf;E z2l{OKsvlSm$WW-8o@cY?ALr4w6`3eBy=^04>!G20Zuit^W#C$Oj3Bh49rm)V-SQwZ z4~+3(A;X3i=qA#^IhefxKJgsbo@;ooHs%!A;0wxJFVq$hx{Z)&dAHy9+zao~@a*HnQlTR!3mX034G8v#Ul+lbhkv!!`V zzKD)592mX8>Kov_(M3Ja>$2DWJ?sf%6bLcW27v~(fA-6PrQb%O5!~VVKc%_Q8$gkt zpja}!$gtUl_(AjP>$Vn#;IZh8*?`up6J|`a>jjR*lgw6)J3J4zH!tNGC=QoEYb|nK zGe!LUz%bl-<2Ed}JAmZuu*S9*+~#Ru&27l^thvq~laB?=)RYg7nc_m=d@-ZTl&%(O^Tw<7w7_94gctXO z!$&f!>XZ~Eo&4w6=SROd_Uk}AknZtANItp@Hw0Df zlR_;HhNvq+ETy&LGYV0)nGEc#eo-W1_n?}IhpGNpH~2+`qA~L4B%w83wI)@ z!XzFOgqVVOmEk4{bQ__s%Q&5DmJ!0)2qD_z%QvPpgQ6FQtj0}I6NIN+6wY!#Dfg=d zZ{7fC$hB%itH?sSS*JG0*g0sK&b)^@qEX;T%h~c=#G1!4%CE~}?vs{cjZbH;f6h~% L^BZDqd87Id$ct5a diff --git a/hub/helpers/data/__pycache__/hub_function_to_nrel_construction_function.cpython-39.pyc b/hub/helpers/data/__pycache__/hub_function_to_nrel_construction_function.cpython-39.pyc deleted file mode 100644 index 337be56b694c864844000649dd090811ae702634..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2984 zcmc&$-E!N;6$VI(KOiN`QfxVCnxbjlMrp*TPJh)TH3EVpYWxKNtxBVr9fZ3SVS@y- z0P2c$rx)>K^acDH?JM+ZZ#%u{6J#b=J-Z-j*>z`fS5WwL&e^kP&);G<+TK7Sgr{#1dv4{!D!0G7@rEaOTd&ngv3mS)xSnk)?@T*b9#60Ut!Ip4ySKswwi z{srnvFCOP{I*({fGIf^XA|dJ|rRuc!LY)+IF{tLL>iCAGj?;OT)1nlvN0q?q{a!s% zt$0l483D?~WS+;9n9vi|8h93nKI$F=g59Ge$_Z8Uba6%F%W1Cu?YVmI_})ELPv_&5 z;y6-u!`IbInidPiqv<0u&S4M}st$@c0rv()4yGwtt^{#Bx4y6 zoCE|n0c!%Gq(Ikk6|jM8fK9vw*b=mY>p-^!-N6l@w{a72N66)Mg5+Ji2lxX) z|4_`jEAU4Ge=K}^Ptb?L!}kULMBoPkj|6rFeu($M+Ofc&3ducz9|`=Kz@H2Jg}`45 z{FT683p^3{8-X7S`~)}RPo7HXQ!GKj-*8x)k}MW&9VN?~vl!DDT0L4sG@n7UFZZX= z%tx;Xw`T;$#Y{~n6WANePBx2@WWyy9y(DX{I{z?QwoB0z8aP?*W(1lTNAya~#?v%S zmOBd?&#v)%Ssu;tQIw=}qEeDaal)F@G+V?uIC(2A@78yDG zEvt@m!rHzOm_5S@P0eEaf$0n^1NAlAw9e4b9R&v4vqx5FzAS6`?&)UO>>=L_45WFQ zAKGAw?GMet@KxcPZohBppyu?D*0W8=3_@QEP1j+az}74al?rUzHhSjBUb7ub^9RP7 zQ*?LahoxtozUdn%2vNV&bQB0N)JDDrwZHTE$kZR8!0;dP{9hY6=#QYtuNl}Hx}jmQ zJ@F5%s;^sG5P-*`GfIVa*$E}n>bbsc@+7kz;~~$3<*rJ36NxKY&{Fc@WM3!OjUb3Oleb9AUL=&3$bYy4=`9zBP5z z;$5}_yX^s=I?#Mx^A?=_=D>t4%M=F!=ZhIVru4K>TQy#-ulY7>BfP#&Ts@arEhEX~ zxkQI>f_?KB{p4ZpN}-L=z)GONQkzM%8}x+L(6g198qfp{uC;zyRe`~WT=syZOKnoo)P zqAo&wQkptZ|MX|UAIj8#$+XXbm#YL5D5kua`#JDg1wg7VkH4M&FD5&1ae^AmqZvVn zDTtRCZks@N5c;x+lGR89A)Jm8qQB#-Hy1R8isx6X#!XQRgx5S2zH&DycdHF=)&ywE zwOUiF$U=Hpryj`IE$El-s)4$qP2fb!SYst(t&NN}Kwr##-BPUiaq0S}Jo6d9M%Eg8 G)&BsXfo979 diff --git a/hub/helpers/data/__pycache__/hub_usage_to_comnet_usage.cpython-39.pyc b/hub/helpers/data/__pycache__/hub_usage_to_comnet_usage.cpython-39.pyc deleted file mode 100644 index f829d3f225f931ec7ec699510d61ff2e5da34c37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3175 zcmc&%+jiT=6$LM%c#&jVvLxHF9mK8MD2*l8=~YcqLm)_E8MgqSRcUE0ESNJA;edcT z0PT=V~ zDoOw3#MP$);wj$jQvi{UB~l{gxHKx4rIIwN99K(HS0WWseJhdb_vPayQud^srST6C zZ?>aB9;HdhBAUsgl#F94pQcP6j$g>*EIgxfp2})EN@zZ#o1WADll(|Fq5(}Zijhue zl1HZzW&5(xbquh+*nJFynn!V%Q`S_|^9hU2hPnLrck+|RPo6+!GDsPTLRr;ZRX$_s z_`K<`^d%kSm?V_R-EkDdn(jDjF0f-W0ega7*AeX+q`}X#sDO z72q9#9|^oGX735SFYsf5vcONsD&!xKHQ-Og_^0F=#t+GL;Lim9TyQ=mH^A8;>%h+h z{(@{^{5iP^d_*>ZyJQQvN49~F1^$xU!uScf4g7-K0se}71pGC*3;Yea2mCF$5BweZ z82Ec41NX@%z&{AhUkdz++>E|@BL!a*30Zw$P1g<-*&N3x-Eb7elW7CAeR_(zo~~l3 zrel^5({Vd-#|H`x)o>CmcDBSCWFsPHJWLg(Hsm$)B?Df>1X zrsrbmAv~A`bsbaMca#kx+#+-3JkZ{G%JNKB7)?U4q&pcUVHS-?vyD<=je~m&Zp!|U z@*74Z&qS^ubq7iu%5aN~xGf6Twh-fa@>!T21yOb;T$)Jl*OVTF_BU-8c$*cHh&A zb+d2y`un_wYad=r>+QhRJuOfi#q~|7DmHq0xA$Y_ZM)OaRft*bKxv!0rF*`s__}Qs zE1szsMlcg7R!yy~_ss>lVkmA`TTo5a?z{fXvXzeRYJum^l{lKE`@$3Vs91AsgYUMO zZ8^5*FO)1B`hlxJs-d;}>TLO%2zHf77&-u|*b%R&g8cy3YzO<{jJm(EpGxV;GBU>~rIL=m6ZvaxcR{B4E{xQA(!JcV%VdPG!s4M83R`Fd5#uBr(I6+%mA<0MEZB<^{|VEH_O8$&x++at7u&C c82^tzto_hdMg7Z}>0k3mXS^-0F0WVq3n8?Xpa1{> diff --git a/hub/helpers/data/__pycache__/hub_usage_to_eilat_usage.cpython-39.pyc b/hub/helpers/data/__pycache__/hub_usage_to_eilat_usage.cpython-39.pyc deleted file mode 100644 index 8e783886e0275c11100277acb106dc5a6f826717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1232 zcmZuw!EPHj5G8k4D|wwXMbH-LAt(<$R7Il($;~JV3zA|RkZnPhfmRSe&`V09ySr3L zZh}>lQ~VkI0slsBz4ydJFFo}O3bdCFS8{Bi=7JBL;S4$Z-jF?fm>?K`{~phO3lRF# z8+S(t#y(8*6#z$5#4!&toCg8IC=aI*MhA$8Ji0aDGgf)Vig(4jMQv|KDLd4ElwKYRXy^i+{5%_Sqf!MH~jT9vD0q}8QJEo^e3$p|jh z zKvN8)1sqR99`NuAO(W3|F^_)5yustE=pCLmc@rpWxlazui*wJ)MAe+s>-CojA+T{T zUnI?#F%Xbqxa?;5wHLJqvzE=GOUyA~zyrXLhky}}02@4#jW>wK9C_JJ-0oNyS(DDP z^`k>&MMgxv%2XwUaXWpbb7_^X)?x82Yd2k(S^-Iev!njtWOCFUy2jz@WH5x#)A8}q z&(m%~J^?C;FHCu{o<EGVh>uzfr5G@cp(i zJFCjID3yh@lz!~#dH{fe7;nFS*H7*frE`cBe@xS1G01v*KDSt$WUZ M+W1!&H6Mrn0r){udH?_b diff --git a/hub/helpers/data/__pycache__/hub_usage_to_hft_usage.cpython-39.pyc b/hub/helpers/data/__pycache__/hub_usage_to_hft_usage.cpython-39.pyc deleted file mode 100644 index 84230f8e70f5ccafd33ef6dadb87c8a8e0096827..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2955 zcmc&$+j85+83qrcNKle($(HOKY}9QMD~)8==~2zW2ndoG;lKc(RcSP{19O)m91yE6 zfVyPetN1bc0)CD52{Mzbz3o*WpwpRN_1^_4$%*d^2_JXA{rBJhwAhW-*Hs0c|9syV z|9eeQ{wX?FpBi+Yz?(e)z{-h&E4Z3erq!xaQKq$%dPV6exQ6Sm6kPwdda{D6fwH?& zdEv&scmm$+f?~)*e54{8%$+I-(56k!F~_p`9^W zoT~#ypOaAzgP1U_SHuaJ(kpUM&B%N~uqoZY;2g?mPM(aG+V)40`Y&)waYq8LK6U6k zfj9dYfG8&wh*K3;PHMP{Yp;}(I$0qNT>o1Iui(b3`nQ#nRlEvOYVyr~@oXpp5mE?) zY|Zbhng;Y`fF{cTX`>{{G8i6JV4>wB+H-gfc(Xr4FIS#da0Rf6tAI6J1FXyTiflI| zuHriIO^Gdus>HU$HHqtZ1!Oj4`zH=+Fr-U8giHv#u0K9u-K;xF(m;2%r;RN^n?++RujwZz}xZIJn`#NSCgko@oQ z4)C8z=5xFqfBsTIUtk6DdE4b}MzUB|ZIsNnvN$~xB_B=WWTs7Mk&*e0X^}upU#0HQ z@fd1ei&Csbcp9g1ma|CgocU%pnoyc(FXDWnWfS^>Fy11#7?s1ft_;&6Ur5aFCDAhq z8Yr7drC=0^*l41`#)3_goirH9qd1wjCnQQh^C*H{aJNsV<^IekV9Xi8VxLiVK8aH3 z&F__y#3JX~LyeI!Y&-(XfZ&)?%vD$?j|vv0IbWH;?n&l1<&XBjAvi9kd$NFcc?(lE zjfHvh4e}?jNlR$y5wB081nfFvgrsG}cr#9M0TBV=?3}Vo;dw267|qp`rhDKAn6djM zuZ?oT+rAlC9n%dh-R4_?<@Rh7b#=$Gk5S(n1}5KhhIVMZ$+dj%=wjIFAm0j1qz`mI zbU+o~>RY}356L@Tw`&<7=5~b}uO1{epkH^C+m1KV>=7z}mG=FPqr46G1xu;UFwGyt1G81+rvhGh-iH+lPN=RKGQ z&WmV69vldd5C4O{?&>|0Ly#N?zUU&SDn!{DAQ52R4u%8M2QLrJkbh7vEqoeC@5I8s z+4ZfS3D%n()b+d$zyCwAx5%jAVyF*&9ddvB>!D>FqQLZ@iuhj{+35};$!{50>3gAR z!xvusphfl#TMq)TSXM?U&@L;X?6f+b?^q(pe8YSy;$VA=RNjE(2nI@P8S{Ey`rq?S z(_Iv9({ejQ2+lEY9(n$u2m@~&L8Qy#+P-MM;V{1z3_L#!E>~My5HQo#d8>EqxOxEf z%eNg*nlP}8a0rDOLIOibWW#}N1>-xAi>`3O?IGAX!G*vE>Q<4&PHbdDg%gGeMJ%uC*e7VsJ z%Dx#V^u;OMS57A+ITt!`lt+RjS_IE3+50jZCK;)qW8(LhwoclHOvnqhnn7{uPV=pCLxGzC;(`ZT%;wln}f(s?I z*AV(+5haU}RfI4dA;cW9RP&rs$Xh<+b)kxRKwdFN8YXOF!iF}ySredHsn?r&wIbQw z1`B}Ww;=2Li!#`Udm)^4X`b=b1;twz920kHIrnW#@#bfx>0gL2XX5r)U)`+z4@OT{ AYybcN diff --git a/hub/helpers/data/__pycache__/hub_usage_to_nrcan_usage.cpython-39.pyc b/hub/helpers/data/__pycache__/hub_usage_to_nrcan_usage.cpython-39.pyc deleted file mode 100644 index 1f12234d5c245654a623432a529dfc1d53f26c19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3109 zcmc&$+jiT=6$L4ZcgeP7OTHUPlO{@I$#r^Flhg*${+( zvdQIV4U=bhlTQIe7zm_5ieX_|ED8l-x;7{kgswo=Na?LWO5Ya;>!fH4d+XWX!Cr3% z!!(E^j|P4sPGgdVzBr1hILS`MEb+#^n8u=RwIqEpt=ne%_u^ww4TgS{_!ud~kJ4Zi z`1DXzyQT`#7yD0ukn%Y6QlHja@!5<9<4G$1^_}?i$fZ}zg&K68Z=>vZTv zd_4cCE{a&Va8kt9meXPAB?%aY1st||*m#b&g*W*Qvs8FlAO#@w0IqQ?aa`wE=2#&` ztX4VJIMz8f$QtNPQUY#}b>Jo`1Fw+^@H(jiZ;%>ri{m!On;dU(+~K%O>fpIe8o)cG z3B1ek9>@E9^#R9+93OEMIetJk!2coH1pbJRKO)yK{+Q#BIex!fMb?oZ8V}0G zXoMUeAbB&IPU0-_=gm$)eKAQrRx*R8>0>ubevi)Pn`Rt>f3-Sqm~oPdF&C0o)Zmmd zt{e7n635{I&VA+6BuHoThUKST5Q-l4y}a6sld~Z8!ueLu_ri1{4nY@(VGsqw`MoxN zqA_ag)T3e;XVKU{2>l?*P#^ct7l+=+N7)75!N`LSqc|q>Mh}G&9%u~nT05rGAdQ(q zsKi&yhBy*Y(J2JgocMJlPP{OjuSEymd`I)5Y~&5ojIzTq3PLD8s2;`i56L7x%WFqa za^a$D@^?NR2DllP(wg>JOw)v!7kPtPcQ%c@B*>-^8}n1oa05YqF`f7xjvtgYxEkxb zrcZGbP1%_qldxo%?>f|r5+;?$;as8lwv?su6jEQ|4qIwD-?U*TyT`^J`dmRpA2zQkSc>&gq+vK8kzf2c~| z7_iKMFlH<~EK63a=eD36c5gu^<^$ExWh^?9qM`;2+f*FHVAtq7t_hvM?Dk|y#j!2P zlJmyp$$jjD@yy$Zg9i6l_&0l!E_LM`PSP}dV^~b<@UmjM%)xoX?whg&E1%0w{_)~y zW|PUSV+UJu$5Og7w3pj%$1vLYhd*Syf~O7>9jR|gi2dzv`%3G%Ys=OP=Ko78yPZCQ ze8s|g&v0Zl-{L>+GWso5vTbP0Gh@NfSY*OtQfnKQrZ6YxoAL|h2h~`H@&mF;mWFvp`9nIh>m`cm(BT*d$&_N)}8p;amyNE@H8KHMwRE~Ylu!*|Rxzt5!ZcBZ~ zV8ULo(rhUz%d$;W+jF+HD_Jb&HA_~Nu7Z-y>pBc)hso`{-j*C`nRum+WNCTBC9D2t z_O6hZ5JSxhbR36m-I6?ZF#> zP%IbzPk(=#Ke(#t*gNGw;>bq`U zcUid5>SEk<-9KhtxLm2YE{TV(OMk}>tDeyq(MxA}iHV{rh?f-Nsxhr7)1rYlsRF8n zQmHBx3!J)FrY30lEyR9*nGE~rSJ6a7X_8l#q`Y=cqZRP;y;mKTSHE1S{xx%S!n)d0 HWozxfN2rcv diff --git a/hub/helpers/data/__pycache__/montreal_custom_fuel_to_hub_fuel.cpython-39.pyc b/hub/helpers/data/__pycache__/montreal_custom_fuel_to_hub_fuel.cpython-39.pyc deleted file mode 100644 index 4f993dfb1e5aab9c859b4c0afd3f44f63ee4ca6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1211 zcmaKsUuzRV5WsiuE`NGy6$*;r%RY!0v7ywrAkun`v5-^?ahS#c4JpI^&^&lW=8jd6Y0 zU~Ixvk3cZwBZiq3VTDfaYYir zvY3;Bkf5eo@*pN*rnE@NAmcI7f{e1mLU;Fj+i%Gl=|mw<6$fpH@l;2Hh|4DFw0j+J zJ#DOmglKDVpt*ECF`me1IMU?H1=(2N*dU%rLm^od5U;i8k)agX*zHMi#6t~>j7!qa zq8O5DXBt9FKAk&cA{v*zT_J_$o8cl_BMjUh@Oh{k8hL#hS5z@9!zx)ghodgrUlbx_}o50)L{rxu)1~Iw}*l9Ydi)(G72L-@s}h|`EhU< z^Li<_L(Ox$y|tg$TAh}6u(#vw9K6ey_FCQ6o2?g}R$ilQQS-?K&K9LUS2eCNrLx1!~JRX}E zEYLxJ(MWXGNYpeE)q=vtLT`*Gd6m*AjWngV4TCBOWH}gqzo!otP;Y?VSRAY4yezrS zWcn9bL$@GX2IT}D8IHK979nk}i5_us#RF^hbeI4n(G1*Vy(ftkBk zXYYco;C&)go<96v)>lWm&{gp5X^?PAbC(*R@Bl$yru0J=#PgL3rA&mB%4KtBbu0z& z)sx&Yq2w)aUdziAQkvwXNyaDz(JFTAYQ@5Zw_cX3u#n$@Dm3QhYQXDJI!Lw3D|1)A cbm^1kU#2*F(^Yx(*(~+vhPN{9>{M3mKX&I(oB#j- diff --git a/hub/helpers/data/__pycache__/montreal_demand_type_to_hub_energy_demand_type.cpython-39.pyc b/hub/helpers/data/__pycache__/montreal_demand_type_to_hub_energy_demand_type.cpython-39.pyc deleted file mode 100644 index b8cbfe3bfc2bf7f065b8372c5225ff0b8ef27ec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1361 zcma)6(QYF(6t!n2nK0dor3iT8!EX@6Mpc)m3ZYihsEw3uqc$rbie$NCCvlk>2iw_d z!t&I9#{NKmgKyx;uRQSuNJvOrPtr{gAg!Z&b$xALpPX|&Yhm2RSZ+0AW;wqX?r@#6uq4BOcuaqXrMIP`j~cV1$wrnOUhyrll~X zP<)XKGEthmP^Hy^<-}CRih^X!vRq9G7X>RhvDF;*TSaDzYa&Xar`11}lB>bVcjOuA z%S@C;K-A-+v~nVaJ|z9qK_61jJNw|_vS&H7LMN%3S6WVImi+QS4)zb8lT?+N(p)l< zb}v&h)oL+M23p;S%)%lUnha#lYPg2wuY?ukIDf^oSOOgKQp; zEZoUh@;mT`&NJ_~M+B22F!KdCfkqg(4LBZ!JmBFy8bzWZnml@gd4o6aqdPo`c?`_9 z+-HyMoz!d%fvllATU>W*qBhCpR|(lLy+!T+GYbbY(CzK;aRV#`GoOO9=mvuYU?Et< z@tf#1q79A!T5#TuTs#xZ%5v)BOsU)ldt4R5Seen8vh>!A;dVq0Bx{*TTeX`m%&c(n zS@(F@J3n=CdU4VB!QRQmi|*C1m(sI~A^rAv*u8W+-F`P6UiQ-7@O!sI`D2Gw57J04WojOk)6uo_LbLU)SX2X`aY#rQP@b=)wWhT^UAd-m8Gws#d89!E1Em^}x$7K~O?Yg(Y?-$cC#reYh%hNPhacp0}}n0*Cdk zcOLJ`J%z|6o3kIo+yvlIb9wNt|6p_c96A_SDOn*XbqV#v!)F2FCzSrUVEK9_rj)CU zQvHFyzctqibg-3+d@21QB)2fuXgyHvf$e~q7PuCU!d4vMI@@mQPax+$0<}78Sv&Aj mjb)`ZzHe)#-Ft6yI)?rA+5fuAwZ2|K|HgA~{Cke#z3^{c28h)F diff --git a/hub/helpers/data/__pycache__/montreal_function_to_hub_function.cpython-39.pyc b/hub/helpers/data/__pycache__/montreal_function_to_hub_function.cpython-39.pyc deleted file mode 100644 index 5ab9cfe4b914edcef4210490ce98511faef728ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9155 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%0ADD|-G`*-+#;+^~B(+9#B9nFvK zoGpLrSom)pi}|F0>+$=|2M-q;MR9U|GB1i}^xLw(>Gyfn+Gqbhi@;|Q_$&hd{}K32 zrTq7YN8kR`zc;w)ZSY2Qu|6HoFQ(`J^*06jy8`>0f^`+}2L`bQ1k$ZwQTZ`6PBD|^3DoqiAD>1&$Q_si+~tQMOe$v)(NgU=Y1%KD>MKi%$+ zg!cHO3cC6E(b>2t7Mq3c2>t+t_2-J>XBS7O%bhDlF`66~#k3)<8xN)vu8jG^MNLrC z5aNnuW~0oT%A9MAnJ$WrYOS{M>q`0WY^`d$H`b>qdy6k}$J|`rL^t^(lG*&|d_G%T hS&|l4AJe9~ZcO%*R4z7tP`dC#MSdpU+Lh-n{Ri@$8sGo` diff --git a/hub/helpers/data/__pycache__/montreal_generation_system_to_hub_energy_generation_system.cpython-39.pyc b/hub/helpers/data/__pycache__/montreal_generation_system_to_hub_energy_generation_system.cpython-39.pyc deleted file mode 100644 index 970b6dcfbd702c5df59bd322915d5fe9e79c3b3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1469 zcmbVM&2Aev5azB{yV53Z&;ma6#zTQtMI!|9%?JX^Ye5pASb{7E?Lq)SFDYr=)lwz7 z38bc{_}&-D3-~qq3_bDMQy-uxkW+`N9~*Un0--RoKkwj#fUk~&76hnA_pxhvFD%;Vio4yAm+Vy<0^A6P@`J>1;@j)G|{QZ zsZ6=T3&Dzvh+{AortmtiE9E1Ayb8vk~SpFewkgd>qBLb8cDe-yS+ic8Qw_ z4gZA3(RpJ1{o%pl1WbJkj-%KCEM4Zr73Q+a4T?Qp#UoNRMG*l#XZrbbAbr<#x_mVwW}A=h*EzmMw|pCFdzE@{ItzT_GRdceA6 zzGU5p$vbpyd3Dy`fj}_saEnyw*XPYqL-Q6!? ztz2-(U%&j6ZthZ@gI)l!oGv&aCM1?1c!FU5n2?_enr(LiLYPPhkrq``TS@_Z>6P(p zD)~7C@6}sYZi|+-NZX96fvY)Qr53tQ8EyFT5Mt&K_-ts!|Y)XG=c~JH(@q#ZZ{{Z;mulE1| diff --git a/hub/helpers/data/__pycache__/montreal_system_to_hub_energy_generation_system.cpython-39.pyc b/hub/helpers/data/__pycache__/montreal_system_to_hub_energy_generation_system.cpython-39.pyc deleted file mode 100644 index 3335b8f933cf1bce0fc605eaff0847f928df3a62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 zcmb7G%~In=5SC=&zlCIr{G8{KY@Ax04NIz0B%1(+0#XKCVAzz)Roby;Y!Ap9WoER* z%I35@Lr(hwyhffOCtY*OCAU9 z{HX_%PYwoa(Bx;(5u;@glUSZPuq?wg2Dz4P8rufR5&Oa*_FJnpN30{GG8g^>+sm8G zRgC*sFe=f2lhC86%LUrwz7iCBNDif<1Ee_WhaE(HDtbfI)BjitX6xmn#^#S`3DucP zeM#YMmr!4^E~8=<)wdgUn0j7)20bWW^01z(3LxJ8@9dJL}wC0W! zS6y8G3miB0UENPUHVoFF$EE#3H#1qh-@MnkV)(VJShh zK~SISz@lzQJ=A4_64c?$qvD|os0RTT%!T~R6g*jhpazhe*ara2ld0*OmcE|8aYCb@ zl1YVqm!k6oZf4@u5%YVH{tjQ9ylO4?$NQ z=VhvX%zxC_3q8e_62?0r^OVMz-8j=zt3M=y`^>!!X>*pwTX90(YM2x2eGU=V84|s? zE&tQ=z&%J5xc?H!^kw0d!v2)NoI60^{*LQ1iX=iJ_=`@b_8u25CjOyL+(u{3M zz3!zU=Hc@E@1nNaK89$?b~u1TuiA~F+s9&%l^@woYoC**rvtT;dfEx+oQt!r$IshP zAlrTF1zHEe3b&yEB}H^3qqqZmoJ`TUh-T~6U>Fx2hrvzbIPdFQ{Zr@+%Qk2J{st;D zV>4?|b!4Jq#(6;%++jEBimok5UCG1C8{<@00yBCFB?zHys*vhaG^R3{UQJc4qF;VZ z#uZbPKv?LHmxST8TYzC)9?O0LV`)KWPF!|$WZ)|X-sc_X zrx1JDO2KgmcO6H(rx6qb!68s;7~5Kvcnp&hD0M~%4OM7pkDy8T^fHR3ohyE9naOM= zFFu61_#=pEHH&){4!y1|O2&n3DlT2k3H_;-$WAjA7r#xRf2Y}(`g6oCEav_Ps~R=` diff --git a/hub/helpers/data/__pycache__/north_america_custom_fuel_to_hub_fuel.cpython-39.pyc b/hub/helpers/data/__pycache__/north_america_custom_fuel_to_hub_fuel.cpython-39.pyc deleted file mode 100644 index ed28991e0be311fbe9bae38287d4b6e0dfb777cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1295 zcmah|&59dG5bmBC{jB7TLr9Eo?xSU5VeFd-VK)>=6v$RwE%NoAmE76gQnESyA?91t1G=#0qdbug*PU`#r-;tnOG)z1|y)@;1CPGu|+ zPH3}WOC=mzDD(-Jnw;6n-5QU6{*66kgEUdORVW=wmAiDFD(JDn!DxV{C*4QL4X}q= zI0dcPtk#e&mX5tWXOAB}e!^mtCkA9HSlmB~*#bfZN0vmWlh%4qStiNkPU>o zS>78OaLfHnL7IrTu+C(^6iOePr^U<*o9|o9x9mU(&5|mB&C$V}VasB+l@l$j#lQpy zcXhn%8;gWtccsh6nrOvfUr__6ZCY0xj*T&9U%4gu?PT1Hms`8k1G z*ulS>xHo-f71(K!fiZ46S|>{Z*~O6U)Nj^e&9`gCGaRDUX};j62L709b2`O;o-UPM z`5F?Ja+-Spx!5Aew+L~M5O;=SbR~CJ>$1stnx~HQ+a8c6G7>}-zmJ>yUzkGoGPOg? zIw-^`{}0q2?h5KU3NOit2bNajW9&dV=9Y?G1B1h2thX)IV}HG>^bUm`Oa}j|E4;RB z7uB+LoqGp$i|?I~`sTrxI=@aE;<_OQIYPyG+2S7ELVNiZ=YJMLUw9gvOOtR8U-^5R zD=-K)u0iBW!PjWK(VL$t_y)l@)JCe1ZPF-gHUe5%J9YRL9p!g8jqb(ly7)A$6S=cx fwFYbkJC diff --git a/hub/helpers/data/__pycache__/north_america_demand_type_to_hub_energy_demand_type.cpython-39.pyc b/hub/helpers/data/__pycache__/north_america_demand_type_to_hub_energy_demand_type.cpython-39.pyc deleted file mode 100644 index 5483289bda9f6700ccd1603e9432de8d432eca45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1378 zcmb7EL2uhO6ecCv@{|VKQnbD7z~j8FM$r~M1VxcRF%kogV__wuKK2p% z!%a2^(>)la5oNc1icJ--Xnp)&ubHvilh`LPfEhl`5S~4f*YwJbdu*5s77y zNX1h|;`V7wCQ8m{QD4amkr-IyLXm!&u?ntc*&AU5+0WiEB^CgOJXh&CQz|7hx2cuO zVzp^6xhdRASoA0GhI)zfn_CoIpbi+wwr4SGM%E*wZeyN|=gHLw^= ze+SN>3k>Fg`CtLZAA+}t);I!qUauM0a4MKdi-`>rDKi)BaG48j(u7W>p_fh&yCpIp z8a^U5WwUPm#0VQ6wf6^|-k}ZSlasCsb`DOC+h>DLOpi_m^ymFS`_yi=yX|;z+KD@Z zmv)Qtn=UJ_u?@7y#@9%F4M_j~HQpUP*Fx#hJXcbhQNK*4Oyw()^=R2#blHX!I#gs1 zFTIrN)i{%vBj~`JYp|7fu+w_z9FHm=#LaF-JVQ9>h1W`K#Zom4NQz7iH&VK4uw()cc{h8xmy9*wKJO00L&5u<8 diff --git a/hub/helpers/data/__pycache__/north_america_storage_system_to_hub_storage.cpython-39.pyc b/hub/helpers/data/__pycache__/north_america_storage_system_to_hub_storage.cpython-39.pyc deleted file mode 100644 index cbc6c81bd98021f6d9aba05853bd79810fae30bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1317 zcmb7E&59F25bmCtWXGr=f?lng#-AW69)ikhTvlNX!6-@yG`-Wk$?Q(1V|C9ii3)=I z7{0*1hR@(Z=IY5O5WHx0Ci^3Lv7w8uuexfgzptm|*|QBs0qQOCS7WBu#0e`-+TNTZoo#G=-g^rJykk)=~k+-4IAsd4T5gBZjvCdX)iAdH>ygfN0a#m^Dt7J4Aa3VWUd=RQYh5Kv}>6)&q=o42pRo{<3^1+H)A*$o@ zTGyZ(Kb&Yx6WOOe8J1z< zbQ$;8y8Wk*HrC41LZykn7!qd(yo{{QwhkD^^nsrrI_=?0tI-aN2^!;uy;(ArI9Up8 zht&y0b*03F1kAEDABjDKJ6oCA8`3d{W1UTX4Mi7nn0xYstk@H_qVKSPGlCKh(bjZU z#zLfd>V)tIwq7(A)PK$I{D%gu!xBwi)=|3x^S^lY+%9;n)8ZZ5_H6R`b&>#JT|01N z4aYPs;C5B24R7Bs{3gd5C8MvfV6QT#$SoVkxfjT{UPe}*-~FFc9GB?QB_v*QB2kF4 zAw2Iz=GSM0cvHx18CelRnM4TmPfi(6(U1&oRz|)Qo+0o=pI&eD&7yD42d#%<9))o& z;0v@_M=wKpfkbL8Rc+A^Yn{xUEmxLMdFlv5|DG*!|MjUdzE`#W!1KRQH;T`PzX8om BeR%)? diff --git a/hub/helpers/data/__pycache__/north_america_system_to_hub_energy_generation_system.cpython-39.pyc b/hub/helpers/data/__pycache__/north_america_system_to_hub_energy_generation_system.cpython-39.pyc deleted file mode 100644 index 61f07b247124d613be23660abdda356af00e3177..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1566 zcmb7E+ioK@7`7*qL$fVH2oTaDVXl@S60LS6w2A<2HdJY)G#&K-D2imcV>g+uGY-E! ztrC{2?G5j+FVNTE8MvBTu6P0jSNzT-Y0>s(9oggm7|-{89Nsq{q46lg{UkAgo430^ooPA6Qsqdx=#&dQ& zw@yu2ES%70%qB`WHdYuDE-@*y%W(ZT`u-=@Wc?&osa3e!mnwD1d7_}r`n{-+uBWZX zxEf$hEu4aS*UaXSj3S$ zNTe5M0+{ty3kvIbye@CW0=rAa(BmLE%bWq*W>KQC=D?&@=u71k>*z}XYQZq`6w?Gi z!e&0HHQglrzw2KJBpJkhy*m*60_ZPsqsWjV*ny)vDG*04=xPS|T+b5jLrLFMUlCrG1Wz3d8r8)^RK?5_$p*q@ zAat`QEPG)RtzhxVCb+ASJAAiw*dO%r2V5qx7rub`4b4NV^!W{eZN%{3-@5J5sa0S{*%XX%qi7ya z1WZ=~wxfa{UR)VIMS*Iaq+@<%;N`hCS0f~GG*Noydq})+qtuIoi$WdiLT5N8@>RE6 zwpa1iY@XLRPtwG3{=O&IFC+-*o!>u;uir^{t#!i&%`2dg@boP)c|k43RKd+Fa^a;y z7hj?780#s=+(fZk^p@^+(W=dU`E_YGC~RRd_|MuB)MD8|Gq2y)K1ACFxRA=?*}J{R zZIc1sKEx?SbUDxK+!KPb!2LGoKW9R(B2~_%i8+V&{3&WPFvyRa=b>)}9@{%7^+EuD zT=2*9mi2e6M#EC=K|q(@Mg=}ZU;YuY*jmxu!Y`F|B6T*eu3Y)n#s~iUvaG%DukzYA Q#nHd>3|OBV);=ix2Zh+t2><{9 diff --git a/hub/helpers/data/__pycache__/pluto_function_to_hub_function.cpython-39.pyc b/hub/helpers/data/__pycache__/pluto_function_to_hub_function.cpython-39.pyc deleted file mode 100644 index d51be62918eb63fba2c838646efa3bec842e200f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3327 zcmeH~-)`G<6vu5R{g>_^LkPi@B|xGRtGae$tU_q1^E z%MeK01MmQQfxQBkT#Ogs2H$dlcmgD@__%AjGRoFT2ysEGuYbSaIiGXR&%ZeGY5)BB zlECM;A7{6Ic}Ea_&KD;?1s1na@*$T%=m~)sNF#Aqk_1uME%b__pb0@CC_WN`;zOx7 z6G*PGG&A`Lyi^$u(qT02$HOp@ccWl33gxXRmhI6bjpVJ#_|Ppg-q(poB@o;-5mA`)?udb}F%1SgI zL~$_e%ZlnK@^&0e_DXgf-3tdP&LE6sZ899OC2f+DIt~wx4DoKXd~9n(ag>I)2h(iJ zgMR5(ZcbL1iB;V_32L3FXg?nAi5i@_J{2r(C>9~OHRVu+umFHMQ=U&ih=XYA()3~$Td!8%5 z_ZQh|jTh}NTc5Uvf6I2(=i)r~n(G3(cr@noTvPk>-d{Qf;^U_e1piVX@LQCcOHVVY zyn?Qw)t*#dW4z9IgYjd=n~a|@-pZs6m<^bXHN;vWPQj*NQ?Mz-DK`*t%1uO^0#|{n zz*XQXa22=;Tm`NISAna*sW2+_)$54*Dz(*HJ*j#P5nCm$N?aAbid`eGMvR6}Bd>;E z!>^H7Bd-Rh!Rf^7FglD5qr>PhI*bmZ=gbDuk%QcxWDsKzV-RByV-RByV-RDo*BW(e z_-puU_-puU_-puUGx3!6oLi~JV(Epk~fHjE8p!`Pgw4P(RDFgA=0(^^5~Z^5;w z*&r8Es^eqcB#GhB#ZtKy}o}B*$TN zQ3u^Yy-adf5c_pk8QF(RewX|%wLN?uwLNNk)b{Xs_&jQR)b^q` zm<~(_rUTQ3=~AOhjV?@=JYASBOc$mL)4R6xMphW4VfLnLG&NK8tL27ac75IQTs6Dg z@XWUHXWOEqx<*B9wvDoxEp*C``iwp2Hp-^yTh*$esM(BewN*2l*DcpJ+K_KsUfZ|J zZG%W(SIcHw_Z5P(b7tAm)M;GFZ99hT=c%$1mD**`DL32MqU+hJ({!m^-NJcVLbGh6h7X~(kvM9hjwINEw5#3pah-xFnh(@VlQ*_`ag zQIu}l`-7c+ynED9B%9$ljJNmwWIsv6U7v0z9F2zKZU250f4((}?r+lLZ0>}ky*x+I zPy3sDc^l+U+aRAg$nko4Z$F#&{o#0+`u@fICH`&xN|%b_|9}6H6Zl5>?%=(@Z{3!s z-`FfKRWWv`F;=$d_QjHCFl3zh-WA54$h|VgLXD diff --git a/hub/helpers/peak_calculation/__pycache__/__init__.cpython-39.pyc b/hub/helpers/peak_calculation/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 15866ac21d7b15765fcebdc1a7748f91312a9b70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmYk0O$x#=5QS3^5upch;{ilOa4!XM7Z_qXZDaFCekeJT_i^RcBe)P;nXL4|`-XWi zk70GaBw6qKyesor@UJQ_`)ohUXvvAJs^g8g694cKhYdY@be=}#j0vS9-D*T|(|TdRf(B!v(ZRwTt%tH^>bNJ=P}tagUf(#u_H zcBxbZ^-#pWq3C1t=)ck5(5HFnL!a^s3Is^iZ-!iINz1Z|0$F0t&gIP6nRC8#&J5kD zDOjrM(N1+onoFH;(>@*_obeQ|XIbj$Hn~ob&$BUu>b$fqz;|u4Z zv+a8iAw)B7uScD8?l(^o=kKqa$B!OAcGjcN zi#YXNXMJ;T-D&cu+p%|f)M8$OLCUzZ>jy4(K8wQG4bE7?oVDQ0<*esW<{WbW*yY@J zI+AInJz{#|rGi&H*ZvM$)OI{cv(HFlU!j+2bsbtWs9razLCu$1-C{Xv(cDYz8@--K zJx>d&UZ6!9C!VI!ZbBQSTPG4qL}u)(s&+I zzUS+!M~5-v@lm(UqbNDrJ@-yr-X1DEK4Kx`&2ti;#|dkbHuN7zW0S8V{-O~?Umu-x zkB?4R(2+7EG>CTvoFj#rY|l#PToeiMLq8#8My_0KN$=g8-1JJyU`o=|}Z=pYjlCMhD z6_&KB_K|iWdkc`Xa8c~%`o&f;GnPC3;&dAGv{nhlR`ZO}Jgc8u)GkW>(!Tb}*x@=> zS1XIz26?orBH2t>=5>^R?}5QRtF0 zH|R1^jympXml5FG6*H-5m7Q-?OefH8aZM5^3Hd?4%8kd$;)O+u5PdMz#wZc6aNYY0xB8Q?d z`xPp{t2xB$2f&+|=q&@q1fHyx1*)}jW7slJ?F^5m5Ie>L{F@4WK>xnROZZ5wAoAVV zZL*kG&=lphtv#}_xwF4@@JDf1HlA&+9gy|4-L-YuHQ#3N{LqK{64&QMHk!caSrl~J zOf36h!w+CEi7kQ`OJhRRXw(XP9^c>#k}QJMmz26;*ywC9BSuc}j{_!hYEkw3ieXG> z$}+U*nM@vo1ayN%GhEV`@qG|!QCpwYtxE%zD_RT6enzfn+-Sdys4@G=cvD1C_Ir#< zYQL6_IN`v8Rtxb)*+BanT8JBZ-}u%-G%-&reG>uM=zW6t?Ko+uXR!kukJ4zyTU4f1 zysMnS^TJgJ{-`M zcIc3COvW?i3y)BNFBmeGDPQ<0;+m;^0U5S0eZhn`=--;~1OuKRkC#U84>x&2#tD_W zoir-E-6gK{&VP=T@pnOLxhquHM}W?JL@DacfPOCv#mQ+f=pd*a;7jTVmLj{V_ddK4 z)o&E_<7j(mYbUde|3llqxL(^SpfVr1jke!3ZKQ2-Yi++(lqU~q=_6y=C{OTD(x6=uHEQrO! z|HfEgkRf;!hAA3j zVR&y4hBve?KUIel6SY-92Zzg6E&(9#;lguILk+;gg~{mWS|uu}EiW^8mqBqYQeoRU zT^NRLv-jKUU^g@!{wI)Dxgkz}r>;bmE6j0uo#S^w#Pr}AK;kZMxE>RCn?ZDpqo~i7 zcz|GVjJ2LUKim^@pRXMp>=Rih2hYjx54Sh>g{AIDW#FgHsjM&W=e4>!U( ziMm`YjDcjd{6QALA1NCD2}r$kH8KH(SqX*Fs6xx1F(aM@8KeLk2hb(m(3dW4v-i%m zW*(ovQ=66-<4~@h2%E^Ob~ljq3L&RmHyDl-2%(Wj2$v^PQHc}m(`&QjB%g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_&vsFxJacWU< zOlfXWettOh#!^OlEFDei2Y{a(-TMNl|HXNoIatOniK1US>&ryk0@&Ee;!?&eEJzJCOCC HftUdR=mIw~ diff --git a/hub/imports/construction/__pycache__/eilat_physics_parameters.cpython-39.pyc b/hub/imports/construction/__pycache__/eilat_physics_parameters.cpython-39.pyc deleted file mode 100644 index eb4b6e7147c53a813718b6059b7ce8ecd0cda44c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4312 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 diff --git a/hub/imports/construction/__pycache__/nrel_physics_parameters.cpython-39.pyc b/hub/imports/construction/__pycache__/nrel_physics_parameters.cpython-39.pyc deleted file mode 100644 index 7bee30d08b0f2d72a21f620828324b07601fb526..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4272 zcma)9&2JmW72jR%7b%jGC|j1D#ND)U3br<3sOd#83a9c%i@K^{$7sXK7_4@N;Rb%;ALgPL@(Lq7AwnlYoM0#5XEk(wl)Gq0YXGZ40YFk;| zitK^YcCxx1xr1`MoYkGEGFWM^WOX;H4r=Y1u07UhnO0tDv~p^+>(qFrHCINz(lxEJ z$62)B8;dXy`#$#vEM;7H;b55X)JuEJ3zAr*d=#W%5_^73y@8J*p&xl++(|fEs)Mpl z7&Gb}j=jC751&+??LYX9cgK4Y1}qi~wVzWKr(q{#e8+q8c>f7lKWg1YnQ-q;q(oMB zli`?$-CpYb{VQ+#?)J8~o5VrFY3O^q51;OOU7n1Fm3^M{S&*WWGVVPdg;B&nQi$ek z;&n3yA0(}A!5btzN!fjzB$w6-d@M$@v!y&d9Hj{tJKla6`P};@&g)0VxCigk=-5{x zG4eTv`J9K|Pz`Dg7K1KI{RaBe_L{o9fvqpDZP!ozDCs`(11vN~@7iZQhMS8%xn;RTy;DMv&;8+$OPJr<$*tA(U9>#ExY_%7}O59OoJh5ZG-CV60On_ zHDBp%lUme%rL`?)Q-`{*v{Sw9pq`lt>MmV@k<{eXOATc5Va4+Bh74~^|#jfO5^KT z=|Ac2&cSm5&o~$jc#@M?~aKWi0LB$XVcaDr2|wyY$;m-) zba;?^l{kPQE^Ol<+xsy0Kr&poU~4#*F2Rw*l#pxc)@&4-ZsR|>dFj=+is1nqd+~Eo ztK!RU{%@#EwZ1mfQ(()f-Zy3jZoc$Dd-3O4XHF*yE^1P=k9r0M?CHXAH~T@>~%(Q zj)J$uW32xEyH#SQ9SI7|}tl z6M-EDJ+e5PyrT9@k`7ruJFltr++VQqLp7T#=a+SoYk(a4(TE9I4`Tp->_?f?3b~Ge zqj2$Dc+=%|%;c+TdNud+`6=DvlpG;dljX&RxTo5+3$ime&WncXU1Kp1af(8QcpqHx zF$&GJ^$PxVy`dW@4Sh?mW^PygpJ`T5tD<-E@#QY~rr5w#BIiE^S{A;{6~9CU=8mv_ zrq9f&2~+=KW=*ZW{@S1hc=pt$rRy3sj|{#|E!DcGr6o}NI?x(5<5V|+sz*9+XMBu4 z)sHk@k4-phJvFCragcqcD{v zC`gt7gt`8z1!61X<{vQBX3-?FhPI_Q}Ko= z@b@6}6MRA$hGtZB7aFdjysdjm)8D^b({K4fpq#MyseDg)T&C(B+!at3>PE!V`zp%m zpepud=nI;~KTxQwZ-H7}EkkA-X7R6CDRqF33OU`WN!%PuiNfUy)kZo$R<-4i>VJYs zkqV?(;IBXmpV?^@Qh=uY8t}9RTA#U77r5+@RnRriHAVT?DAyI{##^X0P-}p0fNp?Z z0lflx74$0TCg>*UHPCBQ>-E;uIn!Z)znfav!wS~Fu6FrHoqwe2v+}guzk#0jK;H-b z0Q4s4ccupBA`8IWoh&o3GlMktnx?d3B&0oQGGC;ypk$;PCrqSGPhRzp8TY$vo*j@L zQ(2_^F8d@NGk+o%86VbZ1UpJj=KHWC zA8DcB3P)r)?S;Wn%mjeGNXuodsF4h?oj4%_z^-f*N99a}BK46INe5ZEP&rl=d!Q=G zKUS@p7_tD#dXU|LTo(zFUg95$gb(wH8-=h7%;QjmhY`Cl()Nc#7E@{G$B-)>^~#u^ zrZGR;GSBJe;X&5toke>!QEHANGMW$AoDX<|->l>jV0|7BmtdiOAw~&#r5LiTg6uLD z37T|Be&upCqf64Pj3FBfEW$9v z|G%zPaPuC-s0(utp$rwJav4>9^3k`T)`b9!m&&7NS>>6^R0xq3qH@;}R7hl%ke4Gr zn)f(_&?F#)Z(zIp77AH~5v5^(Cu1+68H{pus-=^v+?gv_uL^|243BjbbtRr%Pk= o|6f{Qg2rsKkR7XQ-!0pMyR;{X5v diff --git a/hub/imports/construction/helpers/__pycache__/__init__.cpython-39.pyc b/hub/imports/construction/helpers/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index b9971d17ccd27fcc48af70cd89a2c4a8b3824305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmYk0K?=e!5JgiE5upch;{ilOa4&`8E)Z%uZKFx1OcF|tK z;WJHHE?Lt1KJRiqGyYYiVV~?~2`#JHsyN;l<@FCAbJ*~c19ChVLiD_fa%jj@gcp$B zaj-yr6fQasMi^{CYh`;eAzeF-6Cc8vD>EXcV~N&z3eqdId;mS>Vj+}OUWoM=AB$~j M2pV?zjaM@J0?zq5i2wiq diff --git a/hub/imports/construction/helpers/__pycache__/construction_helper.cpython-39.pyc b/hub/imports/construction/helpers/__pycache__/construction_helper.cpython-39.pyc deleted file mode 100644 index b08cf9dffaf6751524342acda31a6b8c28bdac3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2950 zcmb_eTW{Mo6qXdn7uj*sr0bfdTe)Fd5nv9|G`$7GP{+>NqE6-}=#B6oFd}2KkwurH z(pX5J+Mm%s(Ct@jzhN))>#+B|4cNopKvSzH1tBr17Cflozrx{^0r3jOp3EiWxE zBUsrLl5&D7>suAnlp^fdbt#@QSAmi;iR#=V5^X>T#M@_zp|ZD6B#RJb=z-)rL`sf2 z+Gw$TY;?;VEWGFv+l51nJQrYg3r6rg5N5z>4Qx>pPf&|a&=j4dX?Qa&K{z_6`8MR+Y*smn)R}%JD6ZTgV_SX{nYYF}Jg#Jc(VH!_vaMI>Db4P@M z5MK8BTJjL5W zGMq1aJK?jCNftz@OXgJkR9d|oUVpms9HGp z4dHT!_fC}{y{YU^}WNHC9PtHOh7qNOSe(6_S9NO%y*Ep&1A9+!K7H^qfDMxYu4=nNi>rehOUsu0y;lKU*0en>(pb#x^N z06L6LM7#_M;T$TOstcHciw6KQSWkp5`0jHLl91aVkSr}Yc4NYa=p(yEP+fuxXLxcQ z`h&s~YmZv42_-*xEMWAgzzEI*QN|%uBsKR8IYX@%rk|n{FU&(z_ri!logwsuK|2z= zNT2DrDJp?Bx7KSYP;g|}J+@r!5J}po3l5Ihb%q^Q5ge&+B$*1OzY4B07Vuv(h7nEo z3m4s7TD%-rZ*=-da{0#1zUbzH*_(i67OdWxaeMT#gJ|9uG6#qI^PsZYcn~ldG{UwN zLN)4Lw?$<8sNn_;<}=ysIzcy3tnIX+|9T$xo6d6~_jci?HCo|LgSR_Es-Q7^o<{$x zFe-HV!o^M(0u-*JgyT!*IfJmO8ucs?BU3QbR?3VnRfa(AcellHo+C-r2|Z5YIhY(m z8lRf`rYutPMa&->a|Wc)iXO)h>)Js+TxB%Ko9pp5e4B-@vp7k8qCefeIlbpt-}|5r(m;%?Z31pz zj=}A{&hH0L@2a6Yg3FAajDxFE-bDWyuK`q_kA=!5zB7!KoPx-b@SJ~p!leCoU>@j< z7@4SaA~s3Se*q4D7o59+B+UE&(D`BvIy~OvpW&Gwz%#~ScL<-w6Yv@1y17v3WgSOX zkK^=gM|X+P(|o~ko`u9a(qtTmLd`p}0DH+(nw$pGD?s%t?zWj~2`b^o)R09@rZt(- zM7OFTqAz7!R$3l(fMm^7+A>dke@~w|QU5;g-_jRTf2C5EX%}GRVPq{c-hC5pto~Du YCqv=I(Z=PP{i+Ye*SZJ9w=b3b8@t*>#sB~S diff --git a/hub/imports/energy_systems/__pycache__/__init__.cpython-39.pyc b/hub/imports/energy_systems/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 5986123a11fa2d4b1d53111f1400453f4620c91e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_|vsFxJacWU< zOlfXWettOh#!^OlEFDei6Fj;+XjO%)HE!_;|g7%3B;ZK)t0osdgX-dxLr=UGD9~$9MK9am8%ne!ySrKm9KQLUdGq_d_lEZJ za#h0bFMqzX_tUGA^bg8R|5Rk|;feo*#FZ?`m0cx}Em^!3OTk+W)UIY}GSz88sjFMM zkV`?iYgmSm^`O$NT2&#JgQafGstMT$mb-PUF62tE(rs7`Ay9OS2+~wDjyL_Zr=Urt-YSsIH$HJ<=jKYL_c3?XFIElKZ7ka!sFyld-cwN))_9C8m zyt=df@VR-*eCj)17<-U@?s{S3@A)3zFrPl&eu|=x)^8(?xOpqEsn2HA8*snfNzA{! zHSgTM^O3n3g-*m>-!?ZNJ=-+fJnHwV+dSI$oCKAw$IWd&u(^p<#ddJ$C7yXdIJCJp zG+od9g8MIQ&V92-jn=zGqkGO|;C08Y{tNq(wpwy_<&oITj@V1QX(x6NwLi0+B;o^9 z*QTqHZ$9+n1XJ`AKMM0sC_TRwh1-XZNiX(HMf1$ki;n_qhWm~k>|h?d?G+=fecthS z_jGyvQP+>-={ai;eTU|Mn`03S@x_)K?+b-4#*39`Y~qQDP^p|s41C#<-pX`_CFc0aprvG5>;-$7M!B~V zZ=mUaf4{l0`$ddJ?Do4nijv*!fzz>hcZ{fbmkzBxU^$ps7XS+aKWwvC5r4TCM6Y%` z{TI7A#^)NxyFi!N6U&LgX2B#6h`IRA5 z@CdE^6+$ZQOCvdf?KqP6m64Ll`#9~s#7$ossi98!k&0A%DE;R7NK3W-(x^0Sq|&jT zDrxDBGSYu7g&%5CQXT}dME}G%uDB{%R#C6Y(wEY~%`c@;xhsc;t}D7S{CFX5%+E1nIW$Z~kKo7#1mF^W^o)sQRoQ_=Jdxeq1})12%9HCEr#5Ll7^owq?pqvb5smA z`56#&JVG^x5ZW*jFb)#bvOCfe`A8a-P^N?Yq^b*}a;hJziFPFIm(ucOiO79$4Yhh& zVmb^!i78NTIo00CkPXO{u?$0Ttipg$56Cb!^1gmoN?{s!4O6$4tnwJpoYt7tT(4_~ zE+b~fnQr%bUg&Z%{TX@m+~!WTA*91hPw+ogBQ&19GeaNYqQ?e5&YFT!vta`ON|NGaXN6TgE* zk~P64O4k4t9gM;sd>Yj7W2|Dn|0y_U8X6?fVfl0kY0f@jMz)1yc z;BhWXsmf%LE1{i!86ZnbD1!&uFXLTy33AH5;Yxj(?{teWa=u#_3$ACe^+ zm*!b;UgiOWOy&Tpu zY(!}*t8I6pBsz?O#P*$GW&2lSuY%~Q2>Prt93Vw`ttS5=PA*%@5hC!;iIq9lHwvtu z!ss00Pt|8;(RUo1?Df51(u?G*l9zyD*@em4;FFoRx92;)7diu!kAtH;N}Vu(Q|ys7 ziJcS5;a{)nIib_3{aek`JrF0-8nP-Yc5ay6JXn5n>Pk}&+d~<}9a)g{`GXsxJ zu66YUBWKiGYiISc8f|f!DDWb{IK&PvHt*LmF2^tJK>F;KI&sbzUbJk=X zh6R`+O>UyC zb*YE}3wx2bvaZbbVord2q{l_1Y?(zgTDa2L=GJ@P(qjJL=)C@jCvGC4kV*qBYl6H8 zu9V@E#c28M;r3RmMmIhR-Wh|%p^If7*k)Ocv4g%HjBCn_xsk&drv>rvA<1fS0;)T> zI(H&h1c96!Jtq^y33;4$F|{+g=W>d;`4SR3u$V$epinbZ3w8+h;*ty&lO zQ|dvH1OE((^&N;8P0yR_ zJ)6x#y`L=F_Y7v_rsv+GBZRO+y~ERfA@^E$7aiuzA&8dQ{Y8hExLZ4bu4deh@T{LM zI?gzZm>-1PXZFdWgUs7HGOgJq>fP~z9=@EcyHj79L}Vf$bQS_L<8BW0Pw7*IfT31~ O3sgibO7ZCAul^7Ar(>@G diff --git a/hub/imports/energy_systems/__pycache__/montreal_future_energy_systems_parameters.cpython-39.pyc b/hub/imports/energy_systems/__pycache__/montreal_future_energy_systems_parameters.cpython-39.pyc deleted file mode 100644 index c193a72a50ae9c02b8df6645fbfbd2fef4f8c5b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6888 zcmb7J$!{Ci8J~^AMU*U2vb@O4#9P9|R#Z7|05?dJ$WBr;HH0Wh9YVpwcxEIHJq!J2 zXomuIiG0Y>=piV2vU@0+OAkf=g8UW5ySA5}dhaFueQ!8pl3JpOnD@PX`QGo_p6u!A znu5PSez&^y-xWpq7ZpbTbQIphm;3>VtF#nXb+tfksgi0f4O9>G&}bPdwHZMvG+U<3 zmx6LwX;oz2460$RRg?L0FcsEYb(yaO)8R~OM&_%*iEy?xEAzErE^M?KGCvi}hYPI* zRryG9>+bYZ#hu>MS|?p?LutZLvISxG-hz0mT*Zp>4U*EZJg z+_!F6pZJa!B_49WalI(@w|tM^wm$i2{S#E(TwXyMbL&Q6)0nlm+vomvJGFlJ-dbH* zy=kq*krQ**x2?6ipRQTkJnnUC>pbpwPKrj?%@kbt}vd0=42iBgt8(`1eckEyT>)6{~G1J0lZI6fh>u2tUev*u?S-;~uw3f|% zFLCHNqkjc*?xWUIfEb0)($Zbc)t@RY!!_IzXvs5O(=9($_S9C{t+-XxRZv%Rr(|6f zd3oz-uOUCY&t~O9RxbB|9EnnHyBa_OzI#T0~^40xaV_F=g??$}dDYd?vxatERlZanUH?*vv=wDwqE3IT^6MBsH82M{#_Nx+53mB$ zQCAS}q`3W2pi!hp5G+5$M6)Wl!QTeUc zzsq^dMH%{M8^;tSPnHci<{WdNVN;Lgt7ltHSO9$_F0+hT6MJH5%!*w#%Y24TbAnED zs^FI+#gXNwJ5?+⪚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 diff --git a/hub/imports/geometry/__pycache__/__init__.cpython-39.pyc b/hub/imports/geometry/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 12d9840f4340a55b02f1cade4f3365ceef1aba97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_wvsFxJacWU< zOlfXWettOh#!^OlEFDei2Y{dTM@dYDrOLOniK1US>&ryk0@&Ee;!?uF{-TJCN0%ftUdR D`$siz diff --git a/hub/imports/geometry/__pycache__/citygml.cpython-39.pyc b/hub/imports/geometry/__pycache__/citygml.cpython-39.pyc deleted file mode 100644 index edcbcc1a7be24064a5d2d2cc528a14cc632ccfad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5879 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 diff --git a/hub/imports/geometry/__pycache__/geojson.cpython-39.pyc b/hub/imports/geometry/__pycache__/geojson.cpython-39.pyc deleted file mode 100644 index f0e679ef209cd7c19a2a88adf88656fb0fd8ec1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8220 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 diff --git a/hub/imports/geometry/__pycache__/obj.cpython-39.pyc b/hub/imports/geometry/__pycache__/obj.cpython-39.pyc deleted file mode 100644 index eef0fe85ca9c86dfb08bcf187ec0c47f63c89c39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2605 zcmai0OOM<{5cYdK-q}|Of$)$F5}*Y!N&-S5iqOIaMMxp6SRr6EV0or{c0G9P+3t3d zS=kph2QCqRfI}j2;cxH*IC1JDT;LZVae=RT9$H?)R+p=)+tuZ&`l_9-uSXWH-+l~6 zKdf2S&m^3^TnM`uasa}tp2ckD1O6Nd-TN8IL~_*&r1ni>I`xJ6SE- z9WD)bhiUXHLSWtAv9*5yZ#fum58s4m_)eAOEGrJdw+<>XN{2Mv+As6jAxzMVXD<)J zE{41g!mXZ-6e4v!mpRP6Z}mLx^MHBZ*vx0aeecxnwV(-&ro}>|X|pyZM!QJL$z~MC zl$>FnN(p}G!0_@4z=Rlk81hM*3Z}LaOWCzeWy9PD?$<9ij&jEC*c*Gb!#vvefs0lC z$5`#*K1D$lTbC`ld&#oR{V8Z|js0xT8&w~b#zt}LNyzj2QTwP&O+ zA$i9G6=Jq^(W-r-rw&QiEu#&M7Sw3Ng|=<9phnw;)txNk`{q&oxHFLtZD9Lg$R#u60D8|GjHH=`y_gI|KR4eD{s7c z`LftVoHPQjLo{@eW`*3@65CJ;I@!ciM4l!>Nzmc4jEOby%jjNpqZTwv5QCV@kQ_K zE?Z}pI;VIHb7rUB)^fqBMxI3nGG8+9PRZ(L!zfLG>F54)%__*If-e2 z;WK5P&qdVxKCRPyCj2Xl%Ql)P5tTTIMYg{QO7Rb$>uv={Mq(H&Ip?7Wsx8SDaRf9#oviz4VKYMg`#uL5HG|D37$@A|M zo};d-_!9L?AWn&vfP7jPikMDoOQjJuJnt^B)RTOFS8CK2o@V=MlPryYr;*v%YlE+! zC7Fv47wNjw@LLLi%{j*_O97GZ`Ox_?8`wHM-)f$sEdy%j^(h6 zV>u$7kK5sa#+&bA&JXe%jf?dPu&^NcqUl676=bAac30ya9?XQwWZnUL7yGmm+QxY$ zXK$GxD_pUycd_-_BVlS>rWqJYLIY~KWq3ruzv|@i{09SQ=5>i$+xcaatx_y+BsX(d z1Lln|jUgilatSC^taI^3<4;Sa-^^F_VqTP$Mr-Cd=n^b8^NgI8mr8Ul0`op!kkuwt z(?&uR>%t20v7_v`GjDVMK%2=P@UKDLu-%}23f{7pH00RZJS0sxpMvF8iiWh@58T~j zkFYp!hnsqLIHB5Tk2|4kN2GU~$R3b&ED7b7i{BH8D6#Bkvdk4j_cD^m_b#-3K`#!J z^b&x4j;L|#w?U>%d*aj)df_}RN+=g(<2$ta!e~{x5G&T4!OpB*%Q@PWo1=wdu{-dU$52+_vE8InF* z6pw^>Rj2Ca$v_CHGa+zDRokdST>;t#M=l+9t|X(bv_$v6<2`rWcgH{fLl-%Zp!+ts zI>sR)FASo<_u@Wn_e;A&T#Q3}K!7$#7a2N(bk`rM*hWuwyuWfDGR`vLU=;ifijR7` diff --git a/hub/imports/geometry/citygml_classes/__pycache__/citygml_lod1.cpython-39.pyc b/hub/imports/geometry/citygml_classes/__pycache__/citygml_lod1.cpython-39.pyc deleted file mode 100644 index c980f3169ccba02b2278c0f7e4b43494d309c32a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3069 zcmbtWUvJb#5Z|?ZcRuGr(E%yY(z=CGqJkAtRH+CdNTxH|}?;>wL+q?aZ^l!OZV-8g~v zNt|uE3E$$0E4nV@Sr{koRX6N2H%%WfEHbxkD09_)f^r+;SE zQEQ-Z;#0uVVAMCc#SCWdk{#;To{=tP7OU;rejV%@H?RY8%w|nJ#|GVDGg@yxBNp); zz_Yb?B*b#`h2y%@*lHAA07IjD2!a|Qz`Mj5R!7Fv;ZX;=kR=d>gk)r$jOpr_jE%yK z5>>QugFtLx)Pt0#8xUw4ChF$TeCc}UE5)Vi#Pl<%}}NlOsd2CT=s^68mf$^ zfhI~4_j|z;A;0e?;z?&S-{_PKQ=JLDI{3{gj_&mn2!S^k7Of!7lPnIRTyF7`cy{fS zF*-dJ8*h5j0k07?6!jrA8QCGv=?e(OHr*zHu}z+v+vJh)0(%z5L^fdBe66Ud9Eeib zK@j)jEC~D)!NC9(%^)rrKLk~k6jJj>VJV(;L86XFc`0P1)a=<(@c$X~--D5!d!tr8hlI5!g5KN9KS<|XJW zbf#_^FKs&aYIJcQ78-ExMk1mxQ8z)EER?74P&G{!c^38KOR%9(amFjg6tfjU9_X5J zbPO-Uavj49Z;IjT_>Cf{H1ftr|5W}E#bM7z4YU%&2+NgaHvjfS438a$;qkUBBlxf2n`{-}K zf&Tv$I(Z(x{$`{;gBc}K22!&9YUJ&6udMqOwGN|ZVc&)~0D}aPbFi1+nl57!i~aw` zUS2>q5R${-{v7Qe?+woHX_}Xqf)We-H4yD6G3rM9W!)T|J=)Rv8N6}&VakJ`a00wX z;Y9~}D+nIvVN#7Wf`Ew#%rp8~08h0|!Q?D{67Lm>6b8!hdhDv z^hq%-aH+ye)~1$aP{(Z5plyI0GpNKFtMiWZ;J<$vZga1?&ArKO?rrMFmD)1|rJ<~B zR}Wnh?SBAxll}%g%OsMySip5?E*}+G6wBAAw^89AFrLEu)vL&&^R@Wo$Yo&$WpyLZ jxbg<&ORuam=-?F2dngw6jS_~Ncs=M#&9Ylm|CxUS^uF_1 diff --git a/hub/imports/geometry/citygml_classes/__pycache__/citygml_lod2.cpython-39.pyc b/hub/imports/geometry/citygml_classes/__pycache__/citygml_lod2.cpython-39.pyc deleted file mode 100644 index 155538c38552a95f66c89a4d8ff2c8a6e42122e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3374 zcmZ`*&2QYs6`$e9eo!k}l2ui5ObhAr~VB&5xw=4ORoib>TibRdRJC=F~c`+zTfZn-n_x` zvPJOw&v%WJyDNnJOE%_z1{zOLl8;d_;t)oe7SK?0G%961&_ly9lxzfM*l-$3HiKr^ za$1z^64qeNmxMLBcA-0M);c8JcJ_c0V)gxWyc-64F?(c(G0OsOj|L*)iS40h7zVBv z3=-Ks@dMN^{Pffg_&E>k_{3&B9r%I$$R0$@_QO#uQae56_K?RRPsP~wqcm0;xtiR7 z2Ue1b%u6%Dt;2(7f3QEW_k52>35WCv<5B9L_*^`;_jV8Vp!!AcA?jGz9|VJx3#%WG z#=;+-ruILs?VX1^J9a;gyjU=QVD~@ztZxrRoQ+D_?_qJ$rNvTZrl*61qq(wM-S1-_jJSZNd6bk{USMKD-#}YO-QuSDFu@L7&v5&|J_zfnI>$*e}}hREKfkvtm_>pJqYoS9~p2W}1E` z&Ux1;8g8P-uDGEbSew1*RBca=EAH;c=_lbR;2}JgvyX&`#kE%GUXTa`F(TGx)w-0H zP;H?kvXf{n*rYC#A1qj=M%+Vqn*F3Kxu#4b*MVsWOw(Z+E=-s{cVV%C{;sAzMQ8rD zlZ`BT9>p&ryW*0ajz|2OifuWA7Ok3MH%?!y)mCshVhsa9B-cxHaTkM5?l0V-T4y$T z0cIKPWl?weH-sUX0y;*w$usiRKd1U+H6qU1|**7=e| z+CwtgRNkfM#x}X4N7~e!HmcFanB5!=>Zp;qxlQuMHaVvvKkF>&n5NF~yJ?f@c@y^i zE{C)Y+9~~e(^lS^Yi~~5xpryd6pg%{8&~jhO3wav_SdslGktTWe}&zEmZIcwoJEYY zr{iL|vel=h$FKHdJR^yp^1~{kHVY%-e@qJlIz)ueftX^OcmUHWh$1 z#f}=Wt|fjX2P#tj7*f%!HZM9gOp*o8YTc?KcJ9=gBs-QvibffhoHegLWVKo1tlm`J zppe+a*6*Pt@1P=@K|55VtEeq}H`R9o(iYre75^=5lTOwbNhRIVlaaRm$uJ`$jAGK? zAuu}Cfhb-RU?y<`Gl273%$(}1v8d0{4}|v@wUULbxlN`;?HkZIC>dI({AX2??qKPJ8lpb^I zjz2`l7bx|P_iov-LaVzXQw)g;QVh$L4?I#_$Q{=`%LYN!({x=Hd#XzA@Tk*CWP~(;kY_5EtJK5eL4d_x8|sc6qTWI2uCk@D1bTYM)Tq@) zk>5>}H56T=LXO-=^m>eM@d%XbRcT1CPD6U$Vj41QA0tf_5{}~Mx6V6NX=^fD$SoD6 zr#zHXBw1Ug>%C(n&GPMY84r>0_bMBgKJv5wJ8h7{-Hx-AC%u~B(!JFM=WL{` ZC2dr+ep$lwEBWdtk{m{>g9wSg{y*O6hr<8> diff --git a/hub/imports/geometry/helpers/__pycache__/__init__.cpython-39.pyc b/hub/imports/geometry/helpers/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index a0ecd87286aebfa2f2d05e72fc596ddbae065bec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_!vsFxJacWU< zOlfXWettOh#!^OlEFDei2Y{dTM@dYDrOLOh#%>0m#t!_{_Y_lK6PNg34PQHbC8_IjMFa JCwvBC1_0CsIK}_~ diff --git a/hub/imports/geometry/helpers/__pycache__/geometry_helper.cpython-39.pyc b/hub/imports/geometry/helpers/__pycache__/geometry_helper.cpython-39.pyc deleted file mode 100644 index 2221259e985d4dd239c8ae3e433a5ad489a64ece..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3677 zcmbtX&2JmW72nw}Qq)Hj!EWS_)RWe2!d4+{1xO1aH5@3Z62LVCyFm&@#$v@Ckt;8E z>6xKq601w)2EFuF^wfiN%pcHWd+6WL(_Yhyjy<)=rTx9xrA*R6QJ@s&?aZ5*H#5Ka zy*E$c@^Zt%@1KA358hk0tgopt{d3T`kD|69BCBmhEV2{UX69?RZS!^7F1}9U^u4yn ztQ{+IBkzS3d8c;UkL<@*(;xmB1{yme>kBPMyeE=@kd4Q?AN`8I%OAuYkt%`Or;$i? zd=Lw{#UJeKK7i`I)*Z-9@^_O^W6pLq7|FQX)BLYr@y$D%n|wP}%m*~6)xR8czcVr1 z>V%C89Kd?mWJN8FFgzS}NHP6$(YTMIatL7oB#QuQJHn0Z$a!I%vbKl10S9$oxT1Dg zkNiKfs20^*?SMM^TTZkG)*O<~RMoUJw2s_Ksim|zb`fJgusV_&b1ManAWdijl z2I=wD2Imvi1bxms3_G3tY*gq7+bHTfL~b48zOP#+EVs^BjypfMPoTvD_W0K@$oVg2 zn5u(J_Ibz$S)6Kq1kiC=sAiYCeyC;q+)UUSgfi@xW7QV_;`s(2ZSe61uPVINYCS1O zN}-1`#TX14ZH%96RNu=H7Y;Vrv0(Sbb&51&sSD>F>6gvIeUxPf243=u%Cc#ff`Uu2hE;>AFTfG8+MCcT6M4Kk za~YNKTXSH%Ity#~B`IcrAy7ON1I%|((bgdtt4(bBopZvpbLQskoPoy-&^Y6J=A7G7 zAfPC)v~p;EATuJe0$bDW90_-c-6b;%#z8VK(xZVW93=)#udvfW(V+R|uKw6|gY^F}KfcW<9GLPTAx4&DlRq zkAy67F;~M0u4z;d&SqgDM2Ofi9zdxp2qe+C@QjIh2$o~BMip5;pd;5IET8;ng^h2{ z9eQT?%pu7EFWGS$8`0ngc)*@o@}_2o_L&pe=Zqn?AgaKT5M|tJCe~cD)~yp;<0UKS zoZ5iq_KA~Qxid8aZl}F7Keu!D-2Mq5e0C4d2t}&AvhPpq=hlgbHGJ4~VAI1s+;z*? zy$`z{**&SzH*(*wP_O5HUN`%xk$eMj?}h~ptzRR#Ze6jkrvK~@IV_tQwA;$EvGzY& z(6!t@WhV>y0z9KO{@7gTj?gC6NTbV;ii{#eMCIz)5LJ#;2hYvy?VGS*RK^X)KmRhETV-pe)TwQg<~wkcCH5o8RrU_#`1+i~Od0GDn3Erct;_uA_h`^N zb7toVnDh`UUbPWk&BJ_0JBRL>SGf>^s{`L2J7yrg@()vqtL0&~~;ln+`q+7T&TmAql`9l(KQ>PPU zcvX;b^}wV~rkbuKPRJH@`cS~Nr1L=v=?f>NZ@=`435i#|8iZ diff --git a/hub/imports/results/__pycache__/__init__.cpython-39.pyc b/hub/imports/results/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index fe847518b0067f600412a0fa0a4be1037b40512c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_QvsFxJacWU< zOlfXWettOh#!^OlEFDei2Y{QEG8%4v>zI&&h;f(7ZP!SF5yH;?2%`@5eW9KHiVx zx7$quzt%Y6e;*L?6)KBA9h7%L(rsuM84*UA7SV||(kS-zNFV9&Z$!q#9GR8Pn%Ekl zWa5k(l)Oin$*dQISr^)<$@C{=Xy*aLdE`!#I2%W2E|0l5I&%;F$d3cwe6si8 znfs=@69yb$(0jyqoP~!W7n|;z?`}POyyYH=B%e0-L~_i744jM$_leIrb07Qh@qsVg6txXeYVQX1>l=YT ze=SI&$UjJgpTWp`VFYizpTwyjo$`#k_oGu^@N<`O_o)aWqzK(9f;M2H73gN%|G?6c zA(h6SpN)5+(}r-kB)|2eoTmZ07k~3T`59O_8By35jZxSKjp;AQ$lxY3nE8TS(2>O~ zW`oUU4y=1aHXo{0-iz||{8rO-OVyo%?go*creF(jfcl4h4P*->?Lkw}f_S9RpoM`U zDBT@u()5BbJCjZCz)!h1g^3JxX~6a#N<(=XbH|rN;F){%>#fcGrzscdem)UNlI`!E z1!G@Ks@+NV$N7Pha57CqmhKCl<`Mjt2gSpjH>PLO@w_k&GtXPW6b)zywdncE^-MQv zL;$C5{<{S|2Sm+Gf+r&x%LcgF7$S249+N?QSVrH>)N<>zemv+&-qLiFGW0tagURVn@ zTiL!S>;;>nY=0}91zSVeo)wL2TcN>tU(Z^sIctM-K)N73kbYr;Z!lXf+L=?disjod z*I$rX`{dt+!Io|lh|`P{T7~Qb@(+OQDP$j!C;$8i zXvu)*LZ>8Nev7=M>A&s(`QY<0NMXPk?e9t|q>*Qbzl8d7IFJGhC}9!80u4R6WU7mCMA@@$%C-eDM(B`X~Wrqodr zd!=96V--D>w+`|!!gceiD2z}1n5CluAaFrEpvHU>Lp?J7*=P`yt9jGfW8>#HEo+cu zxxP2;t5LPiH_Xyh(WO;pB@NgxJ{n}W3tpW^nOJSD^C+#dS7I@b3b$5TuJfqutEGLO zM`do;!<6%E*YQiWfq~0z_c~%}=*&YYT@hi~Ea9%c=6%l!BUh!LLPNB5+N6%A(dzle zvJF~4J?hZbcSUpNegk~Vv;*xxwXZGo2lS41{^Lc`{GMEHkf;eMp(qml6P)6L9Ft=p zy_fWp&u6rt$J(EPO#h+*b?V?V3hf6-vE~(->4ko2T@m3FNIg2xs{zHW-G)!hv6D59 zoA;o2nXdGuxo#-EHP=n0x97U0^iHW~-OFAb?KZi>d@yqV9;rMkZso!LwMUImd9Z)& zQDape>|cA-sFer%=vl7EL=royGgzrSYRtI@wc4Y`oO@8KJ!;Ik2esOx#+-Xl1J8-W zY@k5r{8RY0;}>6q!Pw2l+{F*GdvNCFDUuml%DOJE1J4ujJD`o{Zb<_!(u5*F6=qZL zEEn;nyPL#ZS|Kk&Q5t7{_o_QrHsB5b<-~V9u!)>Xj`9vBYKfM2VXbKyVPCY}}Q2eT9`9tss z7aP0*Efl^5ybimv1J-l{8e(>!ke8uQo3vLy`Z`_LdjDil#&v}2LY|BWyLkBNL zII8Etwal9&EC-tRWXtnTazCm(w&$@V@I29iL1in=fX9Og&&CN;YcJjb`$D!VZ{#Y0 z7p*QxiYA~K-7z%U{JF9Zm&7JmrHvQCC_E^)7fDR6!>w*(%%dq>{P0GM_gwE(U3AMO vUR?yh{Tot>vlKr<>K)mb+r&>Hpc?Q0B`BSH<(z+o-&U2SVFNj8u&(;I&yAF$ diff --git a/hub/imports/results/__pycache__/energy_plus_single_building.cpython-39.pyc b/hub/imports/results/__pycache__/energy_plus_single_building.cpython-39.pyc deleted file mode 100644 index 4669fe3b0f85198e10c9d757485ac9c0fa39b8b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3408 zcmZ`*&2JmW6`$EJE-8|tBub7|x7nhX@DRdri#9NfBCae%4is6iWbc zGeT=z(+DMFdr+t3W8#~>^@jM?xi)C{#t!M#QkxRecp4=vbjEQcM&YT$BE}C-oqaF# zq9JSSY(IJByzguVLk2JyJ@r{6f`fqZhtB55+nb>JVgEk#F?Ze%J;8WmEuNh6;BX|I zKYZgnxc}gRvld6gnEQd}tgSy^a}If&P8!=hK4L=wMxSwK$79TQo_o>JzQ>&er9RK4 zkA~&z{h?RAHjKm2+mE>?VCL;0gttD8qr?kOm|)K1@WkWn%<-A?f(PJ|2hIdRefZD< zbkpzOVQEQ^N@Lp-BlvHDH(ZgQdtu6wts$Ccf7PD62U}|64aPLLJc(Rv{c^r$q?bG4N zcYzObNYmQ zezd1e8`C-8%;ruA7nylk%NkddlH*strF36q){L&EbYEw+8J(?kzt8L$U0vy3W%X-a zronvwoHqT&v<0mVZ5~<&+CpZ6tvg-JTEfnn+2URJ)}N4R>-cY(;m_SA;H8C8WftI8 zrb}5{;g$+q`+^=f0ohc@wnEkbd2iay<`uGwNKrp(bP4#K2mFr#-%|K_g}0UG<*cLd z%Z29-AP)f9R>+P*))jIkTTsZA0=WRl3qZ~*AMeKmR3GYJJo0CR7VG+kHmNm$e7??@w!{kI-oO!@`(umlXLe^Q7jv4S6la@Du zSA1zgo_PYmpj&$Rcz1Wl-FWumxx4$!{p7{w`cChTyf>S1aVjRMa1VkoCjn{0G)j~W z9OZUd8>x8{d8f=xxA5Y#u^0KtpbH3GB^TH=9Y>I~KKpXe9p+1XQ`_-JuWxErApCsM zZ|axBV)1XNrK!A2E00PVu#0Ta6}UBS8Al#isV(EkwX&0AF^&Sal54KxDD=y@zKWwz zx5{bq?`)O+bFq$&^Wprp$6V2_Tq#*mYu?S_e!o+(-?vs6k4EwZbVOUF4Qgu|EuMc{ zHG`HH`r4F^3VN8|{Y z@q&K-)s$xRNc#;i?r$~VR~>9drhNx_*t{ZBJ<~6(E5hvz`AG*3HX#4CyKsda*~m4I zAisTG$#a!#D7jh5rjlEgY$>^&%VPerQ+m5gt}q_-yzqz=7Uj3F;P~32W+*H;zP6~j z3JZ>}Eo#=nf@8ESmUAM{9hMO+6&5vTWkIR5s5vVON~J~3Sy@mjEo#onf)ZGc?Yy8k z`=a5%Z$09{aO8*)bMWGK_D`J@FJh(1v)sYk*(tAaCnp65Nkeg@a`TWgk@D!FvlT~7 zY0hkvB9TvRC5|8jTGPeU&n5JUc)y?bjC=YF?(HLR>K2G@lm5R0`Gt^ijy zUH3Tk!ra1}FtcnX0;qjBW?~fkY6JL(pq~j@1&{Q_u|S)LmSDAIQ`^vJ<3~yh*ILbW z{dfqI)Ue(RgZ=!9TZOW)KVsnoN=q!Vv37P(RPn49nPc@PmuFE>*F#W|NbqJ-FUoqQ eQ^!Hg`Ts(c_M`k`e~Pzof}tC=CUT~>sQ(v(puQLY diff --git a/hub/imports/results/__pycache__/energy_plus_workflow.cpython-39.pyc b/hub/imports/results/__pycache__/energy_plus_workflow.cpython-39.pyc deleted file mode 100644 index ded3637a1d1c7fa1e75635c0b26f50c9c5eb351c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3325 zcmZ`*&2QYs6`$evuJ%jol^iK)!ApQ_iwLe;q=jJ=F=Qcf;mCp=$Ie0tL6IXZRW7+2 z4&_MTp5#L=ZG9}z1dxsadgx!!Lr*>QFPLk4DbT;bJ+$u)$<-=xmYCUj@BR4Z&By!k z`R#U-!0)f#fPFI{h}(BQ{4S=#1E! z*czc^;*1)Ud_+Psv|f_XI@d~lZ@Py(&8N*>o*uD4fH7p;ed03~x{v+jXy4~1)pbc1P1-kC{ z->|i0NTspsi!uDS!5i+#r+%EXY$rhT;%|N??}3()5ruQn@LXP!k`PoWfbC zeIHq&4SVj${+8O|-8j#lrTn)Carz=aU-b{i8njJlSr58`7Q`ck20hFHKIqO+lcpC$ z;#4-heLrK~6l2z<0VjDN4P|M}4c`)u*X#A8%{zNfGsd&Me8SUI?CqWgW1ml|gUI&A z`Mzq=WSVl3?QxdnG5nWz!ka?K-is>cjp?a$JTFQj;dvNlWU9cW!>J!s2?3AVwkU$li&w2J;3to4^< z);|7MVT4O-1iZ8{s=@-?>g-0*QMelwuJei>w*c8v$c{qVfLxyqimpNq5E-@y1iW?u z{Q;mm3f)y`NBLbTdJ4T#`RxHR1Y}nsdkWc5$kk$5Ay+HpG9Z5s$euzjBl7s~&w!E) zc+Pc7lK#)gE1Lb|77!0UpFt~-Y?gN<<90r6CM#{f1Sv2rxh!O3X(K?2MarF`o+ zkERo#uu-R0DPI}Ki^=gK^JVCwUI#{f6mMV$tW1UtX{1w@a7<5WLw2Mkhou9~lsIbQsI*Ia zth{IP=6)W8&|*GGATLAq0l)xWhc9?)Cb*-zg@o<9)NH8M3JG;E4Y{|L9aAV=f~$nO>X z{Hqx)=#lm(Ak}X)pimubMxnipRBK+6nO^7@)+OOiffS?z%^Hy8+8TU&jvUcAYTkt; z4s|6j&1FN$t+{L}xjmOHC3i|$bT4|fw>5H!@u27ByQH!xzm)~YR~9uxWx?^4Ma@-N zaC~J^vsM-yqorTZiDY(IM{uLEs5$2rlxmBbb8bPYwx~Jh7L;m>nsaVJ2`tA>Sp%GX z(RAUrmGCGSyJE~-{9?QNr*57hsiCIKZx_G0ZvD-5OFD3oE))?eH+MJ_IZy7mJ88m{ z=FCCj*Z=~#BDC*t+0Jml@wUiDeYY~;E+0q>$&Fjst)ktIGQ~&yU6eX?-c^aL2S9Pg z_M@kdWv9-;%Jkzfov=(qfj3Tt_W~uOtUmx=QooM?0TvOFhdc()eua-s7RkZA3ct3S~p_tXk!dz`|YZuryjA01NmX zPUQh;vkmBo*@1-aL&7#`uYUA(x~}#9*VL;9lu$lrYi~&3(&Nt1#)1iF_dKZEyh$47 zK>MC-dERmE$EAh0U{2Y}1kiafVPc$yYU}w2pkD}9g^iTOvF_?Z%dnJksAFif`3t2T zE=k+-!Zd(MY%CGuXute;twX7|F=p`;szI!XvC#ESRHdu7mt$!rR~AuFghNn?$na~V jUX+cwj{gMkYR)%>D4o0IVt=yE**4O_J`OKXT diff --git a/hub/imports/results/__pycache__/ep_multiple_buildings.cpython-39.pyc b/hub/imports/results/__pycache__/ep_multiple_buildings.cpython-39.pyc deleted file mode 100644 index 6135a7cd20bed45bf03defed214ae1516a904eda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3756 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 Uef+Gu27$_;%_)2MBRp^a3zPz+zW@LL diff --git a/hub/imports/usage/__pycache__/__init__.cpython-39.pyc b/hub/imports/usage/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 02e1c5fde98b7ac3c8e6e371e77b4b7a4441f15c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_qvsFxJacWU< zOlfXWettOh#!^OlEFDei2Y{X>nqDYD|25W?p7Ve7s&ki8?b)LW7o&ClB;ZGo`kuAwaEWrw;NGe)U1OpIB8v~guF;O`H=%^nnPg~>l1h0loY-?811%IwP-8;wiYE_@?YyNwU$)nrs9;H%2$e0xzJiy9BoHg zp6S(9MJcR>-N23SMfRb4*XDNDja?pD?xUF7?KraHBiHItrFFu?6PL%H8(9ZD>{@9@ zt8K@&A0AqE;8=DPd4~Zyg_di#kF5Qk=R00-SlGF{{-yP zE@0GnuS9XtF z-nD&*9rMsfeRVzTx>4-4Z-w!FS|km&(>`*Yp6`M#-44JEZ2zY11t>SlmHCJMvp!5k`SJHy&u ze7>v+BXa!%VNmJU3a_H+AG>Qe_U=Wn%e`Kghhe;T_q=^%^X_o(qdhlp`QbT>&ZF4v zvMx-)_pv|hVaSgU{P5x4QEz|G>z;%>#u#MIdu?g=OcvP5*z#9S&V|XC7kDvaOC+pZ zh1$RNLN%<6nznJ4#(#NGl;mRn7eu0Tlz|!pATHF7Hqa8aqpvGJ`=5ax8y89^ljxo7 zqB1c0)kJxmOSHszq75?lmEdhdiOut$s{jyHiSv&Oj)t~H)a$D9KslXzpaj}`3V0=q z_sc;x$#%+)-cxuIR~+L){Rb7C8Oixaa56(q*~uQO{4qGWQ5)*HqzrO#^+Fk#iIJGB z2x)4GnPie2W~e_g04gT<4e*=9f1;^MVjf}+HhX$-I_K!v&V2u;*nP{|cHQ1cORkQrIl4K7EzAqyg#?p*(a9}dyQdMmPy?8xc`$3gfo z7{Zm!ajxR?6W2NbrpRqZ!>#_uqcdjp!@#uw4z?A9F#zJg3tZtb>ED>{c^3M;uKQ|zIax>lgXsa})LvxuT^_!C+NacYd5)Ly;YDO3H-ub~AFGLz zk%~oF`Ou)_kWCu6Fb{fx1T#@*kxRN^V+BRR{IPq!!Fk9<4p4rGlOr;&EE@qlf~a^y zTwE1Ge@VcT_v-5EI>27lxR4w$~T&uxA#vT{eG${-x7tfQlfriOiSZF2z!CEoDn%}6?sDbHs%w0 z6mxzR6n_obvcbPY^fIzmZMY5NVIolEoF3hRIO#p-$9 zirb`+(H|WYGDfMOK8_F&S4p%bD2hQPKsbXixML&+OQ{T~jO1lOWhIpZm6H_kkmZ4i z3e)2PdQ;0{r<7z^Nm6A{Wl2>)RU|b7YDQ8(N=7KEu%bj)8oh?zS=qbRDTAWkwN3>T z^{#bhKvC~n#{`9h-nF=nxk;i%rhy`kC!t9#Hs#x;=}vy%|ZWn-zt(vb@-An18<<(b`P_L&Xs?|VKJ_^c;4X|lRA zj7`~57^i408i={h5VKFgw(h%u(A(HNl<4;w|5_iMq0eJvAWCF zR`0H^5i@_{+Q*C{vE?Fvho;Mq(ShTNrSNYPv%tpc7I{E@8fA+jd!`u#XCrMi*z+Ru zAJaHh>2W4}&1JCp7Ful}Mcc@f4B;^$bowJ~9?=ERFD{Mv25`Qj8UQQ6)i;Jlt^04j z1hl3c;}oJ(xJXtY0jmSRqPwG`JI2501I@_{bQ~?EqXO9zK$p=0Z&8T>V8Hbsp`1ZY z6R@NMW;6%EWK;P_8R)0iPZuUyXVLo6bFFjZ*1wRgr^hnKwZBBI?&Kwi=A1kZxCsgJ zgDmobge9d@gdCev!i=LJ4E-J8CX0l-@7L<78JB4G3j~bE2LHcN2_uw;{M@m^e={l# za;LwMW1DjI6^#Aiv#|kP?_p$9j=VMMlbFYtiO-G70~7Pk5qx$O04l%{-zvcqzBLI@ zg{`N5g6f}sK-s6rmUW@sUl;n09V6=n62JI;)bKAU`w23yi%nXt^UsJuyC(9Eea(w!_qNwpABgNQ63Xt}+oE#*DD3fwp}p)Bv2%oEBLBthE%y25oz-2Ct6!!h z{~-;fckM^WynwG#ajxsy0ekMei|Qn6-)@=au|`JmU`N3atfkVKIT zd}tXW6Nk9l3v+}qA|uz)YC@XH*(DNz>rKft!JU|2axWjpw;)DDX&o8)ej^Q=)FuT_ zY7^lTr7R9t7PSS`8#tB~P!)tw2&3>LPF1aFCL)La#!C+1UlwIfUFv2b8X=`Tq5p}1 zJH~lL(vWl{11W=)Mam(Whvq;%#5w*q#AID8!4h-D?+w6rb&B zgW{kBUa7MrIq!f|9#oP_Vm1}H>~c~(&^}R;!jPjS#o=i$oc{aiV|hxhbgp8|Yn`j} zgeWqM>0If&4jyVS3e`~wEt-mKLo#3KSW_*iG;D!2Q2iTI^;8L2;o4t3gOqS;2FbyNeXKW(E|C5kyD@`Q zMXDjy6Vu5Y>tAd9OYESDkcqH}zExloeQVeS`qmGXK?Cw3cE=umAXndvzxDXrxb&-o zQqshAyTsm1@{W=ef2CpVCAO3_9>0~8o~Xb=?bJ!?u(P+58RV}gHRNw3i2a$BG>{|o zJ5+H^&u%T7Pv3_@KfR8Occ!ylDpK~89&1`xB;v^9PdG6ZXhlyKs2!b+G|>A_ihtQJ z?nt!D?cUqik+64vV|^?JtdYA~t&DW&6CbEIEri4 z*f6LhA0PwZ)+~ieqY(EQyEzdtkGZ1CB-%?{PrFyggO6_V28()Kp-aCtt`xa5*n{If z;zzXR>PU`Ja4Q-U^NpF!N!iBSIfSS$&=dm0kq?Sm#deQ#it8c9B}XC_C!P_e)D`_J zWQ!7HivFf*k|V*7Tm^p8Wteaz6vs6Y$5qt@t%=)vQ_X&3d}CzNuQu_mt5;MDZPG8f zBl^)DKONDKj?1Lja5xvauKxG`U$-gD8X`9D!cPpcCdy=w3hvU#Lv4w3xAdW_#i2qnCp4 zhcE4Nc~7QHnM*hFJ=r<^e+D~{|IomTQo4IMy7E6sL;ksZ?3BhfVWiS#<@=lYNqQDO XMHsHg$2TLJp1!&a2Pq_+`00NJC;$s_ diff --git a/hub/imports/usage/__pycache__/eilat_usage_parameters.cpython-39.pyc b/hub/imports/usage/__pycache__/eilat_usage_parameters.cpython-39.pyc deleted file mode 100644 index 7cf03a2eba09c8e4aa09ffa3c776117792001014..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7111 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 S-HdFy`D!v4q=0bZr~eI$!d2cEw$XG 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 diff --git a/hub/imports/weather/__pycache__/__init__.cpython-39.pyc b/hub/imports/weather/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index 650c6f78c459c9d46cf7c2aa6c027e6b48cb741f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 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 diff --git a/hub/imports/weather/helpers/__pycache__/__init__.cpython-39.pyc b/hub/imports/weather/helpers/__pycache__/__init__.cpython-39.pyc deleted file mode 100644 index ea7b7bb8a272933d43a1c526f08ca880cc9705ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195 zcmYe~<>g`kg6~(@(m?cM5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_UvsFxJacWU< zOlfXWettOh#!^OlEFDei2Y{d1_)wMru(^Mruw0$jtco%)HE!_;|g7%3B;ZK+UB&sdgY2 IdD{NdN!< diff --git a/hub/imports/weather/helpers/__pycache__/weather.cpython-39.pyc b/hub/imports/weather/helpers/__pycache__/weather.cpython-39.pyc deleted file mode 100644 index dfa3df530b74f761651ec05f43eeb3ab36a966b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3444 zcmcIm&2Jn@6|e5;`D)v-6B}$~DHMxV${^A+9(z4bKse6CL|z>4B!gKpcxhF-YI-{E zk8yRiXFc0<+8nrW;JAoGBD9CSaDp2r{)Rn3UjT8z;=m2i3MstmnemRZMvH~EM)msD zt5;QT-uu<7M`mVp1nr+6=i2XHMd&YbFxfINxC1@h076jDd;|;8LB-)RC`}-<*C|4rEK(DSg!XN5go>Hhq+zG^=9MV5AjXB>sZVW8E`w4 z`NC;CjNit)_Zzz)S~V&_1CDRHM8KMQ&^_Uf-4XbAAK_}HTE+Fiw*pQbg6rFl>e%K% z)YTh2c*-mRlN8QtI45ett*szFx z3ihKtOVY_U1%o@#!#9C21a3jnC9Moq!3o2kMzb_W^Rz&VztCG6%Tk?AJwxv+tsL;v zbSCBV^a`DQhFS$W2M)WMT(;bZPSHuqT1cpUIUqwa{4oAqJbjRpb9t+iTp!~Fh(OX;R&|LhAeTcYmM&_0aV z6J|-ot*o67=x1kAla4N9(nVq1X+A1LH@D&X3uCRaa_d&be9+vvP?#PW{=Y|VHydT> zW`npMF)ACYmGz3*l&HB-Di1B`eZ9VARI0`sw^rZyqyYR%#i*?JN8HNl8Mk)Et@n%f zwvEaP98v8T_nXGvW23TGJDaceb340ozF*jG8kL&Scwi}z$Hq+qCI`I^J^U^Z8x52g z-9zte3?Rt~^jwKmp+3zlBC5Vn7a;GC#|vl?$(bcI$i&KXEzZ196m(RG6-aJczXdrA zcO?ti>l$|jlzFHn-{2E8O>36|u(x4rv=oxLPS zx?Seel9tSm4mT&PN^-}13i zMB%|OQ=8#Q2%DH5JWQ_Z__o=DTMG8~4m#131IOz^vJMYMx%^=GQl5>C?nyEWE}JwC z!|CBQAgHJ*1!X~*eyJ+jOHG|t`irB7!+2%QxiC+|(gO4}%zpw#hM6i5Vs!v7*g#7| zes_?Kvs8m1XO|JpEuujV0*m6D3~a2%@WL&l8X5o>XAU*~W}Ji2=VI*;@deG2rmi*UXkD*&@cgDjnaQ?D$cxG1&h>=F{nQwg=XWi*(I zb+ACCR~J!Si1YN?GUy29c_yBEp~$^yZVBuKZEYE)0Q^a;0|4hI0B8j+#XVVDoP*n? zaY!9YqyXgd3OP&ve)-b*D^yRXMHrrDCBbrH<27*b&p(ju4`XOP+dTcIRQS3ia=G22 z-}>WQKmGgW>8upBB>A-@@;aWXKuQ{yG2`-%CTiD7GNI#_rnx+=b^QVin{CqJ%E7G!col7)-x1g(rq?ADxg?z!1K zCs3*RVR~nV;{%}kuR%S%GxAy1->z^X)q;%l+LHPQ1DdH zztik83+iL*YmiN+3AU_u(;_L|5Ia6(9YQ$(5^PV3CcG)8v@OZI zfo;QrB;O<42d1PZTFBgXGBv6UEm=d$95)fK!g&2#AP*%HQC3DpSNe0~2#i(sO2wpL znm!brrkUub%zcq7`DxQUiikU!$(tq(EYsu|c1xy10ba5^COQG-@*423O7glSpIVc0 z5<*-?Q;x#dfB-tOs`8oNKXO-8MW2O!J=HH2cuB7Pnk4B}`VwSeW0ZBFcm}r-UxZ11 jBua{BGA{38y30l8B!zDe|K@k(eNH{3? diff --git a/main.py b/main.py index 9bc2a936..c3ca4271 100644 --- a/main.py +++ b/main.py @@ -22,7 +22,7 @@ from hub.exports.exports_factory import ExportsFactory # Specify the GeoJSON file path input_files_path = (Path(__file__).parent / 'input_files') input_files_path.mkdir(parents=True, exist_ok=True) -geojson_file = process_geojson(x=-73.5681295982132, y=45.49218262677643, diff=0.0001) +geojson_file = process_geojson(x=-73.5681295982132, y=45.49218262677643, diff=0.00006) geojson_file_path = input_files_path / 'output_buildings.geojson' output_path = (Path(__file__).parent / 'out_files').resolve() output_path.mkdir(parents=True, exist_ok=True) @@ -53,6 +53,7 @@ EnergySystemsFactory('montreal_future', city).enrich() EnergySystemsSizingFactory('pv_sizing', city).enrich() EnergySystemsSizingFactory('peak_load_sizing', city).enrich() EnergySystemsSizingFactory('heuristic_sizing', city).enrich() +print('test') # for building in city.buildings: # MontrealEnergySystemArchetypesSimulationFactory(f'archetype_cluster_{building.energy_systems_archetype_cluster_id}', # building, diff --git a/scripts/__pycache__/manga_scrapper.cpython-38.pyc b/scripts/__pycache__/manga_scrapper.cpython-38.pyc deleted file mode 100644 index 6af37b213b655e03cadec981e7a0ca1d90b5073f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1829 zcma)6&2Jnv6t_Je>-}odCMrFkXaxwdNXeqA6$qgUl}M-(tO^mLj8sOGwRba{*_m0} z+p444Q*z=$?@^@9kt;W@Iq^66$|?UsPrNsqjS@gA9?kRf^Lw^`@9T$lyFp-F{4$UJ z@Co?~7uSaai!b5Vp92v@(1ZjyvxH7qz$o%g;!NDYt$3Pvf%i2LuJDeD@QzsE3%W=$60~O`DR2LL%t>4f3(L@fsYsVuGc*$4rSJ+Bgl8}@PC@meJ ztaO1o#kz49UP;Ez8KvY$lC~(p?*0Q+WjIrb<>BBU%8gXk3-d@B zTMLI-B4EujZN15%h*j6Ku9nF#;48DBwz6{3DDamyzY(Gvk3LX{4X>7uQR5b9rkjIIM$+`Zwu zot41=owyoJVDPW}b`Cq>8FGS@o{&>Er-m(@lAh5yGj7Soo}fo;?v&2L7Yt(;(=%8L zZ|;JuCj2wHOP(iluk;p{!H}#T>TSx5IJM(&3Uo^_v*jvW!A^DDcPo9zKu4xJm)-A!`Ax8{ue=~2u z`U-_uD;t2ty^aNtw8i=%drj5i?YQv$pt&_YzlPEL8zboKzNXWU-i{JqByL|Jt^FUQ zc=Ghz+!A-tS72Y^5*sB(%0Gf^o}O3vyV)|)&+ktOGn!x z8>p(3oOm)SxQI-&t<^wb6&1X9nYaP_aK-b)o5 zX*~s{AQh%}(9|X}GaU{x0UNoBQ`2p#HrhB)p#fZ_^DNaea5Xfc04felH_((rV@j}$ z124wDWZ}+4rqDku9aBMAoZ{Y!g`h7zlw z%l!srl}_VQ=RMGQmlYc~%dk3sfZkXQHr$bt&!Ut1<~mh!Kdoj>3YrzJ8^RoK&9evZb>;6PrZ-6S8lz5DY&9D_y;d z7MnNUyj1AJ(U>7ig54JSB=jM4W*FK=7)~-VOOS7c;dB-y%N=zajowFsz5m+v*a;Q7 zUAaIoYcw7U4sP-fDp|Lt?tvt5_Vt5h3OP@oe4`wYRWK{1|2om~FP5))gpf3z%^@Bw H%ALOf2R60N diff --git a/tests/__pycache__/test_results_import.cpython-39.pyc b/tests/__pycache__/test_results_import.cpython-39.pyc deleted file mode 100644 index 72ee752b717a776b86c46273021d3ce9ec598126..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5470 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 diff --git a/tests/__pycache__/test_systems_catalog.cpython-39.pyc b/tests/__pycache__/test_systems_catalog.cpython-39.pyc deleted file mode 100644 index 923b2ef711237652b278d6f41adc866c5cbb357a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2051 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 APyhe`