honeybee-radiance-postprocess 0.4.386__py2.py3-none-any.whl → 0.4.388__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.
@@ -25,7 +25,8 @@ from .util import filter_array, recursive_dict_merge
25
25
 
26
26
 
27
27
  def _create_grid_summary(
28
- grid_info, sda_grid, ase_grid, pass_sda, pass_ase, total_floor,
28
+ grid_info, sda_grid, sda_blinds_up_grid, sda_blinds_down_grid, ase_grid,
29
+ pass_sda, pass_sda_blind_up, pass_sda_blinds_down, pass_ase, total_floor,
29
30
  area_weighted=True):
30
31
  """Create a LEED summary for a single grid.
31
32
 
@@ -65,6 +66,8 @@ def _create_grid_summary(
65
66
  'full_id': grid_id,
66
67
  'ase': round(ase_grid, 2),
67
68
  'sda': round(sda_grid, 2),
69
+ 'sda_blinds_up': round(sda_blinds_up_grid, 2),
70
+ 'sda_blinds_down': round(sda_blinds_down_grid, 2),
68
71
  'floor_area_passing_ase': round(pass_ase, 2),
69
72
  'floor_area_passing_sda': round(pass_sda, 2),
70
73
  'total_floor_area': round(total_floor, 2)
@@ -77,6 +80,8 @@ def _create_grid_summary(
77
80
  'full_id': grid_id,
78
81
  'ase': round(ase_grid, 2),
79
82
  'sda': round(sda_grid, 2),
83
+ 'sda_blinds_up': round(sda_blinds_up_grid, 2),
84
+ 'sda_blinds_down': round(sda_blinds_down_grid, 2),
80
85
  'sensor_count_passing_ase': int(round(pass_ase, 2)),
81
86
  'sensor_count_passing_sda': int(round(pass_sda, 2)),
82
87
  'total_sensor_count': total_floor
@@ -90,8 +95,9 @@ def _create_grid_summary(
90
95
 
91
96
  def _leed_summary(
92
97
  pass_ase_grids: list, pass_sda_grids: list, grids_info: list,
93
- grid_areas: list) -> Tuple[dict, dict]:
94
- """_summary_
98
+ grid_areas: list, pass_sda_blinds_up_grids: list,
99
+ pass_sda_blinds_down_grids: list) -> Tuple[dict, dict]:
100
+ """Create combined summary and summary for each grid individually.
95
101
 
96
102
  Args:
97
103
  pass_ase_grids: A list where each sublist is a list of True/False that
@@ -115,18 +121,29 @@ def _leed_summary(
115
121
  total_area = 0
116
122
  total_area_pass_ase = 0
117
123
  total_area_pass_sda = 0
118
- for (pass_ase, pass_sda, grid_area, grid_info) in \
119
- zip(pass_ase_grids, pass_sda_grids, grid_areas, grids_info):
124
+ for (pass_ase, pass_sda, grid_area, grid_info, pass_sda_blinds_up,
125
+ pass_sda_blinds_down) in \
126
+ zip(pass_ase_grids, pass_sda_grids, grid_areas, grids_info,
127
+ pass_sda_blinds_up_grids, pass_sda_blinds_down_grids):
120
128
  total_grid_area = grid_area.sum()
129
+
121
130
  area_pass_ase = grid_area[pass_ase].sum()
122
- area_pass_sda = grid_area[pass_sda].sum()
123
131
  ase_grid = (total_grid_area - area_pass_ase) / total_grid_area * 100
132
+
133
+ area_pass_sda = grid_area[pass_sda].sum()
134
+ area_pass_sda_blind_up = grid_area[pass_sda_blinds_up].sum()
135
+ area_pass_sda_blinds_down = grid_area[pass_sda_blinds_down].sum()
124
136
  sda_grid = area_pass_sda / total_grid_area * 100
137
+ sda_blinds_up_grid = area_pass_sda_blind_up / total_grid_area * 100
138
+ sda_blinds_down_grid = area_pass_sda_blinds_down / total_grid_area * 100
139
+
125
140
  # grid summary
126
141
  grid_summary = \
127
142
  _create_grid_summary(
128
- grid_info, sda_grid, ase_grid, area_pass_sda, area_pass_ase,
129
- total_grid_area, area_weighted=True
143
+ grid_info, sda_grid, sda_blinds_up_grid, sda_blinds_down_grid,
144
+ ase_grid, area_pass_sda, area_pass_sda_blind_up,
145
+ area_pass_sda_blinds_down, area_pass_ase, total_grid_area,
146
+ area_weighted=True
130
147
  )
131
148
 
132
149
  recursive_dict_merge(summary_grid, grid_summary)
@@ -145,18 +162,28 @@ def _leed_summary(
145
162
  total_sensor_count = 0
146
163
  total_sensor_count_pass_ase = 0
147
164
  total_sensor_count_pass_sda = 0
148
- for (pass_ase, pass_sda, grid_info) in \
149
- zip(pass_ase_grids, pass_sda_grids, grids_info):
165
+ for (pass_ase, pass_sda, grid_info, pass_sda_blinds_up,
166
+ pass_sda_blinds_down) in \
167
+ zip(pass_ase_grids, pass_sda_grids, grids_info,
168
+ pass_sda_blinds_up_grids, pass_sda_blinds_down_grids):
150
169
  grid_count = grid_info['count']
151
170
  sensor_count_pass_ase = pass_ase.sum()
152
- sensor_count_pass_sda = pass_sda.sum()
153
171
  ase_grid = (grid_count - sensor_count_pass_ase) / grid_count * 100
172
+
173
+ sensor_count_pass_sda = pass_sda.sum()
174
+ sensor_count_pass_sda_blinds_up = pass_sda_blinds_up.sum()
175
+ sensor_count_pass_sda_blinds_down = pass_sda_blinds_down.sum()
154
176
  sda_grid = sensor_count_pass_sda / grid_count * 100
177
+ sda_blinds_up_grid = sensor_count_pass_sda_blinds_up / grid_count * 100
178
+ sda_blinds_down_grid = sensor_count_pass_sda_blinds_down / grid_count * 100
179
+
155
180
  # grid summary
156
181
  grid_summary = \
157
182
  _create_grid_summary(
158
- grid_info, sda_grid, ase_grid, sensor_count_pass_sda,
159
- sensor_count_pass_ase, grid_count, area_weighted=False
183
+ grid_info, sda_grid, sda_blinds_up_grid, sda_blinds_down_grid,
184
+ ase_grid, sensor_count_pass_sda, sensor_count_pass_sda_blinds_up,
185
+ sensor_count_pass_sda_blinds_down, sensor_count_pass_ase,
186
+ grid_count, area_weighted=False
160
187
  )
161
188
 
162
189
  recursive_dict_merge(summary_grid, grid_summary)
@@ -628,9 +655,13 @@ def leed_option_one(
628
655
  # spatial daylight autonomy
629
656
  da_grids = []
630
657
  pass_sda_grids = []
658
+ pass_sda_blinds_up_grids = []
659
+ pass_sda_blinds_down_grids = []
631
660
  for grid_info in grids_info:
632
661
  light_paths = [lp[0] for lp in grid_info['light_path']]
633
662
  arrays = []
663
+ arrays_blinds_up = []
664
+ arrays_blinds_down = []
634
665
  # combine total array for all light paths
635
666
  for light_path in light_paths:
636
667
  array = results._get_array(grid_info, light_path, res_type='total')
@@ -641,19 +672,31 @@ def leed_option_one(
641
672
  shd_trans_array = states_schedule[light_path][sun_up_hours]
642
673
  shd_trans_array = shd_trans_array[occ_mask.astype(bool)]
643
674
  arrays.append(array_filter * shd_trans_array)
675
+ arrays_blinds_up.append(array_filter)
676
+ arrays_blinds_down.append(array_filter * shd_trans_dict[light_path])
644
677
  else:
645
678
  arrays.append(array_filter)
679
+ arrays_blinds_up.append(array_filter)
680
+ arrays_blinds_down.append(array_filter)
646
681
  array = sum(arrays)
682
+ array_blinds_up = sum(arrays_blinds_up)
683
+ array_blinds_down = sum(arrays_blinds_down)
647
684
  # calculate da per grid
648
685
  da_grid = da_array2d(array, total_occ=total_occ, threshold=threshold)
649
686
  da_grids.append(da_grid)
687
+ da_blinds_up_grid = da_array2d(
688
+ array_blinds_up, total_occ=total_occ, threshold=threshold)
689
+ da_blinds_down_grid = da_array2d(
690
+ array_blinds_down, total_occ=total_occ, threshold=threshold)
650
691
  # calculate sda per grid
651
- pass_sda = da_grid >= target_time
652
- pass_sda_grids.append(pass_sda)
692
+ pass_sda_grids.append(da_grid >= target_time)
693
+ pass_sda_blinds_up_grids.append(da_blinds_up_grid >= target_time)
694
+ pass_sda_blinds_down_grids.append(da_blinds_down_grid >= target_time)
653
695
 
654
696
  # create summaries for all grids and each grid individually
655
697
  summary, summary_grid = _leed_summary(
656
- pass_ase_grids, pass_sda_grids, grids_info, grid_areas=grid_areas)
698
+ pass_ase_grids, pass_sda_grids, grids_info, grid_areas,
699
+ pass_sda_blinds_up_grids, pass_sda_blinds_down_grids)
657
700
 
658
701
  # credits
659
702
  if not fail_to_comply:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: honeybee-radiance-postprocess
3
- Version: 0.4.386
3
+ Version: 0.4.388
4
4
  Summary: Postprocessing of Radiance results and matrices
5
5
  Home-page: https://github.com/ladybug-tools/honeybee-radiance-postprocess
6
6
  Author: Ladybug Tools
@@ -13,7 +13,7 @@ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
13
13
  Classifier: Operating System :: OS Independent
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
- Requires-Dist: honeybee-radiance (==1.66.68)
16
+ Requires-Dist: honeybee-radiance (==1.66.69)
17
17
  Requires-Dist: numpy (>=1.21.6)
18
18
 
19
19
  [![Build Status](https://github.com/ladybug-tools/honeybee-radiance-postprocess/actions/workflows/ci.yaml/badge.svg)](https://github.com/ladybug-tools/honeybee-radiance-postprocess/actions)
@@ -7,7 +7,7 @@ honeybee_radiance_postprocess/dynamic.py,sha256=RPJh2SsjASYJCsG5QRkazVCvzWjzMxm9
7
7
  honeybee_radiance_postprocess/electriclight.py,sha256=E7uhq7-YtZ02F9a1FbEdrXnxmYJNOFnfLF0Yw3JLQ-g,732
8
8
  honeybee_radiance_postprocess/en17037.py,sha256=5c5ahfzad12FqMwBL7c0sLOKHzLKSTXtlYFfaNhzA3w,10848
9
9
  honeybee_radiance_postprocess/helper.py,sha256=qz5kaJxzy1tGBfVYYXc2cEToOCoj0YLOtwjr3LVI3YU,9000
10
- honeybee_radiance_postprocess/leed.py,sha256=-TMQ8E5G2I5Vvt_ftLnsJUleodHwuA9wwYve4CAI0Jc,33461
10
+ honeybee_radiance_postprocess/leed.py,sha256=egdWC5nU81dlm7Xq_kKLqDWVeYdbghr2b7XZYmZ_YN0,35986
11
11
  honeybee_radiance_postprocess/metrics.py,sha256=6EHCuXf5jnhh6GglI9mTd0MFpfhfPFoKMf4b5gKRTMI,14038
12
12
  honeybee_radiance_postprocess/reader.py,sha256=6myKzfGC1pO8zPixg1kKrKjPihHabTKUh2t5BlJvij0,2367
13
13
  honeybee_radiance_postprocess/type_hints.py,sha256=4R0kZgacQrqzoh8Tq7f8MVzUDzynV-C_jlh80UV6GPE,1122
@@ -27,9 +27,9 @@ honeybee_radiance_postprocess/results/__init__.py,sha256=1agBQbfT4Tf8KqSZzlfKYX8
27
27
  honeybee_radiance_postprocess/results/annual_daylight.py,sha256=o4Y5kbD3a4X4KRfsbOlWzgrnNKU365GcivM6qQGUGXU,31605
28
28
  honeybee_radiance_postprocess/results/annual_irradiance.py,sha256=5zwrr4MNeHUebbSRpSBbscPOZUs2AHmYCQfIIbdYImY,8298
29
29
  honeybee_radiance_postprocess/results/results.py,sha256=jkjsxTuvVfBus6tM2UjQE3ZKPooLInWEd2guqO61v9E,53600
30
- honeybee_radiance_postprocess-0.4.386.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
31
- honeybee_radiance_postprocess-0.4.386.dist-info/METADATA,sha256=mibJFiUmFDj_C-lHUaMlsFb9mdaCmFwEEHE8TA2pVak,2245
32
- honeybee_radiance_postprocess-0.4.386.dist-info/WHEEL,sha256=unfA4MOaH0icIyIA5oH6E2sn2Hq5zKtLlHsWapZGwes,110
33
- honeybee_radiance_postprocess-0.4.386.dist-info/entry_points.txt,sha256=gFtVPx6UItXt27GfEZZO00eOZChJJEL6JwGSAB_O3rs,96
34
- honeybee_radiance_postprocess-0.4.386.dist-info/top_level.txt,sha256=4-sFbzy7ewP2EDqJV3jeFlAFx7SuxtoBBELWaKAnLdA,30
35
- honeybee_radiance_postprocess-0.4.386.dist-info/RECORD,,
30
+ honeybee_radiance_postprocess-0.4.388.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
31
+ honeybee_radiance_postprocess-0.4.388.dist-info/METADATA,sha256=98B03jgrde8ro4i-BEwfswmPPdHUad1tYEhXwpaoC60,2245
32
+ honeybee_radiance_postprocess-0.4.388.dist-info/WHEEL,sha256=unfA4MOaH0icIyIA5oH6E2sn2Hq5zKtLlHsWapZGwes,110
33
+ honeybee_radiance_postprocess-0.4.388.dist-info/entry_points.txt,sha256=gFtVPx6UItXt27GfEZZO00eOZChJJEL6JwGSAB_O3rs,96
34
+ honeybee_radiance_postprocess-0.4.388.dist-info/top_level.txt,sha256=4-sFbzy7ewP2EDqJV3jeFlAFx7SuxtoBBELWaKAnLdA,30
35
+ honeybee_radiance_postprocess-0.4.388.dist-info/RECORD,,