This commit is contained in:
Pilar 2021-06-10 08:29:24 -04:00
parent e4cf62b2ff
commit e5cc627ce4
27 changed files with 49 additions and 634739 deletions

View File

@ -201,7 +201,7 @@ class Occupants:
self._complete_year_schedule = []
for i in range(1, 13):
month_range = cal.monthrange(2015, i)[1]
for day in range(1, month_range[1]+1):
for day in range(1, month_range+1):
if cal.weekday(2015, i, day) < 5:
for j in range(0, 24):
week_schedule = schedules['WD'][j]

View File

@ -25,6 +25,7 @@ class Surface:
self._inclination = None
self._area_above_ground = None
self._area_below_ground = None
# todo @Guille: what is parent?????????????
self._parent = None
self._lower_corner = None
self._upper_corner = None
@ -55,6 +56,10 @@ class Surface:
raise ValueError('Undefined surface id')
return self._id
@property
def share_surfaces(self):
raise NotImplementedError
@id.setter
def id(self, value):
self._id = value

View File

@ -1,7 +1,7 @@
"""
bixi_feature module
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from city_model_structure.city_object import CityObject

View File

@ -1,7 +1,7 @@
"""
Composting plant module
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from city_model_structure.city_object import CityObject

View File

@ -6,7 +6,7 @@ Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.mons
from typing import List, TypeVar
from city_model_structure.city_objects_cluster import CityObjectsCluster
CityObject = TypeVar['CityObject']
CityObject = TypeVar('CityObject')
class PartsConsistingBuilding(CityObjectsCluster):

View File

@ -1,7 +1,7 @@
"""
Subway entrance module
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from city_model_structure.city_object import CityObject

View File

@ -1,7 +1,7 @@
"""
Tree module
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from city_model_structure.city_object import CityObject

View File

@ -1,7 +1,7 @@
"""
monthly_to_hourly_demand module
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
import pandas as pd
from city_model_structure.attributes.occupants import Occupants
@ -44,7 +44,7 @@ class MonthlyToHourlyDemand:
for month in range(1, 13):
temp_grad_month = 0
month_range = cal.monthrange(2015, month)[1]
for day in range(1, month_range[1]+1):
for day in range(1, month_range+1):
external_temp_med = 0
for hour in range(0, 24):
external_temp_med += external_temp[key][i]/24
@ -66,7 +66,7 @@ class MonthlyToHourlyDemand:
temp_grad_month += temp_grad_day[i]
i += 1
for day in range(1, month_range[1] + 1):
for day in range(1, month_range + 1):
for hour in range(0, 24):
# monthly_demand = self._building.heating[cte.MONTH]['INSEL'][month-1] or maybe:
# monthly_demand = self._building.heating[cte.MONTH].INSEL[month-1]

View File

@ -1,7 +1,7 @@
"""
CaPhysicsParameters import the construction and material information for Canada
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
import sys

View File

@ -1,7 +1,7 @@
"""
NrelBuildingArchetype stores construction information by building archetypes
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from typing import List
from imports.construction.data_classes.nrel_thermal_boundary_archetype import NrelThermalBoundaryArchetype

View File

@ -1,7 +1,7 @@
"""
NrelLayerArchetype stores layer and materials information, complementing the NrelBuildingArchetype class
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""

View File

@ -1,7 +1,7 @@
"""
NrelThermalBoundaryArchetype stores thermal boundaries information, complementing the NrelBuildingArchetype class
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from typing import List

View File

@ -1,7 +1,7 @@
"""
NrelThermalOpeningArchetype stores thermal openings information, complementing the NrelBuildingArchetype class
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""

View File

@ -47,14 +47,13 @@ class ConstructionHelper:
'Fairbanks': 'ASHRAE_2004:8A'
}
nrel_window_types = ['window', 'door', 'skylight']
# todo: review with the same idea, to define a internal set and do the conversion to NREL
nrel_construction_types = {
'Wall': 'exterior wall',
'interior wall': 'interior wall',
'ground wall': 'ground wall',
'Interior wall': 'interior wall',
'Ground wall': 'ground wall',
'Ground': 'exterior slab',
'attic floor': 'attic floor',
'interior slab': 'interior slab',
'Attic floor': 'attic floor',
'Interior slab': 'interior slab',
'Roof': 'roof'
}
@ -76,13 +75,12 @@ class ConstructionHelper:
}
nrcan_function_default_value = 'residential'
nrcan_window_types = ['window']
# todo: review with the same idea, to define a internal set and do the conversion to NREL
nrcan_construction_types = {
'Wall': 'wall',
'ground wall': 'basement_wall',
'Ground wall': 'basement_wall',
'Ground': 'floor',
'attic floor': 'attic floor',
'interior slab': 'interior slab',
'Attic floor': 'attic floor',
'Interior slab': 'interior slab',
'Roof': 'roof'
}

