diff --git a/PHX/PHPP/phpp_app.py b/PHX/PHPP/phpp_app.py index 03063ef..7f96505 100644 --- a/PHX/PHPP/phpp_app.py +++ b/PHX/PHPP/phpp_app.py @@ -373,13 +373,14 @@ def write_project_thermal_bridges(self, phx_project: project.PhxProject) -> None thermal_bridges: List[areas_thermal_bridges.ThermalBridgeRow] = [] for variant in phx_project.variants: - for phx_tb in variant.building.thermal_bridges: - thermal_bridges.append( - areas_thermal_bridges.ThermalBridgeRow( - self.shape.AREAS, - phx_tb + for zone in variant.zones: + for phx_tb in zone.thermal_bridges: + thermal_bridges.append( + areas_thermal_bridges.ThermalBridgeRow( + self.shape.AREAS, + phx_tb + ) ) - ) if len(thermal_bridges) >= 100: print(f"Warning: {len(thermal_bridges)} thermal bridges found in the model. Ensure that you have " diff --git a/PHX/from_HBJSON/create_building.py b/PHX/from_HBJSON/create_building.py index 2ee0a16..e9f2a5e 100644 --- a/PHX/from_HBJSON/create_building.py +++ b/PHX/from_HBJSON/create_building.py @@ -6,6 +6,9 @@ from typing import List, Union, Dict from honeybee import room, aperture, face +from honeybee_ph import space +from honeybee_energy.properties.room import RoomEnergyProperties +from honeybee_energy_ph.properties.load.people import PeoplePhProperties from PHX.model import building, constructions, components from PHX.from_HBJSON import create_rooms, create_geometry @@ -260,10 +263,9 @@ def create_zones_from_hb_room(_hb_room: room.Room) -> building.PhxZone: new_zone.id_num = building.PhxZone._count new_zone.display_name = _hb_room.display_name - # -- Sort the room order by full_name - sorted_spaces = sorted( - _hb_room.properties.ph.spaces, key=lambda space: space.full_name - ) + # -- Sort the HB-Room's Spaces by their full_name + spaces: List[space.Space] = _hb_room.properties.ph.spaces # type: ignore + sorted_spaces = sorted(spaces, key=lambda space: space.full_name) # -- Create a new WUFI-RoomVentilation for each space new_zone.wufi_rooms = [ @@ -277,13 +279,15 @@ def create_zones_from_hb_room(_hb_room: room.Room) -> building.PhxZone: ) new_zone.volume_net = sum((rm.net_volume for rm in new_zone.wufi_rooms)) - # Set the zone's occupancy based on the merged HB room - new_zone.res_occupant_quantity = ( - _hb_room.properties.energy.people.properties.ph.number_people - ) - new_zone.res_number_bedrooms = ( - _hb_room.properties.energy.people.properties.ph.number_bedrooms - ) + # -- Set the zone's occupancy based on the merged HB room + room_energy_prop: RoomEnergyProperties = _hb_room.properties.energy # type: ignore + hbph_people_prop: PeoplePhProperties = room_energy_prop.people.properties.ph # type: ignore + new_zone.res_occupant_quantity = hbph_people_prop.number_people + new_zone.res_number_bedrooms = hbph_people_prop.number_bedrooms + + # -- Set the Zones' thermal bridges + for phx_thermal_bridge in create_thermal_bridges_from_hb_room(_hb_room): + new_zone.add_thermal_bridges(phx_thermal_bridge) return new_zone diff --git a/PHX/from_HBJSON/create_variant.py b/PHX/from_HBJSON/create_variant.py index e6e5a6a..4b923d5 100644 --- a/PHX/from_HBJSON/create_variant.py +++ b/PHX/from_HBJSON/create_variant.py @@ -54,9 +54,6 @@ def add_building_from_hb_room( ) ) _variant.building.add_zones(create_building.create_zones_from_hb_room(_hb_room)) - _variant.building.add_thermal_bridges( - create_building.create_thermal_bridges_from_hb_room(_hb_room) - ) if group_components: _variant.building.merge_opaque_components_by_assembly() diff --git a/PHX/model/building.py b/PHX/model/building.py index 4218ade..8889ce3 100644 --- a/PHX/model/building.py +++ b/PHX/model/building.py @@ -17,7 +17,6 @@ PhxComponentThermalBridge, ) from PHX.model.hvac import collection -from PHX.model.enums.building import ComponentFaceOpacity @dataclass @@ -39,6 +38,27 @@ class PhxZone: exhaust_ventilator_collection: collection.PhxExhaustVentilatorCollection = field( default_factory=collection.PhxExhaustVentilatorCollection ) + _thermal_bridges: Dict[str, PhxComponentThermalBridge] = field(default_factory=dict) + + def add_thermal_bridges( + self, + _thermal_bridges: Union[ + PhxComponentThermalBridge, Sequence[PhxComponentThermalBridge] + ], + ) -> None: + """Add a new PhxComponentThermalBridge (or list of Bridges) to the PhxZone.""" + if not isinstance(_thermal_bridges, Sequence): + _thermal_bridges = (_thermal_bridges,) + + for tb in _thermal_bridges: + self._thermal_bridges[tb.identifier] = tb + + return None + + @property + def thermal_bridges(self) -> ValuesView[PhxComponentThermalBridge]: + """Return all of the PhxComponentThermalBridge objects in the PhxZone.""" + return self._thermal_bridges.values() def __post_init__(self) -> None: self.__class__._count += 1 @@ -49,7 +69,6 @@ def __post_init__(self) -> None: class PhxBuilding: _components: List[PhxComponentOpaque] = field(default_factory=list) zones: List[PhxZone] = field(default_factory=list) - _thermal_bridges: Dict[str, PhxComponentThermalBridge] = field(default_factory=dict) @property def weighted_net_floor_area(self) -> float: @@ -79,21 +98,6 @@ def add_zones(self, _zones: Union[PhxZone, Sequence[PhxZone]]) -> None: for zone in _zones: self.zones.append(zone) - def add_thermal_bridges( - self, - _thermal_bridges: Union[ - PhxComponentThermalBridge, Sequence[PhxComponentThermalBridge] - ], - ) -> None: - """Add a new PhxComponentThermalBridge (or list of Bridges) to the PhxBuilding.""" - if not isinstance(_thermal_bridges, Sequence): - _thermal_bridges = (_thermal_bridges,) - - for tb in _thermal_bridges: - self._thermal_bridges[tb.identifier] = tb - - return None - def merge_opaque_components_by_assembly(self) -> None: """Merge together all the Opaque-Components in the Building if they gave the same Attributes.""" # -- Group the opaque components by their unique key / type @@ -169,11 +173,6 @@ def shading_components(self) -> List[PhxComponentOpaque]: [c for c in self._components if c.is_shade], key=lambda _: _.display_name ) - @property - def thermal_bridges(self) -> ValuesView[PhxComponentThermalBridge]: - """Return all of the PhxComponentThermalBridge objects in the PhxBuilding.""" - return self._thermal_bridges.values() - @property def polygon_ids(self) -> Set[int]: """Return a Set of all the Polygon IDs of all Polygons from all the Components in the building.""" @@ -188,6 +187,4 @@ def polygons(self) -> List[geometry.PhxPolygon]: return [poly for component in self.all_components for poly in component.polygons] def __bool__(self) -> bool: - return ( - bool(self.opaque_components) or bool(self.zones) or bool(self.thermal_bridges) - ) + return bool(self.opaque_components) or bool(self.zones) diff --git a/PHX/to_WUFI_XML/xml_schemas.py b/PHX/to_WUFI_XML/xml_schemas.py index 273c4b1..5d01dc8 100644 --- a/PHX/to_WUFI_XML/xml_schemas.py +++ b/PHX/to_WUFI_XML/xml_schemas.py @@ -173,6 +173,25 @@ def _PhxZone(_z: building.PhxZone) -> List[xml_writable]: for i, v in enumerate(_z.exhaust_ventilator_collection.devices) ], ), + XML_List( + "ThermalBridges", + [ + XML_Object( + "ThermalBridge", tb, "index", i, _schema_name="_PhxThermalBridge" + ) + for i, tb in enumerate(_z.thermal_bridges) + ], + ), + ] + + +def _PhxThermalBridge(_tb: components.PhxComponentThermalBridge) -> List[xml_writable]: + return [ + XML_Node("Name", _tb.display_name), + XML_Node("Type", int(_tb.group_number.value) * -1), + XML_Node("Length", _tb.length), + XML_Node("PsiValue", _tb.psi_value), + XML_Node("IdentNrOptionalClimate", -1), ] @@ -250,6 +269,7 @@ def _PhxPhBuildingData( "EnvelopeAirtightnessCoefficient", _phius_cert.ph_building_data.airtightness_q50, ), + XML_Node("SummerHRVHumidityRecovery", 4, "choice", "Always"), XML_List( "FoundationInterfaces", [ diff --git a/_testing_to_WUFI.py b/_testing_to_WUFI.py index 842b106..b371e2d 100644 --- a/_testing_to_WUFI.py +++ b/_testing_to_WUFI.py @@ -30,12 +30,12 @@ TARGET_DIR = pathlib.Path("tests", "_reference_xml") # -- Temp -SOURCE_FILES = [ - pathlib.Path( - "/Users/em/Dropbox/bldgtyp-00/00_PH_Tools/PHX/sample/hbjson/Arverne_D_230109.hbjson" - ) -] -TARGET_DIR = pathlib.Path("sample") +# SOURCE_FILES = [ +# pathlib.Path( +# "/Users/em/Dropbox/bldgtyp-00/00_PH_Tools/PHX/sample/hbjson/testing_tbs.hbjson" +# ) +# ] +# TARGET_DIR = pathlib.Path("sample") def generate_xml_file(_source: pathlib.Path, _target_dir: pathlib.Path): diff --git a/tests/_reference_xml/Default_Model_Single_Zone.xml b/tests/_reference_xml/Default_Model_Single_Zone.xml index d55c241..1146142 100644 --- a/tests/_reference_xml/Default_Model_Single_Zone.xml +++ b/tests/_reference_xml/Default_Model_Single_Zone.xml @@ -191,7 +191,7 @@ 5 - Room_1_8687dcf1..Face4 + Room_7_7db2e0dd..Face4 true 1 12 @@ -207,7 +207,7 @@ 6 - Room_1_8687dcf1..Face5 + Room_7_7db2e0dd..Face5 true 1 7 @@ -262,6 +262,7 @@ 0 + @@ -485,6 +486,7 @@ 1 1 0.81576 + 4 diff --git a/tests/_reference_xml/Multi_Room_Complete.xml b/tests/_reference_xml/Multi_Room_Complete.xml index 41f1354..c5d209c 100644 --- a/tests/_reference_xml/Multi_Room_Complete.xml +++ b/tests/_reference_xml/Multi_Room_Complete.xml @@ -70,185 +70,185 @@ 0.0 - 5 - 5.0 - 0.0 - 0.0 - - - 6 - 5.0 - 0.0 - 3.0 - - 9 0.8229490169 0.0 2.5062305899 - + 10 0.8229490169 0.0 0.4937694101 - + 11 4.1770509831 0.0 0.4937694101 - + 12 4.1770509831 0.0 2.5062305899 - - 15 - 5.0 - 4.0 - 3.0 - - - 16 - 5.0 - 4.0 - 0.0 - - + 17 0.0 4.0 0.0 - + 18 0.0 4.0 3.0 - + 21 4.1770509831 4.0 2.5062305899 - + 22 4.1770509831 4.0 0.4937694101 - + 23 0.8229490169 4.0 0.4937694101 - + 24 0.8229490169 4.0 2.5062305899 - + 33 0.0 3.3416407865 2.5062305899 - + 34 0.0 3.3416407865 0.4937694101 - + 35 0.0 0.6583592135 0.4937694101 - + 36 0.0 0.6583592135 2.5062305899 - + + 51 + 5.0 + 0.0 + 3.0 + + + 52 + 5.0 + 0.0 + 0.0 + + 53 12.0 0.0 0.0 - + 54 12.0 0.0 3.0 - + 57 6.1521286236 0.0 2.5062305899 - + 58 6.1521286236 0.0 0.4937694101 - + 59 10.8478713764 0.0 0.4937694101 - + 60 10.8478713764 0.0 2.5062305899 - + 65 12.0 4.0 0.0 - + 66 12.0 4.0 3.0 - + 69 12.0 0.6583592135 2.5062305899 - + 70 12.0 0.6583592135 0.4937694101 - + 71 12.0 3.3416407865 0.4937694101 - + 72 12.0 3.3416407865 2.5062305899 + + 77 + 5.0 + 4.0 + 0.0 + + + 78 + 5.0 + 4.0 + 3.0 + 81 10.8478713764 @@ -324,222 +324,222 @@ - 1 + 9 0.0 -1.0 0.0 - 3 - 4 - 5 - 6 + 51 + 52 + 53 + 54 - 2 + 10 - 3 - 0.0 - 1.0 - -0.0 + 11 + 1.0 + 0.0 + 0.0 - 15 - 16 - 17 - 18 + 54 + 53 + 65 + 66 - 4 + 12 - 5 - -1.0 - 0.0 - 0.0 + 13 + 0.0 + 1.0 + -0.0 - 18 - 17 - 4 - 3 + 66 + 65 + 77 + 78 - 6 + 14 - 9 + 1 0.0 -1.0 0.0 - 6 - 5 - 53 - 54 + 3 + 4 + 52 + 51 - 10 + 2 - 11 - 1.0 - 0.0 - 0.0 + 3 + 0.0 + 1.0 + -0.0 - 54 - 53 - 65 - 66 + 78 + 77 + 17 + 18 - 12 + 4 - 13 - 0.0 - 1.0 - -0.0 + 5 + -1.0 + 0.0 + 0.0 - 66 - 65 - 16 - 15 + 18 + 17 + 4 + 3 - 14 + 6 - 7 + 15 0.0 0.0 -1.0 - 16 - 5 - 4 - 17 + 65 + 53 + 52 + 77 - 15 + 7 0.0 0.0 -1.0 - 65 - 53 - 5 - 16 + 77 + 52 + 4 + 17 - 8 + 16 0.0 0.0 1.0 - 18 - 3 - 6 - 15 + 78 + 51 + 54 + 66 - 16 + 8 0.0 0.0 1.0 - 15 - 6 - 54 - 66 + 18 + 3 + 51 + 78 - 2 + 10 0.0 -1.0 0.0 - 9 - 10 - 11 - 12 + 57 + 58 + 59 + 60 - 4 - 0.0 - 1.0 + 12 + 1.0 + 0.0 0.0 - 21 - 22 - 23 - 24 + 69 + 70 + 71 + 72 - 6 - -1.0 - 0.0 + 14 + 0.0 + 1.0 0.0 - 33 - 34 - 35 - 36 + 81 + 82 + 83 + 84 - 10 + 2 0.0 -1.0 0.0 - 57 - 58 - 59 - 60 + 9 + 10 + 11 + 12 - 12 - 1.0 - 0.0 + 4 + 0.0 + 1.0 0.0 - 69 - 70 - 71 - 72 + 21 + 22 + 23 + 24 - 14 - 0.0 - 1.0 + 6 + -1.0 + 0.0 0.0 - 81 - 82 - 83 - 84 + 33 + 34 + 35 + 36 @@ -607,8 +607,8 @@ 3 -1 - 15 - 7 + 7 + 15 @@ -624,8 +624,8 @@ 4 -1 - 8 - 16 + 16 + 8 @@ -651,7 +651,7 @@ 49 - Shade_7c68287b + Shade_09e31975 true 1 1 @@ -667,7 +667,7 @@ 50 - Shade_4b0094e4 + Shade_6e7c1155 true 1 1 @@ -689,7 +689,7 @@ 1 - 101-Room_3 + 101-Room_9 99 1 1 @@ -700,7 +700,7 @@ 14.2 - 102-Room_4 + 102-Room_10 99 1 1 @@ -795,6 +795,64 @@ + + + _unnamed_bldg_segment__2d62c060 + -15 + 22.0 + 0.01 + -1 + + + _unnamed_bldg_segment__2e0816a1 + -15 + 10.733126291998989 + 0.01 + -1 + + + _unnamed_bldg_segment__6b0bbe0d + -15 + 16.0 + 0.01 + -1 + + + _unnamed_bldg_segment__7810e8fd + -15 + 9.391485505499118 + 0.01 + -1 + + + _unnamed_bldg_segment__a30ae134 + -15 + 18.0 + 0.01 + -1 + + + _unnamed_bldg_segment__a8bb9eb7 + -15 + 14.0 + 0.01 + -1 + + + _unnamed_bldg_segment__ade10014 + -15 + 13.416407864998739 + 0.01 + -1 + + + _unnamed_bldg_segment__fb1b7bc5 + -15 + 9.391485505499118 + 0.01 + -1 + + @@ -1018,6 +1076,7 @@ 1 1 0.8157599999999999 + 4 @@ -1071,7 +1130,7 @@ - 1025dc2b-2c80-4dde-897e-b730b6a7423f + f6fb6743-ae01-4795-b977-2024483a44b7 1 5 5 diff --git a/tests/_source_gh/hbph_test_models.gh b/tests/_source_gh/hbph_test_models.gh index 8f5f74a..b7afdf7 100644 Binary files a/tests/_source_gh/hbph_test_models.gh and b/tests/_source_gh/hbph_test_models.gh differ diff --git a/tests/_source_hbjson/Default_Model_Single_Zone.hbjson b/tests/_source_hbjson/Default_Model_Single_Zone.hbjson index ebde217..76fae8b 100644 --- a/tests/_source_hbjson/Default_Model_Single_Zone.hbjson +++ b/tests/_source_hbjson/Default_Model_Single_Zone.hbjson @@ -41,7 +41,7 @@ "PHIUS2021_cooling_load": 10.0 }, "name": "Unnamed_Bldg_Segment", - "identifier": "3bee2664-62c6-4448-8766-5757b8405b5b", + "identifier": "c6e91db2-132f-486b-a920-c9ad33f9b061", "site": { "climate": { "monthly_radiation": { @@ -87,8 +87,8 @@ "june": 0.0, "november": 0.0 }, - "identifier": "9779d502-fdad-437f-98e5-04f69303b176", - "display_name": "9779d502-fdad-437f-98e5-04f69303b176", + "identifier": "8ca65f00-0dc5-4cd9-b2a8-ba0179944df6", + "display_name": "8ca65f00-0dc5-4cd9-b2a8-ba0179944df6", "glob": { "february": 0.0, "july": 0.0, @@ -134,8 +134,8 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "58283cca-62dc-4a36-bffa-74fc988bdc74", - "display_name": "58283cca-62dc-4a36-bffa-74fc988bdc74", + "identifier": "7014b09d-6d80-4957-9f0e-ee4050b4e5d2", + "display_name": "7014b09d-6d80-4957-9f0e-ee4050b4e5d2", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null @@ -147,8 +147,8 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "cc2e6bda-e144-440f-94f3-72be99a67ee3", - "display_name": "cc2e6bda-e144-440f-94f3-72be99a67ee3", + "identifier": "3a0a7964-0917-4b1b-a824-8203a16722ed", + "display_name": "3a0a7964-0917-4b1b-a824-8203a16722ed", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null @@ -160,14 +160,14 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "0a6a227e-5257-435a-ac87-077258bfc8b6", - "display_name": "0a6a227e-5257-435a-ac87-077258bfc8b6", + "identifier": "2c00bb38-ef3c-48af-bad6-0c0e1636de05", + "display_name": "2c00bb38-ef3c-48af-bad6-0c0e1636de05", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null }, - "identifier": "2adaa915-288f-4807-b26e-10101747b660", - "display_name": "2adaa915-288f-4807-b26e-10101747b660", + "identifier": "f7f3841b-7145-45e3-addd-45806ef76e31", + "display_name": "f7f3841b-7145-45e3-addd-45806ef76e31", "cooling_load_2": { "temp": 0.0, "rad_global": 0.0, @@ -175,8 +175,8 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "b24c06b0-30d4-4dab-83a3-d3f4321844ae", - "display_name": "b24c06b0-30d4-4dab-83a3-d3f4321844ae", + "identifier": "c041448c-976a-4d91-a3dc-4c07316f8665", + "display_name": "c041448c-976a-4d91-a3dc-4c07316f8665", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null @@ -225,8 +225,8 @@ "june": 0.0, "november": 0.0 }, - "identifier": "fab2a1ba-a064-4931-9db7-81f9d03903b9", - "display_name": "fab2a1ba-a064-4931-9db7-81f9d03903b9", + "identifier": "42c0cc0e-aaea-4dae-a532-55db321de3de", + "display_name": "42c0cc0e-aaea-4dae-a532-55db321de3de", "dewpoints": { "february": 0.0, "july": 0.0, @@ -242,7 +242,7 @@ "november": 0.0 } }, - "identifier": "5579a560-960f-4098-9350-869aa444c483", + "identifier": "64a5864f-eb4f-476e-8f5d-26d735b044ba", "display_name": "New York", "summer_daily_temperature_swing": 8.0, "station_elevation": 0.0 @@ -252,17 +252,17 @@ "latitude": 40.600000000000001, "longitude": -73.799999999999997, "hours_from_UTC": -4, - "identifier": "efa12673-1b0e-4619-a3fb-ad9bbf3ce86d", - "display_name": "efa12673-1b0e-4619-a3fb-ad9bbf3ce86d", + "identifier": "a6a2eeb7-7195-4e9b-9708-e1de33836880", + "display_name": "a6a2eeb7-7195-4e9b-9708-e1de33836880", "climate_zone": 1 }, - "identifier": "72d806d1-a554-4b22-9178-88c7edf3bd84", - "display_name": "72d806d1-a554-4b22-9178-88c7edf3bd84", + "identifier": "9c49eb7b-fb24-459f-b2e8-3d029d52ab40", + "display_name": "9c49eb7b-fb24-459f-b2e8-3d029d52ab40", "phpp_library_codes": { "country_code": "US-United States of America", "region_code": "New York", "dataset_name": "US0055b-New York", - "identifier": "d9a21985-3d12-47a7-aa4b-87ac727fc0bc", + "identifier": "780b5d16-3a1d-4aa2-b9a8-c678d4bdd52f", "display_name": "US0055b-New York" } }, @@ -310,7 +310,7 @@ }, "type": "IdealAirSystemProperties" }, - "identifier": "Room_1_8687dcf1 Ideal Loads Air System", + "identifier": "Room_7_7db2e0dd Ideal Loads Air System", "cooling_air_temperature": 13.0, "demand_controlled_ventilation": false, "cooling_limit": { @@ -2307,18 +2307,18 @@ } }, "version": "1.51.6", - "identifier": "unnamed_a49fe055", + "identifier": "unnamed_5223c8b2", "display_name": "unnamed", "rooms": [ { "properties": { "ph": { "type": "RoomPhPropertiesAbridged", - "ph_bldg_segment_id": "3bee2664-62c6-4448-8766-5757b8405b5b", + "ph_bldg_segment_id": "c6e91db2-132f-486b-a920-c9ad33f9b061", "spaces": [] }, "energy": { - "hvac": "Room_1_8687dcf1 Ideal Loads Air System", + "hvac": "Room_7_7db2e0dd Ideal Loads Air System", "type": "RoomEnergyPropertiesAbridged", "program_type": "Generic Office Program" }, @@ -2327,8 +2327,8 @@ "type": "RoomRadiancePropertiesAbridged" } }, - "identifier": "Room_1_8687dcf1", - "display_name": "Room_1", + "identifier": "Room_7_7db2e0dd", + "display_name": "Room_7", "faces": [ { "boundary_condition": { @@ -2396,8 +2396,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_1_8687dcf1..Face0", - "display_name": "Room_1_8687dcf1..Face0", + "identifier": "Room_7_7db2e0dd..Face0", + "display_name": "Room_7_7db2e0dd..Face0", "type": "Face" }, { @@ -2466,8 +2466,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_1_8687dcf1..Face1", - "display_name": "Room_1_8687dcf1..Face1", + "identifier": "Room_7_7db2e0dd..Face1", + "display_name": "Room_7_7db2e0dd..Face1", "type": "Face" }, { @@ -2536,8 +2536,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_1_8687dcf1..Face2", - "display_name": "Room_1_8687dcf1..Face2", + "identifier": "Room_7_7db2e0dd..Face2", + "display_name": "Room_7_7db2e0dd..Face2", "type": "Face" }, { @@ -2606,8 +2606,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_1_8687dcf1..Face3", - "display_name": "Room_1_8687dcf1..Face3", + "identifier": "Room_7_7db2e0dd..Face3", + "display_name": "Room_7_7db2e0dd..Face3", "type": "Face" }, { @@ -2671,8 +2671,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_1_8687dcf1..Face4", - "display_name": "Room_1_8687dcf1..Face4", + "identifier": "Room_7_7db2e0dd..Face4", + "display_name": "Room_7_7db2e0dd..Face4", "type": "Face" }, { @@ -2741,8 +2741,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_1_8687dcf1..Face5", - "display_name": "Room_1_8687dcf1..Face5", + "identifier": "Room_7_7db2e0dd..Face5", + "display_name": "Room_7_7db2e0dd..Face5", "type": "Face" } ], diff --git a/tests/_source_hbjson/Default_Room_Single_Zone.json b/tests/_source_hbjson/Default_Room_Single_Zone.json index 695e845..4e18dea 100644 --- a/tests/_source_hbjson/Default_Room_Single_Zone.json +++ b/tests/_source_hbjson/Default_Room_Single_Zone.json @@ -41,7 +41,7 @@ "PHIUS2021_cooling_load": 10.0 }, "name": "Unnamed_Bldg_Segment", - "identifier": "88572996-1919-4a33-97b6-8c97f355905b", + "identifier": "ddcadb7f-fa25-4725-abef-8e690e952299", "site": { "climate": { "monthly_radiation": { @@ -87,8 +87,8 @@ "june": 0.0, "november": 0.0 }, - "identifier": "9779d502-fdad-437f-98e5-04f69303b176", - "display_name": "9779d502-fdad-437f-98e5-04f69303b176", + "identifier": "8ca65f00-0dc5-4cd9-b2a8-ba0179944df6", + "display_name": "8ca65f00-0dc5-4cd9-b2a8-ba0179944df6", "glob": { "february": 0.0, "july": 0.0, @@ -134,8 +134,8 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "58283cca-62dc-4a36-bffa-74fc988bdc74", - "display_name": "58283cca-62dc-4a36-bffa-74fc988bdc74", + "identifier": "7014b09d-6d80-4957-9f0e-ee4050b4e5d2", + "display_name": "7014b09d-6d80-4957-9f0e-ee4050b4e5d2", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null @@ -147,8 +147,8 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "cc2e6bda-e144-440f-94f3-72be99a67ee3", - "display_name": "cc2e6bda-e144-440f-94f3-72be99a67ee3", + "identifier": "3a0a7964-0917-4b1b-a824-8203a16722ed", + "display_name": "3a0a7964-0917-4b1b-a824-8203a16722ed", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null @@ -160,14 +160,14 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "0a6a227e-5257-435a-ac87-077258bfc8b6", - "display_name": "0a6a227e-5257-435a-ac87-077258bfc8b6", + "identifier": "2c00bb38-ef3c-48af-bad6-0c0e1636de05", + "display_name": "2c00bb38-ef3c-48af-bad6-0c0e1636de05", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null }, - "identifier": "2adaa915-288f-4807-b26e-10101747b660", - "display_name": "2adaa915-288f-4807-b26e-10101747b660", + "identifier": "f7f3841b-7145-45e3-addd-45806ef76e31", + "display_name": "f7f3841b-7145-45e3-addd-45806ef76e31", "cooling_load_2": { "temp": 0.0, "rad_global": 0.0, @@ -175,8 +175,8 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "b24c06b0-30d4-4dab-83a3-d3f4321844ae", - "display_name": "b24c06b0-30d4-4dab-83a3-d3f4321844ae", + "identifier": "c041448c-976a-4d91-a3dc-4c07316f8665", + "display_name": "c041448c-976a-4d91-a3dc-4c07316f8665", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null @@ -225,8 +225,8 @@ "june": 0.0, "november": 0.0 }, - "identifier": "fab2a1ba-a064-4931-9db7-81f9d03903b9", - "display_name": "fab2a1ba-a064-4931-9db7-81f9d03903b9", + "identifier": "42c0cc0e-aaea-4dae-a532-55db321de3de", + "display_name": "42c0cc0e-aaea-4dae-a532-55db321de3de", "dewpoints": { "february": 0.0, "july": 0.0, @@ -242,7 +242,7 @@ "november": 0.0 } }, - "identifier": "5579a560-960f-4098-9350-869aa444c483", + "identifier": "64a5864f-eb4f-476e-8f5d-26d735b044ba", "display_name": "New York", "summer_daily_temperature_swing": 8.0, "station_elevation": 0.0 @@ -252,17 +252,17 @@ "latitude": 40.600000000000001, "longitude": -73.799999999999997, "hours_from_UTC": -4, - "identifier": "efa12673-1b0e-4619-a3fb-ad9bbf3ce86d", - "display_name": "efa12673-1b0e-4619-a3fb-ad9bbf3ce86d", + "identifier": "a6a2eeb7-7195-4e9b-9708-e1de33836880", + "display_name": "a6a2eeb7-7195-4e9b-9708-e1de33836880", "climate_zone": 1 }, - "identifier": "22fb5016-ad5d-4688-8cc3-22554eb9a0aa", - "display_name": "22fb5016-ad5d-4688-8cc3-22554eb9a0aa", + "identifier": "a9f26a4c-4bad-4b47-9dfd-74e346fae5df", + "display_name": "a9f26a4c-4bad-4b47-9dfd-74e346fae5df", "phpp_library_codes": { "country_code": "US-United States of America", "region_code": "New York", "dataset_name": "US0055b-New York", - "identifier": "d9a21985-3d12-47a7-aa4b-87ac727fc0bc", + "identifier": "780b5d16-3a1d-4aa2-b9a8-c678d4bdd52f", "display_name": "US0055b-New York" } }, @@ -306,7 +306,7 @@ }, "type": "IdealAirSystemProperties" }, - "identifier": "Room_2_735092db Ideal Loads Air System", + "identifier": "Room_8_18ee760d Ideal Loads Air System", "cooling_air_temperature": 13.0, "demand_controlled_ventilation": false, "cooling_limit": { @@ -1671,8 +1671,8 @@ "type": "RoomRadianceProperties" } }, - "identifier": "Room_2_735092db", - "display_name": "Room_2", + "identifier": "Room_8_18ee760d", + "display_name": "Room_8", "faces": [ { "boundary_condition": { @@ -1740,8 +1740,8 @@ "type": "FaceRadianceProperties" } }, - "identifier": "Room_2_735092db..Face0", - "display_name": "Room_2_735092db..Face0", + "identifier": "Room_8_18ee760d..Face0", + "display_name": "Room_8_18ee760d..Face0", "type": "Face" }, { @@ -1810,8 +1810,8 @@ "type": "FaceRadianceProperties" } }, - "identifier": "Room_2_735092db..Face1", - "display_name": "Room_2_735092db..Face1", + "identifier": "Room_8_18ee760d..Face1", + "display_name": "Room_8_18ee760d..Face1", "type": "Face" }, { @@ -1880,8 +1880,8 @@ "type": "FaceRadianceProperties" } }, - "identifier": "Room_2_735092db..Face2", - "display_name": "Room_2_735092db..Face2", + "identifier": "Room_8_18ee760d..Face2", + "display_name": "Room_8_18ee760d..Face2", "type": "Face" }, { @@ -1950,8 +1950,8 @@ "type": "FaceRadianceProperties" } }, - "identifier": "Room_2_735092db..Face3", - "display_name": "Room_2_735092db..Face3", + "identifier": "Room_8_18ee760d..Face3", + "display_name": "Room_8_18ee760d..Face3", "type": "Face" }, { @@ -2015,8 +2015,8 @@ "type": "FaceRadianceProperties" } }, - "identifier": "Room_2_735092db..Face4", - "display_name": "Room_2_735092db..Face4", + "identifier": "Room_8_18ee760d..Face4", + "display_name": "Room_8_18ee760d..Face4", "type": "Face" }, { @@ -2085,8 +2085,8 @@ "type": "FaceRadianceProperties" } }, - "identifier": "Room_2_735092db..Face5", - "display_name": "Room_2_735092db..Face5", + "identifier": "Room_8_18ee760d..Face5", + "display_name": "Room_8_18ee760d..Face5", "type": "Face" } ], diff --git a/tests/_source_hbjson/Multi_Room_Complete.hbjson b/tests/_source_hbjson/Multi_Room_Complete.hbjson index c35d0db..4facad3 100644 --- a/tests/_source_hbjson/Multi_Room_Complete.hbjson +++ b/tests/_source_hbjson/Multi_Room_Complete.hbjson @@ -60,8 +60,8 @@ "type": "ShadeRadiancePropertiesAbridged" } }, - "identifier": "Shade_7c68287b", - "display_name": "Shade_7c68287b", + "identifier": "Shade_09e31975", + "display_name": "Shade_09e31975", "type": "Shade" }, { @@ -122,8 +122,8 @@ "type": "ShadeRadiancePropertiesAbridged" } }, - "identifier": "Shade_4b0094e4", - "display_name": "Shade_4b0094e4", + "identifier": "Shade_6e7c1155", + "display_name": "Shade_6e7c1155", "type": "Shade" } ], @@ -132,7 +132,7 @@ "bldg_segments": [ { "thermal_bridges": { - "d4c54753-acf3-4d45-9ef3-209131e7aeab": { + "fb8b349e-77e2-401d-bd51-a894155648b5": { "id_num": 0, "psi_value": 0.01, "user_data": {}, @@ -170,11 +170,11 @@ "_group_type": { "value": "15-AMBIENT" }, - "identifier": "d4c54753-acf3-4d45-9ef3-209131e7aeab", - "display_name": "_unnamed_bldg_segment__4aec657b", + "identifier": "fb8b349e-77e2-401d-bd51-a894155648b5", + "display_name": "_unnamed_bldg_segment__6b0bbe0d", "quantity": 1.0 }, - "32387c77-fcc9-43e1-abd1-6f3128f85a5c": { + "94690463-012d-4052-bfc5-d6b84c53e8f6": { "id_num": 0, "psi_value": 0.01, "user_data": {}, @@ -212,40 +212,40 @@ "_group_type": { "value": "15-AMBIENT" }, - "identifier": "32387c77-fcc9-43e1-abd1-6f3128f85a5c", - "display_name": "_unnamed_bldg_segment__ca569d7d", + "identifier": "94690463-012d-4052-bfc5-d6b84c53e8f6", + "display_name": "_unnamed_bldg_segment__2e0816a1", "quantity": 1.0 }, - "98c41db0-f8ed-4b35-9816-d0561f271097": { + "c04c0788-ccfc-46f0-90f2-e28eead61794": { "id_num": 0, "psi_value": 0.01, "user_data": {}, "geometry": { "vertices": [ [ - 12.0, 0.0, - 0.0 + 3.3416407864998741, + 0.49376941012509468 ], [ - 12.0, - 4.0, - 0.0 + 0.0, + 0.65835921350012616, + 0.49376941012509468 ], [ - 12.0, - 4.0, - 3.0 + 0.0, + 0.65835921350012616, + 2.5062305898749053 ], [ - 12.0, 0.0, - 3.0 + 3.3416407864998741, + 2.5062305898749053 ], [ - 12.0, 0.0, - 0.0 + 3.3416407864998741, + 0.49376941012509468 ] ], "type": "Polyline3D" @@ -254,39 +254,39 @@ "_group_type": { "value": "15-AMBIENT" }, - "identifier": "98c41db0-f8ed-4b35-9816-d0561f271097", - "display_name": "_unnamed_bldg_segment__7a7035aa", + "identifier": "c04c0788-ccfc-46f0-90f2-e28eead61794", + "display_name": "_unnamed_bldg_segment__fb1b7bc5", "quantity": 1.0 }, - "79332d5a-904e-4510-bf01-d61e439dfd73": { + "d12c75b6-d530-409b-8c21-b182b2cd5a78": { "id_num": 0, "psi_value": 0.01, "user_data": {}, "geometry": { "vertices": [ [ - 12.0, - 0.65835921350012616, + 6.1521286236252202, + 0.0, 0.49376941012509468 ], [ - 12.0, - 3.3416407864998741, + 10.84787137637478, + 0.0, 0.49376941012509468 ], [ - 12.0, - 3.3416407864998741, + 10.84787137637478, + 0.0, 2.5062305898749053 ], [ - 12.0, - 0.65835921350012616, + 6.1521286236252202, + 0.0, 2.5062305898749053 ], [ - 12.0, - 0.65835921350012616, + 6.1521286236252202, + 0.0, 0.49376941012509468 ] ], @@ -296,40 +296,40 @@ "_group_type": { "value": "15-AMBIENT" }, - "identifier": "79332d5a-904e-4510-bf01-d61e439dfd73", - "display_name": "_unnamed_bldg_segment__268b0f4f", + "identifier": "d12c75b6-d530-409b-8c21-b182b2cd5a78", + "display_name": "_unnamed_bldg_segment__ade10014", "quantity": 1.0 }, - "a175f2c9-4e17-41da-9099-f9fd72337c40": { + "377381b7-c7b3-4dcb-baa8-6da67ba52c47": { "id_num": 0, "psi_value": 0.01, "user_data": {}, "geometry": { "vertices": [ [ - 5.0, - 0.0, - 0.0 + 12.0, + 0.65835921350012616, + 0.49376941012509468 ], [ - 5.0, - 4.0, - 0.0 + 12.0, + 3.3416407864998741, + 0.49376941012509468 ], [ 12.0, - 4.0, - 0.0 + 3.3416407864998741, + 2.5062305898749053 ], [ 12.0, - 0.0, - 0.0 + 0.65835921350012616, + 2.5062305898749053 ], [ - 5.0, - 0.0, - 0.0 + 12.0, + 0.65835921350012616, + 0.49376941012509468 ] ], "type": "Polyline3D" @@ -338,11 +338,11 @@ "_group_type": { "value": "15-AMBIENT" }, - "identifier": "a175f2c9-4e17-41da-9099-f9fd72337c40", - "display_name": "_unnamed_bldg_segment__5843492a", + "identifier": "377381b7-c7b3-4dcb-baa8-6da67ba52c47", + "display_name": "_unnamed_bldg_segment__7810e8fd", "quantity": 1.0 }, - "9aa112ee-c233-47b2-aab3-35473bd9d912": { + "63367c2a-90f6-45e6-a39c-2861ecb98d63": { "id_num": 0, "psi_value": 0.01, "user_data": {}, @@ -380,40 +380,40 @@ "_group_type": { "value": "15-AMBIENT" }, - "identifier": "9aa112ee-c233-47b2-aab3-35473bd9d912", - "display_name": "_unnamed_bldg_segment__3ac84169", + "identifier": "63367c2a-90f6-45e6-a39c-2861ecb98d63", + "display_name": "_unnamed_bldg_segment__a30ae134", "quantity": 1.0 }, - "0d803d23-a3f5-4a26-9bbe-cff71b52b31a": { + "b6fd6bfd-fe64-40d4-bef8-7424b90f1420": { "id_num": 0, "psi_value": 0.01, "user_data": {}, "geometry": { "vertices": [ [ - 6.1521286236252202, + 12.0, 0.0, - 0.49376941012509468 + 0.0 ], [ - 10.84787137637478, - 0.0, - 0.49376941012509468 + 12.0, + 4.0, + 0.0 ], [ - 10.84787137637478, - 0.0, - 2.5062305898749053 + 12.0, + 4.0, + 3.0 ], [ - 6.1521286236252202, + 12.0, 0.0, - 2.5062305898749053 + 3.0 ], [ - 6.1521286236252202, + 12.0, 0.0, - 0.49376941012509468 + 0.0 ] ], "type": "Polyline3D" @@ -422,40 +422,40 @@ "_group_type": { "value": "15-AMBIENT" }, - "identifier": "0d803d23-a3f5-4a26-9bbe-cff71b52b31a", - "display_name": "_unnamed_bldg_segment__b8274281", + "identifier": "b6fd6bfd-fe64-40d4-bef8-7424b90f1420", + "display_name": "_unnamed_bldg_segment__a8bb9eb7", "quantity": 1.0 }, - "1a224823-800f-4f1c-b068-d27d20c472ac": { + "914f2511-2125-4fd5-8c28-d751d71aa26f": { "id_num": 0, "psi_value": 0.01, "user_data": {}, "geometry": { "vertices": [ [ + 5.0, 0.0, - 3.3416407864998741, - 0.49376941012509468 + 0.0 ], [ - 0.0, - 0.65835921350012616, - 0.49376941012509468 + 5.0, + 4.0, + 0.0 ], [ - 0.0, - 0.65835921350012616, - 2.5062305898749053 + 12.0, + 4.0, + 0.0 ], [ + 12.0, 0.0, - 3.3416407864998741, - 2.5062305898749053 + 0.0 ], [ + 5.0, 0.0, - 3.3416407864998741, - 0.49376941012509468 + 0.0 ] ], "type": "Polyline3D" @@ -464,8 +464,8 @@ "_group_type": { "value": "15-AMBIENT" }, - "identifier": "1a224823-800f-4f1c-b068-d27d20c472ac", - "display_name": "_unnamed_bldg_segment__6a8d8826", + "identifier": "914f2511-2125-4fd5-8c28-d751d71aa26f", + "display_name": "_unnamed_bldg_segment__2d62c060", "quantity": 1.0 } }, @@ -585,7 +585,7 @@ "PHIUS2021_cooling_load": 10.0 }, "name": "Unnamed_Bldg_Segment", - "identifier": "781a54b0-b89c-4089-a359-7edc3a7195b5", + "identifier": "3fc3701f-062b-4a21-9b10-353037a63fac", "site": { "climate": { "monthly_radiation": { @@ -631,8 +631,8 @@ "june": 0.0, "november": 0.0 }, - "identifier": "21cfd6f6-ee73-4b7f-a985-963f5bcb0fa1", - "display_name": "21cfd6f6-ee73-4b7f-a985-963f5bcb0fa1", + "identifier": "9f1d5222-0ac6-42dc-98af-946e75c24589", + "display_name": "9f1d5222-0ac6-42dc-98af-946e75c24589", "glob": { "february": 0.0, "july": 0.0, @@ -678,8 +678,8 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "6b4ee71b-9e7b-4db0-ae8f-c331be83b1fb", - "display_name": "6b4ee71b-9e7b-4db0-ae8f-c331be83b1fb", + "identifier": "0a86e53a-9b8d-461e-bd45-4b9384e0d83e", + "display_name": "0a86e53a-9b8d-461e-bd45-4b9384e0d83e", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null @@ -691,8 +691,8 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "60230247-3ecc-4abd-a08d-7145eee6bc9e", - "display_name": "60230247-3ecc-4abd-a08d-7145eee6bc9e", + "identifier": "61143e5b-7758-443f-bf1a-5cd227e004fb", + "display_name": "61143e5b-7758-443f-bf1a-5cd227e004fb", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null @@ -704,14 +704,14 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "086b1d47-85d2-4ffa-aac5-34c124fcd70c", - "display_name": "086b1d47-85d2-4ffa-aac5-34c124fcd70c", + "identifier": "800c0143-5278-419e-bf9f-9f00fa2ff685", + "display_name": "800c0143-5278-419e-bf9f-9f00fa2ff685", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null }, - "identifier": "e6d22605-2efb-4ba0-afb1-77b9bfe34398", - "display_name": "e6d22605-2efb-4ba0-afb1-77b9bfe34398", + "identifier": "3603f7a3-3bb8-4be5-9dfa-55405bea3a07", + "display_name": "3603f7a3-3bb8-4be5-9dfa-55405bea3a07", "cooling_load_2": { "temp": 0.0, "rad_global": 0.0, @@ -719,8 +719,8 @@ "dewpoint": null, "rad_west": 0.0, "ground_temp": null, - "identifier": "0de837f0-b1ab-440e-bcda-73450873c7b4", - "display_name": "0de837f0-b1ab-440e-bcda-73450873c7b4", + "identifier": "1cfafb2d-e291-4d3a-b353-c1ad3910a2e7", + "display_name": "1cfafb2d-e291-4d3a-b353-c1ad3910a2e7", "rad_south": 0.0, "rad_north": 0.0, "sky_temp": null @@ -769,8 +769,8 @@ "june": 0.0, "november": 0.0 }, - "identifier": "c075b02b-eba3-4d04-9a09-00ebe7a70016", - "display_name": "c075b02b-eba3-4d04-9a09-00ebe7a70016", + "identifier": "d3c7792e-a1cc-4cab-9360-e5af4966f8fb", + "display_name": "d3c7792e-a1cc-4cab-9360-e5af4966f8fb", "dewpoints": { "february": 0.0, "july": 0.0, @@ -786,7 +786,7 @@ "november": 0.0 } }, - "identifier": "912540ea-c860-4b12-a87c-6d4d93a8e502", + "identifier": "5abafc71-4f60-40b0-96b8-9fd6fe658686", "display_name": "_unnamed_climate_", "summer_daily_temperature_swing": 8.0, "station_elevation": 0.0 @@ -796,17 +796,17 @@ "latitude": 40.600000000000001, "longitude": -73.799999999999997, "hours_from_UTC": -4, - "identifier": "1e9c9d1b-302f-4f4c-8c65-a26792a9ca51", + "identifier": "8e76b828-e603-47da-92fc-e46e7c07fd9e", "display_name": "New_York", "climate_zone": 1 }, - "identifier": "f44de6fc-8b0f-45bb-8f3a-2a466d023d08", + "identifier": "23d922d2-3dfe-4e62-b73d-55de97038167", "display_name": "_unnamed_", "phpp_library_codes": { "country_code": "US-United States of America", "region_code": "New York", "dataset_name": "US0055b-New York", - "identifier": "2b312d15-d0ef-4068-acf4-a773f63ab076", + "identifier": "00f7839b-eb21-4af7-9854-67ae2f01f452", "display_name": "US0055b-New York" } }, @@ -944,7 +944,7 @@ "duct_02": null, "duct_01": null, "name": "Test_Vent_System", - "identifier": "7bf0c3ea-50bc-4e3c-933b-9373ba04aa99" + "identifier": "ad80fcf7-1c4d-431c-9d41-635188d4e603" }, "cooling_systems": [], "exhaust_vent_devices": [], @@ -952,7 +952,7 @@ }, "type": "IdealAirSystemProperties" }, - "identifier": "Room_3_2652c4c8 Ideal Loads Air System", + "identifier": "Room_9_a50679dd Ideal Loads Air System", "cooling_air_temperature": 13.0, "demand_controlled_ventilation": true, "cooling_limit": { @@ -988,7 +988,7 @@ "duct_02": null, "duct_01": null, "name": "Test_Vent_System", - "identifier": "7bf0c3ea-50bc-4e3c-933b-9373ba04aa99" + "identifier": "ad80fcf7-1c4d-431c-9d41-635188d4e603" }, "cooling_systems": [], "exhaust_vent_devices": [], @@ -996,7 +996,7 @@ }, "type": "IdealAirSystemProperties" }, - "identifier": "Room_4_3be3c5a7 Ideal Loads Air System", + "identifier": "Room_10_c2108ffc Ideal Loads Air System", "cooling_air_temperature": 13.0, "demand_controlled_ventilation": true, "cooling_limit": { @@ -1049,12 +1049,12 @@ "recirc_piping": {}, "branch_piping": {}, "heaters": { - "1146": { + "2200": { "heater_type": "PhSHWHeaterHeatPump", "annual_system_perf_ratio": null, "in_conditioned_space": true, - "identifier": "1025dc2b-2c80-4dde-897e-b730b6a7423f", - "display_name": "1025dc2b-2c80-4dde-897e-b730b6a7423f", + "identifier": "f6fb6743-ae01-4795-b977-2024483a44b7", + "display_name": "f6fb6743-ae01-4795-b977-2024483a44b7", "percent_coverage": 1.0, "annual_COP": null, "annual_energy_factor": null @@ -1074,7 +1074,7 @@ }, "in_conditioned_space": true, "storage_capacity": 300, - "identifier": "c63eb2cf-95fa-4c30-86a0-cef2caea6fcd", + "identifier": "ac9578cd-de38-4da8-bc49-115b1cea4e1c", "display_name": "_unnamed_hw_tank_", "quantity": 1, "storage_loss_rate": 0.0 @@ -1083,9 +1083,9 @@ }, "type": "SHWSystemProperties" }, - "identifier": "SHW System_59934044", + "identifier": "SHW System_a6303d05", "ambient_condition": 22.0, - "display_name": "SHW System_59934044", + "display_name": "SHW System_a6303d05", "type": "SHWSystem" } ], @@ -3089,14 +3089,14 @@ } }, "version": "1.51.6", - "identifier": "unnamed_662ff0c6", + "identifier": "unnamed_fab9cc6a", "display_name": "unnamed", "rooms": [ { "properties": { "ph": { "type": "RoomPhPropertiesAbridged", - "ph_bldg_segment_id": "781a54b0-b89c-4089-a359-7edc3a7195b5", + "ph_bldg_segment_id": "3fc3701f-062b-4a21-9b10-353037a63fac", "spaces": [ { "volumes": [ @@ -3479,13 +3479,13 @@ }, "type": "SpaceProperties" }, - "name": "Room_3", + "name": "Room_9", "quantity": 1 } ] }, "energy": { - "shw": "SHW System_59934044", + "shw": "SHW System_a6303d05", "program_type": "Generic Office Program", "service_hot_water": { "flow_per_area": 5.0000000000000004e-06, @@ -3493,10 +3493,10 @@ "latent_fraction": 0.050000000000000003, "target_temperature": 60.0, "schedule": "Always On", - "identifier": "Room_3_2652c4c8_service_hot_water", + "identifier": "Room_9_a50679dd_service_hot_water", "type": "ServiceHotWaterAbridged" }, - "hvac": "Room_3_2652c4c8 Ideal Loads Air System", + "hvac": "Room_9_a50679dd Ideal Loads Air System", "electric_equipment": { "radiant_fraction": 0.5, "latent_fraction": 0.0, @@ -3504,28 +3504,7 @@ "ph": { "equipment_collection": { "equipment_set": { - "cd208d58-8c55-4ba4-9a2d-e01185508eb1": { - "energy_demand_per_use": 3.5, - "reference_quantity": 1, - "reference_energy_norm": 2, - "field_utilization_factor": 1.1799999999999999, - "user_data": {}, - "equipment_type": "PhClothesDryer", - "comment": "default", - "gas_consumption": 0, - "in_conditioned_space": true, - "identifier": "cd208d58-8c55-4ba4-9a2d-e01185508eb1", - "display_name": "Laundry - dryer", - "quantity": 1, - "_dryer_type": { - "value": "4-CONDENSATION DRYER" - }, - "combined_energy_factor": 3.9300000000000002, - "gas_efficiency_factor": 2.6699999999999999, - "energy_demand": 0, - "field_utilization_factor_type": 1 - }, - "b7cd045d-83c2-424d-9f3d-bfb328bb0020": { + "b0bb33a2-d2e2-467e-8e50-a4cf9cf4b166": { "energy_demand_per_use": 0.25, "reference_quantity": 1, "reference_energy_norm": 1, @@ -3533,7 +3512,7 @@ "equipment_type": "PhCooktop", "comment": "default", "in_conditioned_space": true, - "identifier": "b7cd045d-83c2-424d-9f3d-bfb328bb0020", + "identifier": "b0bb33a2-d2e2-467e-8e50-a4cf9cf4b166", "display_name": "Kitchen cooking", "quantity": 1, "combined_energy_factor": 0, @@ -3542,7 +3521,21 @@ "value": "1-ELECTRICITY" } }, - "6ba4d9ab-64a8-4e63-aa04-fb766f253a51": { + "f9769d08-620a-4e70-b49c-ca75beaa75ea": { + "energy_demand_per_use": 1.0, + "reference_quantity": 4, + "reference_energy_norm": 1, + "user_data": {}, + "equipment_type": "PhFridgeFreezer", + "comment": "default", + "in_conditioned_space": true, + "identifier": "f9769d08-620a-4e70-b49c-ca75beaa75ea", + "display_name": "Kitchen fridge/freeze combo", + "quantity": 1, + "combined_energy_factor": 0, + "energy_demand": 0 + }, + "dd37591b-9b12-4fd9-97c0-7508ab024d07": { "energy_demand_per_use": 1.1000000000000001, "reference_quantity": 1, "reference_energy_norm": 2, @@ -3553,7 +3546,7 @@ "capacity": 0.12740000000000001, "in_conditioned_space": true, "modified_energy_factor": 2.7000000000000002, - "identifier": "6ba4d9ab-64a8-4e63-aa04-fb766f253a51", + "identifier": "dd37591b-9b12-4fd9-97c0-7508ab024d07", "display_name": "Laundry - washer", "quantity": 1, "combined_energy_factor": 0, @@ -3562,21 +3555,7 @@ }, "energy_demand": 0 }, - "c1127f74-c92a-4a6f-aa7a-d7e008d5bdf7": { - "energy_demand_per_use": 1.0, - "reference_quantity": 4, - "reference_energy_norm": 1, - "user_data": {}, - "equipment_type": "PhFridgeFreezer", - "comment": "default", - "in_conditioned_space": true, - "identifier": "c1127f74-c92a-4a6f-aa7a-d7e008d5bdf7", - "display_name": "Kitchen fridge/freeze combo", - "quantity": 1, - "combined_energy_factor": 0, - "energy_demand": 0 - }, - "6b0a87cf-421f-454c-bbf1-6e3b11b15db5": { + "d07cdc94-ff45-43a1-b1d8-dcde16375925": { "energy_demand_per_use": 1.1000000000000001, "reference_quantity": 1, "reference_energy_norm": 2, @@ -3586,7 +3565,7 @@ "comment": "default", "capacity": 12, "in_conditioned_space": true, - "identifier": "6b0a87cf-421f-454c-bbf1-6e3b11b15db5", + "identifier": "d07cdc94-ff45-43a1-b1d8-dcde16375925", "display_name": "Kitchen dishwasher", "quantity": 1, "combined_energy_factor": 0, @@ -3594,6 +3573,27 @@ "value": "2-COLD WATER CONNECTION" }, "energy_demand": 0 + }, + "08a1d05e-3f56-4779-b230-4bbe6e3352e5": { + "energy_demand_per_use": 3.5, + "reference_quantity": 1, + "reference_energy_norm": 2, + "field_utilization_factor": 1.1799999999999999, + "user_data": {}, + "equipment_type": "PhClothesDryer", + "comment": "default", + "gas_consumption": 0, + "in_conditioned_space": true, + "identifier": "08a1d05e-3f56-4779-b230-4bbe6e3352e5", + "display_name": "Laundry - dryer", + "quantity": 1, + "_dryer_type": { + "value": "4-CONDENSATION DRYER" + }, + "combined_energy_factor": 3.9300000000000002, + "gas_efficiency_factor": 2.6699999999999999, + "energy_demand": 0, + "field_utilization_factor_type": 1 } } }, @@ -3603,7 +3603,7 @@ }, "lost_fraction": 0.0, "schedule": "Generic Office Equipment", - "identifier": "Generic Office Equipment_805f1306", + "identifier": "Generic Office Equipment_a675f30d", "watts_per_area": 10.33, "type": "ElectricEquipmentAbridged" }, @@ -3614,8 +3614,8 @@ "type": "RoomRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8", - "display_name": "Room_3", + "identifier": "Room_9_a50679dd", + "display_name": "Room_9", "faces": [ { "boundary_condition": { @@ -3740,8 +3740,8 @@ "type": "ApertureRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8..Face0_Glz0", - "display_name": "Room_3_2652c4c8..Face0_Glz0", + "identifier": "Room_9_a50679dd..Face0_Glz0", + "display_name": "Room_9_a50679dd..Face0_Glz0", "is_operable": false, "type": "Aperture" } @@ -3759,15 +3759,15 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8..Face0", - "display_name": "Room_3_2652c4c8..Face0", + "identifier": "Room_9_a50679dd..Face0", + "display_name": "Room_9_a50679dd..Face0", "type": "Face" }, { "boundary_condition": { "boundary_condition_objects": [ - "Room_4_3be3c5a7..Face3", - "Room_4_3be3c5a7" + "Room_10_c2108ffc..Face3", + "Room_10_c2108ffc" ], "type": "Surface" }, @@ -3828,8 +3828,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8..Face1", - "display_name": "Room_3_2652c4c8..Face1", + "identifier": "Room_9_a50679dd..Face1", + "display_name": "Room_9_a50679dd..Face1", "type": "Face" }, { @@ -3955,8 +3955,8 @@ "type": "ApertureRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8..Face2_Glz0", - "display_name": "Room_3_2652c4c8..Face2_Glz0", + "identifier": "Room_9_a50679dd..Face2_Glz0", + "display_name": "Room_9_a50679dd..Face2_Glz0", "is_operable": false, "type": "Aperture" } @@ -3974,8 +3974,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8..Face2", - "display_name": "Room_3_2652c4c8..Face2", + "identifier": "Room_9_a50679dd..Face2", + "display_name": "Room_9_a50679dd..Face2", "type": "Face" }, { @@ -4101,8 +4101,8 @@ "type": "ApertureRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8..Face3_Glz0", - "display_name": "Room_3_2652c4c8..Face3_Glz0", + "identifier": "Room_9_a50679dd..Face3_Glz0", + "display_name": "Room_9_a50679dd..Face3_Glz0", "is_operable": false, "type": "Aperture" } @@ -4120,8 +4120,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8..Face3", - "display_name": "Room_3_2652c4c8..Face3", + "identifier": "Room_9_a50679dd..Face3", + "display_name": "Room_9_a50679dd..Face3", "type": "Face" }, { @@ -4185,8 +4185,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8..Face4", - "display_name": "Room_3_2652c4c8..Face4", + "identifier": "Room_9_a50679dd..Face4", + "display_name": "Room_9_a50679dd..Face4", "type": "Face" }, { @@ -4255,8 +4255,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_3_2652c4c8..Face5", - "display_name": "Room_3_2652c4c8..Face5", + "identifier": "Room_9_a50679dd..Face5", + "display_name": "Room_9_a50679dd..Face5", "type": "Face" } ], @@ -4266,7 +4266,7 @@ "properties": { "ph": { "type": "RoomPhPropertiesAbridged", - "ph_bldg_segment_id": "781a54b0-b89c-4089-a359-7edc3a7195b5", + "ph_bldg_segment_id": "3fc3701f-062b-4a21-9b10-353037a63fac", "spaces": [ { "volumes": [ @@ -4649,13 +4649,13 @@ }, "type": "SpaceProperties" }, - "name": "Room_4", + "name": "Room_10", "quantity": 1 } ] }, "energy": { - "shw": "SHW System_59934044", + "shw": "SHW System_a6303d05", "program_type": "Generic Office Program", "service_hot_water": { "flow_per_area": 3.5714285714285718e-06, @@ -4663,10 +4663,10 @@ "latent_fraction": 0.050000000000000003, "target_temperature": 60.0, "schedule": "Always On", - "identifier": "Room_4_3be3c5a7_service_hot_water", + "identifier": "Room_10_c2108ffc_service_hot_water", "type": "ServiceHotWaterAbridged" }, - "hvac": "Room_4_3be3c5a7 Ideal Loads Air System", + "hvac": "Room_10_c2108ffc Ideal Loads Air System", "electric_equipment": { "radiant_fraction": 0.5, "latent_fraction": 0.0, @@ -4674,28 +4674,7 @@ "ph": { "equipment_collection": { "equipment_set": { - "cd208d58-8c55-4ba4-9a2d-e01185508eb1": { - "energy_demand_per_use": 3.5, - "reference_quantity": 1, - "reference_energy_norm": 2, - "field_utilization_factor": 1.1799999999999999, - "user_data": {}, - "equipment_type": "PhClothesDryer", - "comment": "default", - "gas_consumption": 0, - "in_conditioned_space": true, - "identifier": "cd208d58-8c55-4ba4-9a2d-e01185508eb1", - "display_name": "Laundry - dryer", - "quantity": 1, - "_dryer_type": { - "value": "4-CONDENSATION DRYER" - }, - "combined_energy_factor": 3.9300000000000002, - "gas_efficiency_factor": 2.6699999999999999, - "energy_demand": 0, - "field_utilization_factor_type": 1 - }, - "b7cd045d-83c2-424d-9f3d-bfb328bb0020": { + "b0bb33a2-d2e2-467e-8e50-a4cf9cf4b166": { "energy_demand_per_use": 0.25, "reference_quantity": 1, "reference_energy_norm": 1, @@ -4703,7 +4682,7 @@ "equipment_type": "PhCooktop", "comment": "default", "in_conditioned_space": true, - "identifier": "b7cd045d-83c2-424d-9f3d-bfb328bb0020", + "identifier": "b0bb33a2-d2e2-467e-8e50-a4cf9cf4b166", "display_name": "Kitchen cooking", "quantity": 1, "combined_energy_factor": 0, @@ -4712,7 +4691,21 @@ "value": "1-ELECTRICITY" } }, - "6ba4d9ab-64a8-4e63-aa04-fb766f253a51": { + "f9769d08-620a-4e70-b49c-ca75beaa75ea": { + "energy_demand_per_use": 1.0, + "reference_quantity": 4, + "reference_energy_norm": 1, + "user_data": {}, + "equipment_type": "PhFridgeFreezer", + "comment": "default", + "in_conditioned_space": true, + "identifier": "f9769d08-620a-4e70-b49c-ca75beaa75ea", + "display_name": "Kitchen fridge/freeze combo", + "quantity": 1, + "combined_energy_factor": 0, + "energy_demand": 0 + }, + "dd37591b-9b12-4fd9-97c0-7508ab024d07": { "energy_demand_per_use": 1.1000000000000001, "reference_quantity": 1, "reference_energy_norm": 2, @@ -4723,7 +4716,7 @@ "capacity": 0.12740000000000001, "in_conditioned_space": true, "modified_energy_factor": 2.7000000000000002, - "identifier": "6ba4d9ab-64a8-4e63-aa04-fb766f253a51", + "identifier": "dd37591b-9b12-4fd9-97c0-7508ab024d07", "display_name": "Laundry - washer", "quantity": 1, "combined_energy_factor": 0, @@ -4732,21 +4725,7 @@ }, "energy_demand": 0 }, - "c1127f74-c92a-4a6f-aa7a-d7e008d5bdf7": { - "energy_demand_per_use": 1.0, - "reference_quantity": 4, - "reference_energy_norm": 1, - "user_data": {}, - "equipment_type": "PhFridgeFreezer", - "comment": "default", - "in_conditioned_space": true, - "identifier": "c1127f74-c92a-4a6f-aa7a-d7e008d5bdf7", - "display_name": "Kitchen fridge/freeze combo", - "quantity": 1, - "combined_energy_factor": 0, - "energy_demand": 0 - }, - "6b0a87cf-421f-454c-bbf1-6e3b11b15db5": { + "d07cdc94-ff45-43a1-b1d8-dcde16375925": { "energy_demand_per_use": 1.1000000000000001, "reference_quantity": 1, "reference_energy_norm": 2, @@ -4756,7 +4735,7 @@ "comment": "default", "capacity": 12, "in_conditioned_space": true, - "identifier": "6b0a87cf-421f-454c-bbf1-6e3b11b15db5", + "identifier": "d07cdc94-ff45-43a1-b1d8-dcde16375925", "display_name": "Kitchen dishwasher", "quantity": 1, "combined_energy_factor": 0, @@ -4764,6 +4743,27 @@ "value": "2-COLD WATER CONNECTION" }, "energy_demand": 0 + }, + "08a1d05e-3f56-4779-b230-4bbe6e3352e5": { + "energy_demand_per_use": 3.5, + "reference_quantity": 1, + "reference_energy_norm": 2, + "field_utilization_factor": 1.1799999999999999, + "user_data": {}, + "equipment_type": "PhClothesDryer", + "comment": "default", + "gas_consumption": 0, + "in_conditioned_space": true, + "identifier": "08a1d05e-3f56-4779-b230-4bbe6e3352e5", + "display_name": "Laundry - dryer", + "quantity": 1, + "_dryer_type": { + "value": "4-CONDENSATION DRYER" + }, + "combined_energy_factor": 3.9300000000000002, + "gas_efficiency_factor": 2.6699999999999999, + "energy_demand": 0, + "field_utilization_factor_type": 1 } } }, @@ -4773,7 +4773,7 @@ }, "lost_fraction": 0.0, "schedule": "Generic Office Equipment", - "identifier": "Generic Office Equipment_805f1306", + "identifier": "Generic Office Equipment_a675f30d", "watts_per_area": 10.33, "type": "ElectricEquipmentAbridged" }, @@ -4784,8 +4784,8 @@ "type": "RoomRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7", - "display_name": "Room_4", + "identifier": "Room_10_c2108ffc", + "display_name": "Room_10", "faces": [ { "boundary_condition": { @@ -4910,8 +4910,8 @@ "type": "ApertureRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7..Face0_Glz0", - "display_name": "Room_4_3be3c5a7..Face0_Glz0", + "identifier": "Room_10_c2108ffc..Face0_Glz0", + "display_name": "Room_10_c2108ffc..Face0_Glz0", "is_operable": false, "type": "Aperture" } @@ -4929,8 +4929,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7..Face0", - "display_name": "Room_4_3be3c5a7..Face0", + "identifier": "Room_10_c2108ffc..Face0", + "display_name": "Room_10_c2108ffc..Face0", "type": "Face" }, { @@ -5056,8 +5056,8 @@ "type": "ApertureRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7..Face1_Glz0", - "display_name": "Room_4_3be3c5a7..Face1_Glz0", + "identifier": "Room_10_c2108ffc..Face1_Glz0", + "display_name": "Room_10_c2108ffc..Face1_Glz0", "is_operable": false, "type": "Aperture" } @@ -5075,8 +5075,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7..Face1", - "display_name": "Room_4_3be3c5a7..Face1", + "identifier": "Room_10_c2108ffc..Face1", + "display_name": "Room_10_c2108ffc..Face1", "type": "Face" }, { @@ -5202,8 +5202,8 @@ "type": "ApertureRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7..Face2_Glz0", - "display_name": "Room_4_3be3c5a7..Face2_Glz0", + "identifier": "Room_10_c2108ffc..Face2_Glz0", + "display_name": "Room_10_c2108ffc..Face2_Glz0", "is_operable": false, "type": "Aperture" } @@ -5221,15 +5221,15 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7..Face2", - "display_name": "Room_4_3be3c5a7..Face2", + "identifier": "Room_10_c2108ffc..Face2", + "display_name": "Room_10_c2108ffc..Face2", "type": "Face" }, { "boundary_condition": { "boundary_condition_objects": [ - "Room_3_2652c4c8..Face1", - "Room_3_2652c4c8" + "Room_9_a50679dd..Face1", + "Room_9_a50679dd" ], "type": "Surface" }, @@ -5290,8 +5290,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7..Face3", - "display_name": "Room_4_3be3c5a7..Face3", + "identifier": "Room_10_c2108ffc..Face3", + "display_name": "Room_10_c2108ffc..Face3", "type": "Face" }, { @@ -5355,8 +5355,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7..Face4", - "display_name": "Room_4_3be3c5a7..Face4", + "identifier": "Room_10_c2108ffc..Face4", + "display_name": "Room_10_c2108ffc..Face4", "type": "Face" }, { @@ -5425,8 +5425,8 @@ "type": "FaceRadiancePropertiesAbridged" } }, - "identifier": "Room_4_3be3c5a7..Face5", - "display_name": "Room_4_3be3c5a7..Face5", + "identifier": "Room_10_c2108ffc..Face5", + "display_name": "Room_10_c2108ffc..Face5", "type": "Face" } ], diff --git a/tests/test_to_WUFI_xml/test_building/test_PhxZone.py b/tests/test_to_WUFI_xml/test_building/test_PhxZone.py index 1bd6ef9..714de7c 100644 --- a/tests/test_to_WUFI_xml/test_building/test_PhxZone.py +++ b/tests/test_to_WUFI_xml/test_building/test_PhxZone.py @@ -26,4 +26,5 @@ def test_default_PhxProject(reset_class_counters): '0', '', '', + '', ] diff --git a/tests/test_to_WUFI_xml/test_certification/test_PhxPHCertification.py b/tests/test_to_WUFI_xml/test_certification/test_PhxPHCertification.py index 931bab8..10520d6 100644 --- a/tests/test_to_WUFI_xml/test_certification/test_PhxPHCertification.py +++ b/tests/test_to_WUFI_xml/test_certification/test_PhxPHCertification.py @@ -24,6 +24,7 @@ def test_default_PhxPHCertification(reset_class_counters): "1", "1", "1.0", + '4', '', "", "", @@ -55,6 +56,7 @@ def test_customized_PhxPhiusCertification(reset_class_counters): "1", "1", "1.0", + '4', '', "", "", diff --git a/tests/test_to_WUFI_xml/test_project/test_PhxVariant.py b/tests/test_to_WUFI_xml/test_project/test_PhxVariant.py index 926d263..ccbee7d 100644 --- a/tests/test_to_WUFI_xml/test_project/test_PhxVariant.py +++ b/tests/test_to_WUFI_xml/test_project/test_PhxVariant.py @@ -135,6 +135,7 @@ def test_default_PhxProject(reset_class_counters): "1", "1", "1.0", + '4', '', "", "",