honeybee-radiance-postprocess 0.4.386__py2.py3-none-any.whl → 0.4.387__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.
- honeybee_radiance_postprocess/leed.py +59 -16
- {honeybee_radiance_postprocess-0.4.386.dist-info → honeybee_radiance_postprocess-0.4.387.dist-info}/METADATA +1 -1
- {honeybee_radiance_postprocess-0.4.386.dist-info → honeybee_radiance_postprocess-0.4.387.dist-info}/RECORD +7 -7
- {honeybee_radiance_postprocess-0.4.386.dist-info → honeybee_radiance_postprocess-0.4.387.dist-info}/LICENSE +0 -0
- {honeybee_radiance_postprocess-0.4.386.dist-info → honeybee_radiance_postprocess-0.4.387.dist-info}/WHEEL +0 -0
- {honeybee_radiance_postprocess-0.4.386.dist-info → honeybee_radiance_postprocess-0.4.387.dist-info}/entry_points.txt +0 -0
- {honeybee_radiance_postprocess-0.4.386.dist-info → honeybee_radiance_postprocess-0.4.387.dist-info}/top_level.txt +0 -0
@@ -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,
|
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
|
94
|
-
|
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
|
119
|
-
|
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,
|
129
|
-
|
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
|
149
|
-
|
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,
|
159
|
-
|
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
|
-
|
652
|
-
|
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
|
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:
|
@@ -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
|
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.
|
31
|
-
honeybee_radiance_postprocess-0.4.
|
32
|
-
honeybee_radiance_postprocess-0.4.
|
33
|
-
honeybee_radiance_postprocess-0.4.
|
34
|
-
honeybee_radiance_postprocess-0.4.
|
35
|
-
honeybee_radiance_postprocess-0.4.
|
30
|
+
honeybee_radiance_postprocess-0.4.387.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
31
|
+
honeybee_radiance_postprocess-0.4.387.dist-info/METADATA,sha256=dg1xvqmzHgPcqY6vdOLB_4P3Qt0pCMFL8cmjfdCScBM,2245
|
32
|
+
honeybee_radiance_postprocess-0.4.387.dist-info/WHEEL,sha256=unfA4MOaH0icIyIA5oH6E2sn2Hq5zKtLlHsWapZGwes,110
|
33
|
+
honeybee_radiance_postprocess-0.4.387.dist-info/entry_points.txt,sha256=gFtVPx6UItXt27GfEZZO00eOZChJJEL6JwGSAB_O3rs,96
|
34
|
+
honeybee_radiance_postprocess-0.4.387.dist-info/top_level.txt,sha256=4-sFbzy7ewP2EDqJV3jeFlAFx7SuxtoBBELWaKAnLdA,30
|
35
|
+
honeybee_radiance_postprocess-0.4.387.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|