honeybee-energy 1.116.27__py2.py3-none-any.whl → 1.116.28__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of honeybee-energy might be problematic. Click here for more details.

@@ -820,15 +820,7 @@ class ModelEnergyProperties(object):
820
820
  detailed = False if raise_exception else detailed
821
821
  msgs = []
822
822
  # perform checks for duplicate identifiers
823
- msgs.append(self.check_duplicate_material_identifiers(False, detailed))
824
- msgs.append(self.check_duplicate_construction_identifiers(False, detailed))
825
- msgs.append(self.check_duplicate_construction_set_identifiers(False, detailed))
826
- msgs.append(
827
- self.check_duplicate_schedule_type_limit_identifiers(False, detailed))
828
- msgs.append(self.check_duplicate_schedule_identifiers(False, detailed))
829
- msgs.append(self.check_duplicate_program_type_identifiers(False, detailed))
830
- msgs.append(self.check_duplicate_hvac_identifiers(False, detailed))
831
- msgs.append(self.check_duplicate_shw_identifiers(False, detailed))
823
+ msgs.append(self.check_all_duplicate_identifiers(False, detailed))
832
824
  # perform checks for specific energy simulation rules
833
825
  msgs.append(self.check_all_zones_have_one_hvac(False, detailed))
834
826
  msgs.append(self.check_detailed_hvac_rooms(False, detailed))
@@ -845,6 +837,44 @@ class ModelEnergyProperties(object):
845
837
  raise ValueError(full_msg)
846
838
  return full_msg
847
839
 
840
+ def check_all_duplicate_identifiers(self, raise_exception=True, detailed=False):
841
+ """Check that there are no duplicate identifiers for any geometry objects.
842
+
843
+ This includes Rooms, Faces, Apertures, Doors, Shades, and ShadeMeshes.
844
+
845
+ Args:
846
+ raise_exception: Boolean to note whether a ValueError should be raised
847
+ if any Model errors are found. If False, this method will simply
848
+ return a text string with all errors that were found. (Default: True).
849
+ detailed: Boolean for whether the returned object is a detailed list of
850
+ dicts with error info or a string with a message. (Default: False).
851
+
852
+ Returns:
853
+ A text string with all errors that were found or a list if detailed is True.
854
+ This string (or list) will be empty if no errors were found.
855
+ """
856
+ # set up defaults to ensure the method runs correctly
857
+ detailed = False if raise_exception else detailed
858
+ msgs = []
859
+ # perform checks for duplicate identifiers
860
+ msgs.append(self.check_duplicate_material_identifiers(False, detailed))
861
+ msgs.append(self.check_duplicate_construction_identifiers(False, detailed))
862
+ msgs.append(self.check_duplicate_construction_set_identifiers(False, detailed))
863
+ stl_msgs = self.check_duplicate_schedule_type_limit_identifiers(False, detailed)
864
+ msgs.append(stl_msgs)
865
+ msgs.append(self.check_duplicate_schedule_identifiers(False, detailed))
866
+ msgs.append(self.check_duplicate_program_type_identifiers(False, detailed))
867
+ msgs.append(self.check_duplicate_hvac_identifiers(False, detailed))
868
+ msgs.append(self.check_duplicate_shw_identifiers(False, detailed))
869
+ # output a final report of errors or raise an exception
870
+ full_msgs = [msg for msg in msgs if msg]
871
+ if detailed:
872
+ return [m for msg in full_msgs for m in msg]
873
+ full_msg = '\n'.join(full_msgs)
874
+ if raise_exception and len(full_msgs) != 0:
875
+ raise ValueError(full_msg)
876
+ return full_msg
877
+
848
878
  def check_duplicate_material_identifiers(self, raise_exception=True, detailed=False):
849
879
  """Check that there are no duplicate Material identifiers in the model.
850
880
 
@@ -1002,7 +1032,7 @@ class ModelEnergyProperties(object):
1002
1032
  A string with the message or a list with a dictionary if detailed is True.
1003
1033
  """
1004
1034
  detailed = False if raise_exception else detailed
1005
- # gather a list of all the missing rooms
1035
+ # gather a list of all the zones with multiple HVACs
1006
1036
  invalid_zones = {}
1007
1037
  for zone, rooms in self.host.zone_dict.items():
1008
1038
  if len(rooms) == 1:
@@ -1012,7 +1042,7 @@ class ModelEnergyProperties(object):
1012
1042
  if len(hvacs) > 1:
1013
1043
  invalid_zones[zone] = [rooms, hvacs]
1014
1044
 
1015
- # if missing rooms were found, then report the issue
1045
+ # if multiple HVACs in the same zone were found, then report the issue
1016
1046
  if len(invalid_zones) != 0:
1017
1047
  if detailed:
1018
1048
  all_err = []
@@ -1226,6 +1256,7 @@ class ModelEnergyProperties(object):
1226
1256
  Returns:
1227
1257
  A string with the message or a list with a dictionary if detailed is True.