View File

@ -2,7 +2,7 @@
Nrel-based interface, it reads format defined within the CERC team based on NREL structure
and enriches the city with archetypes and materials
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
import xmltodict

View File

@ -2,7 +2,7 @@
UsPhysicsParameters import the construction and material information for US
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Guille Gutierrez guillermo.gutierrezmorote@concordia.ca
Contributors Pilar Monsalvete pilar_monsalvete@yahoo.es
Contributors Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
import sys

View File

@ -246,7 +246,7 @@ class GeometryHelper:
}
# usage
fuction_to_usage = {
function_to_usage = {
'full service restaurant': 'restaurant',
'highrise apartment': 'residential',
'hospital': 'health care',
@ -292,7 +292,7 @@ class GeometryHelper:
:param building_function: str
:return: str
"""
return GeometryHelper.fuction_to_usage[building_function]
return GeometryHelper.function_to_usage[building_function]
@staticmethod
def to_points_matrix(points):

View File

@ -1,7 +1,7 @@
"""
HftInternalGainsArchetype stores internal gains information, complementing the HftUsageZoneArchetype class
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""

View File

@ -1,7 +1,7 @@
"""
HftUsageZoneArchetype stores usage information by building archetypes
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from typing import List
from imports.usage.data_classes.hft_internal_gains_archetype import HftInternalGainsArchetype

View File

@ -1,7 +1,7 @@
"""
DatWeatherParameters class to extract weather parameters from a defined region in .dat format
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
import pandas as pd

View File

@ -1,7 +1,7 @@
"""
weather helper
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
import math
import helpers.constants as cte

View File

@ -2,7 +2,7 @@
XlsWeatherParameters class to extract weather parameters from a defined region in .xls format
defined and used by the norm iso 52016-1:2017
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
import pandas as pd

View File

@ -64,10 +64,10 @@ class TestExports(TestCase):
ExportsFactory(export_type, self._complete_city, self._output_path).export()
def test_obj_export(self):
self._export('obj', True)
self._export('obj', False)
def test_stl_export(self):
self._export('stl', True)
self._export('stl', False)
def test_energy_ade_export(self):
self._export('energy_ade')

View File

@ -50,17 +50,6 @@ class TestGeometryFactory(TestCase):
return new_function
# citygml_classes
def test_stuttgart_gml(self):
file = 'ConcordiaSWGcampus.gml'
city = self._get_citygml(file)
print(f'city name: {city.name}')
print(f'number of buildings: {len(city.buildings)}')
for building in city.buildings:
print(f'building {building.name} has {len(building.surfaces)} surfaces')
print(f'building {building.name} has {building.volume} m3')
print(f'Found {len(city.buildings)} buildings')
self.assertTrue(True)
def test_citygml_buildings(self):
"""
Test city objects in the city

File diff suppressed because one or more lines are too long

View File

@ -73,3 +73,14 @@ class TestGeometryFactory(TestCase):
counter += 1
self.assertEqual(counter, 1, f'{counter} buildings had errors when triangulating surfaces')
def test_stuttgart_gml(self):
file = '20190815_mitte_out_MC_FloursurfaceADD.gml'
city = self._get_citygml(file)
print(f'city name: {city.name}')
print(f'number of buildings: {len(city.buildings)}')
for building in city.buildings:
print(f'building {building.name} has {len(building.surfaces)} surfaces')
print(f'building {building.name} has {building.volume} m3')
print(f'Found {len(city.buildings)} buildings')
self.assertTrue(True)

View File

@ -1,7 +1,7 @@
"""
TestWeatherFactory test and validate the city model structure weather parameters
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2020 Project Author Pilar Monsalvete pilar_monsalvete@yahoo.es
Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from pathlib import Path
from unittest import TestCase