1228
1258
  """
1259
+ detailed = False if raise_exception else detailed
1229
1260
  # first see if there's more than one vegetation material
1230
1261
  all_constrs = self.room_constructions + self.face_constructions
1231
1262
  materials = []
@@ -1296,6 +1327,7 @@ class ModelEnergyProperties(object):
1296
1327
  Returns:
1297
1328
  A string with the message or a list with a dictionary if detailed is True.
1298
1329
  """
1330
+ detailed = False if raise_exception else detailed
1299
1331
  # get the maximum elevation of all the rooms
1300
1332
  conv_fac = conversion_factor_to_meters(self.host.units)
1301
1333
  max_elev_model = max_elevation / conv_fac
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: honeybee-energy
3
- Version: 1.116.27
3
+ Version: 1.116.28
4
4
  Summary: Energy simulation library for honeybee.
5
5
  Home-page: https://github.com/ladybug-tools/honeybee-energy
6
6
  Author: Ladybug Tools
@@ -115,7 +115,7 @@ honeybee_energy/properties/aperture.py,sha256=lR2zMmGg-c0uhAiIq26Rk3iAV0_v-c6kiI
115
115
  honeybee_energy/properties/door.py,sha256=IYNOkzLWJG5c4_EsHc1avWzZ-08a2RfjV0WzfivIvwc,15622
116
116
  honeybee_energy/properties/extension.py,sha256=ILzHYtu5Y_KCOUixipWY9NTJHFgvZI7v27sDcFLuSmg,8539
117
117
  honeybee_energy/properties/face.py,sha256=-7lj9_fzoGQ0QhGo_f7U6gUuB3Xy87fpgwSYnVWwZ8s,11400
118
- honeybee_energy/properties/model.py,sha256=BqGjshRK3oUOgWC-5vKj-roknF71lLdpHRX1ByMPxas,127420
118
+ honeybee_energy/properties/model.py,sha256=6_Uqt7qUROZS3Zxq4xEp96CggfzR_1k1T-ViYa_H6AQ,129066
119
119
  honeybee_energy/properties/room.py,sha256=QAVRTWQKuSRHH7-nGx74q3UuaLfb01ZIbvixFTup9Ew,82311
120
120
  honeybee_energy/properties/shade.py,sha256=Aj1RZh2KSkVMn5VT_QUckF_5R3I0O3b35EabqaI2i5g,14107
121
121
  honeybee_energy/properties/shademesh.py,sha256=ykbs4llT86C_U5BhQy2EbINewfg9eVxiPaq5yCRhud8,11486
@@ -156,9 +156,9 @@ honeybee_energy/ventcool/opening.py,sha256=ZywoADlNQ6_8OfjV71ZUpbCAetQrRVj7aprBj
156
156
  honeybee_energy/ventcool/simulation.py,sha256=gMF4sgCQ5R4iFWPnvvB3wxgeP_zEwnWl71ObIIe4XGU,14423
157
157
  tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
158
  tests/fixtures/userdata_fixtures.py,sha256=yDvBR6nsltel_U8hUoUsJ6yufPKTR7Wnsgxe68HtswQ,313
159
- honeybee_energy-1.116.27.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
160
- honeybee_energy-1.116.27.dist-info/METADATA,sha256=-3G-Rz-JN-OD01bZsoWshz2k6OMOz2OXudiZVDJOQ5Q,3575
161
- honeybee_energy-1.116.27.dist-info/WHEEL,sha256=AHX6tWk3qWuce7vKLrj7lnulVHEdWoltgauo8bgCXgU,109
162
- honeybee_energy-1.116.27.dist-info/entry_points.txt,sha256=QOMJbH-StaxT4hCjskZtqetNCMNioP3ZiuhoLQ6MANc,63
163
- honeybee_energy-1.116.27.dist-info/top_level.txt,sha256=V9Lz0281hfT83Fy0fSdn_6vwRK9vTQe1_LQXd0_-gAI,22
164
- honeybee_energy-1.116.27.dist-info/RECORD,,
159
+ honeybee_energy-1.116.28.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
160
+ honeybee_energy-1.116.28.dist-info/METADATA,sha256=gbP68B-xcgwiZZPSkTfR4syLkvIgyGwyxe4Im9-YZfI,3575
161
+ honeybee_energy-1.116.28.dist-info/WHEEL,sha256=AHX6tWk3qWuce7vKLrj7lnulVHEdWoltgauo8bgCXgU,109
162
+ honeybee_energy-1.116.28.dist-info/entry_points.txt,sha256=QOMJbH-StaxT4hCjskZtqetNCMNioP3ZiuhoLQ6MANc,63
163
+ honeybee_energy-1.116.28.dist-info/top_level.txt,sha256=V9Lz0281hfT83Fy0fSdn_6vwRK9vTQe1_LQXd0_-gAI,22
164
+ honeybee_energy-1.116.28.dist-info/RECORD,,