honeybee-radiance-postprocess 0.4.497__py2.py3-none-any.whl → 0.4.498__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/cli/breeam.py +1 -1
- honeybee_radiance_postprocess/cli/leed.py +47 -0
- honeybee_radiance_postprocess/leed/leed.py +21 -0
- honeybee_radiance_postprocess/metrics.py +7 -2
- {honeybee_radiance_postprocess-0.4.497.dist-info → honeybee_radiance_postprocess-0.4.498.dist-info}/METADATA +1 -1
- {honeybee_radiance_postprocess-0.4.497.dist-info → honeybee_radiance_postprocess-0.4.498.dist-info}/RECORD +10 -10
- {honeybee_radiance_postprocess-0.4.497.dist-info → honeybee_radiance_postprocess-0.4.498.dist-info}/LICENSE +0 -0
- {honeybee_radiance_postprocess-0.4.497.dist-info → honeybee_radiance_postprocess-0.4.498.dist-info}/WHEEL +0 -0
- {honeybee_radiance_postprocess-0.4.497.dist-info → honeybee_radiance_postprocess-0.4.498.dist-info}/entry_points.txt +0 -0
- {honeybee_radiance_postprocess-0.4.497.dist-info → honeybee_radiance_postprocess-0.4.498.dist-info}/top_level.txt +0 -0
@@ -61,7 +61,7 @@ def breeam_4b(
|
|
61
61
|
)
|
62
62
|
def breeam_4b_vis(output_folder):
|
63
63
|
"""Write visualization metadata files for BREEAM 4b."""
|
64
|
-
colors = [Color(220, 0, 0), Color(
|
64
|
+
colors = [Color(220, 0, 0), Color(220, 110, 25), Color(255, 190, 0), Color(0, 220, 0)]
|
65
65
|
pass_fail_lpar = \
|
66
66
|
LegendParameters(min=0, max=3, colors=colors, segment_count=4, title='Pass/Fail')
|
67
67
|
pass_fail_lpar.ordinal_dictionary = {
|
@@ -5,6 +5,10 @@ import logging
|
|
5
5
|
import os
|
6
6
|
import click
|
7
7
|
|
8
|
+
from ladybug.color import Color
|
9
|
+
from ladybug.datatype.generic import GenericType
|
10
|
+
from ladybug.legend import LegendParameters
|
11
|
+
|
8
12
|
from ..leed.leed import leed_option_one
|
9
13
|
from ..results.annual_daylight import AnnualDaylight
|
10
14
|
|
@@ -94,3 +98,46 @@ def daylight_option_one(
|
|
94
98
|
sys.exit(1)
|
95
99
|
else:
|
96
100
|
sys.exit(0)
|
101
|
+
|
102
|
+
|
103
|
+
@leed.command('leed-daylight-option-one-vis-metadata')
|
104
|
+
@click.option(
|
105
|
+
'--output-folder', '-o', help='Output folder for vis metadata files.',
|
106
|
+
type=click.Path(exists=False, file_okay=False, dir_okay=True, resolve_path=True),
|
107
|
+
default='visualization', show_default=True
|
108
|
+
)
|
109
|
+
def leed_daylight_optione_one_vis(output_folder):
|
110
|
+
"""Write visualization metadata files for LEED Daylight Option I."""
|
111
|
+
colors = [Color(220, 0, 0), Color(0, 220, 0)]
|
112
|
+
pass_fail_lpar = \
|
113
|
+
LegendParameters(min=0, max=1, colors=colors, segment_count=2, title='Pass/Fail')
|
114
|
+
pass_fail_lpar.ordinal_dictionary = {0: "Fail", 1: "Pass"}
|
115
|
+
|
116
|
+
metric_info_dict = {
|
117
|
+
'DA': {
|
118
|
+
'type': 'VisualizationMetaData',
|
119
|
+
'data_type': GenericType('DA300,50%', '').to_dict(),
|
120
|
+
'unit': '',
|
121
|
+
'legend_parameters': pass_fail_lpar.to_dict()
|
122
|
+
},
|
123
|
+
'ASE': {
|
124
|
+
'type': 'VisualizationMetaData',
|
125
|
+
'data_type': GenericType('ASE1000,250hrs', '').to_dict(),
|
126
|
+
'unit': '',
|
127
|
+
'legend_parameters': pass_fail_lpar.to_dict()
|
128
|
+
}
|
129
|
+
}
|
130
|
+
try:
|
131
|
+
if not os.path.exists(output_folder):
|
132
|
+
os.mkdir(output_folder)
|
133
|
+
for metric, data in metric_info_dict.items():
|
134
|
+
if not os.path.exists(os.path.join(output_folder, metric)):
|
135
|
+
os.mkdir(os.path.join(output_folder, metric))
|
136
|
+
file_path = os.path.join(output_folder, metric, 'vis_metadata.json')
|
137
|
+
with open(file_path, 'w') as fp:
|
138
|
+
json.dump(data, fp, indent=4)
|
139
|
+
except Exception:
|
140
|
+
_logger.exception('Failed to write the visualization metadata files.')
|
141
|
+
sys.exit(1)
|
142
|
+
else:
|
143
|
+
sys.exit(0)
|
@@ -740,6 +740,27 @@ def leed_option_one(
|
|
740
740
|
folder.joinpath('states_schedule_err.json')
|
741
741
|
states_schedule_err_file.write_text(json.dumps(fail_to_comply))
|
742
742
|
|
743
|
+
pf_folder = folder.joinpath('pass_fail')
|
744
|
+
pf_folder.mkdir(parents=True, exist_ok=True)
|
745
|
+
for pass_sda_grid, pass_ase_grid, grid_info in zip(
|
746
|
+
pass_sda_grids, pass_ase_grids, grids_info):
|
747
|
+
grid_id = grid_info['full_id']
|
748
|
+
da_pf_folder = pf_folder.joinpath('DA')
|
749
|
+
da_pf_folder.mkdir(parents=True, exist_ok=True)
|
750
|
+
da_pf_file = da_pf_folder.joinpath(f'{grid_id}.pf')
|
751
|
+
pass_sda_grid = pass_sda_grid.astype(int)
|
752
|
+
np.savetxt(da_pf_file, pass_sda_grid, fmt='%d')
|
753
|
+
grids_info_file = da_pf_folder.joinpath('grids_info.json')
|
754
|
+
grids_info_file.write_text(json.dumps(grids_info, indent=2))
|
755
|
+
|
756
|
+
ase_pf_folder = pf_folder.joinpath('ASE')
|
757
|
+
ase_pf_folder.mkdir(parents=True, exist_ok=True)
|
758
|
+
ase_pf_file = ase_pf_folder.joinpath(f'{grid_id}.pf')
|
759
|
+
pass_ase_grid = pass_ase_grid.astype(int)
|
760
|
+
np.savetxt(ase_pf_file, pass_ase_grid, fmt='%d')
|
761
|
+
grids_info_file = ase_pf_folder.joinpath('grids_info.json')
|
762
|
+
grids_info_file.write_text(json.dumps(grids_info, indent=2))
|
763
|
+
|
743
764
|
return (summary, summary_grid, da_grids, hours_above, states_schedule,
|
744
765
|
fail_to_comply, grids_info)
|
745
766
|
|
@@ -295,11 +295,16 @@ def ase_array2d(
|
|
295
295
|
Defaults to 1000.
|
296
296
|
|
297
297
|
Returns:
|
298
|
-
A
|
298
|
+
A Tuple with two values.
|
299
|
+
|
300
|
+
- ase: NumPy float of the ASE as a percentage (decimal).
|
301
|
+
|
302
|
+
- h_above: 1D NumPy array of the number of hours above the direct
|
303
|
+
threshold.
|
299
304
|
"""
|
300
305
|
check_array_dim(array, 2)
|
301
306
|
h_above = (array > direct_threshold).sum(axis=1)
|
302
|
-
ase = (h_above
|
307
|
+
ase = (h_above >= occ_hours).sum() / array.shape[0] * 100
|
303
308
|
|
304
309
|
return ase, h_above
|
305
310
|
|
@@ -8,7 +8,7 @@ honeybee_radiance_postprocess/dynamic.py,sha256=RPJh2SsjASYJCsG5QRkazVCvzWjzMxm9
|
|
8
8
|
honeybee_radiance_postprocess/electriclight.py,sha256=E7uhq7-YtZ02F9a1FbEdrXnxmYJNOFnfLF0Yw3JLQ-g,732
|
9
9
|
honeybee_radiance_postprocess/en17037.py,sha256=h3W1ewnVsLSBamArowMkQKYaJfpKV8updJxQuTkB31k,10800
|
10
10
|
honeybee_radiance_postprocess/helper.py,sha256=qz5kaJxzy1tGBfVYYXc2cEToOCoj0YLOtwjr3LVI3YU,9000
|
11
|
-
honeybee_radiance_postprocess/metrics.py,sha256=
|
11
|
+
honeybee_radiance_postprocess/metrics.py,sha256=yrUbdUfqQHWr2lGPhG9BRtG7eHbEaOrrjH9kAkL-6RA,14180
|
12
12
|
honeybee_radiance_postprocess/reader.py,sha256=p4A91amyCI16lRRn0bhZdInsg-qJV0Jas3v4YVhRx-4,2674
|
13
13
|
honeybee_radiance_postprocess/type_hints.py,sha256=4R0kZgacQrqzoh8Tq7f8MVzUDzynV-C_jlh80UV6GPE,1122
|
14
14
|
honeybee_radiance_postprocess/util.py,sha256=uxqop4TsUMp8l8iLQf784NJINprHCgj00GZHvTth1C0,5603
|
@@ -17,10 +17,10 @@ honeybee_radiance_postprocess/breeam/__init__.py,sha256=kQXElEqFnLGNnrMSpA51XDHo
|
|
17
17
|
honeybee_radiance_postprocess/breeam/breeam.py,sha256=0krsh8gIRpTTSi86GnAIpCIYkvWy0bi6WwJjz-co53o,18279
|
18
18
|
honeybee_radiance_postprocess/cli/__init__.py,sha256=_mYHnIOpH0qJ4QK56SB3qUT2Duuts2GR2U_0t_uE-2s,958
|
19
19
|
honeybee_radiance_postprocess/cli/abnt.py,sha256=RmEjhxdEK6Uks3S10rQs6n8cup9qv036qRwh_wj1taA,15705
|
20
|
-
honeybee_radiance_postprocess/cli/breeam.py,sha256
|
20
|
+
honeybee_radiance_postprocess/cli/breeam.py,sha256=-mkQDUgFksfPiZwMgbp4i-qh2PYzl-hGc7LFmsVpS90,3144
|
21
21
|
honeybee_radiance_postprocess/cli/datacollection.py,sha256=Wb3UX03uW4OUZP7jWHftKfdf3aO_FSXjrnrziR3taf0,4541
|
22
22
|
honeybee_radiance_postprocess/cli/grid.py,sha256=gqnU3-HdggWCUg9mA1RLZJYHM7tH0v6r2E_X2SSkAig,11256
|
23
|
-
honeybee_radiance_postprocess/cli/leed.py,sha256=
|
23
|
+
honeybee_radiance_postprocess/cli/leed.py,sha256=vup_tVcSnSO5R7U_WPVDAhtSSRrPzTUgV4j9lyxvxEk,5546
|
24
24
|
honeybee_radiance_postprocess/cli/merge.py,sha256=oOqqud3VSo-3f3coDoUILcp78OI4DKxXLWCS1bi3PC4,5752
|
25
25
|
honeybee_radiance_postprocess/cli/mtxop.py,sha256=UZJnjNpPjDmShy1-Mxos4H2vTUqk_yP3ZyaC1_LLFeI,5015
|
26
26
|
honeybee_radiance_postprocess/cli/postprocess.py,sha256=ZN7G79gDq3Dag2vUwliFWxxZp-gk3ON2sIm9RSwCXDw,39317
|
@@ -34,7 +34,7 @@ honeybee_radiance_postprocess/ies/__init__.py,sha256=kQXElEqFnLGNnrMSpA51XDHoqBu
|
|
34
34
|
honeybee_radiance_postprocess/ies/lm.py,sha256=6f1LDiAWGEX7IvU8OavGC6POlXpgpYp_QFBCHhowo0s,9370
|
35
35
|
honeybee_radiance_postprocess/ies/lm_schedule.py,sha256=ci58GXq2PntJ4yNUdI_x4UCRmq6KrLes-u7GeboX058,9954
|
36
36
|
honeybee_radiance_postprocess/leed/__init__.py,sha256=kQXElEqFnLGNnrMSpA51XDHoqBup849FHeAqWASIy6w,45
|
37
|
-
honeybee_radiance_postprocess/leed/leed.py,sha256
|
37
|
+
honeybee_radiance_postprocess/leed/leed.py,sha256=-oHi5dxPeJQaWBL7BKyK_ZxxMehQuoVcgQyWMQdq8EA,35383
|
38
38
|
honeybee_radiance_postprocess/leed/leed_schedule.py,sha256=s3by1sv1DtOlCawvaMvnIDvEo5D8ATEJvWQ_rEeJIHg,9956
|
39
39
|
honeybee_radiance_postprocess/results/__init__.py,sha256=1agBQbfT4Tf8KqSZzlfKYX8MeZryY4jJ1KB4HWqaDDk,182
|
40
40
|
honeybee_radiance_postprocess/results/annual_daylight.py,sha256=11d4J1iIuITKuoWyWa-2_2WdrHYBULC0YP-mWBWi4JQ,34724
|
@@ -42,9 +42,9 @@ honeybee_radiance_postprocess/results/annual_irradiance.py,sha256=5zwrr4MNeHUebb
|
|
42
42
|
honeybee_radiance_postprocess/results/results.py,sha256=8wpxu6HBnrJXRoTkI7ucNuzhVmNKw1Z2zPP6wzk7ULQ,55236
|
43
43
|
honeybee_radiance_postprocess/well/__init__.py,sha256=kQXElEqFnLGNnrMSpA51XDHoqBup849FHeAqWASIy6w,45
|
44
44
|
honeybee_radiance_postprocess/well/well.py,sha256=Fs81hs5e2UaVo2hlbHiRsxiSQHfSMvCt6ZT1a4psF9E,22350
|
45
|
-
honeybee_radiance_postprocess-0.4.
|
46
|
-
honeybee_radiance_postprocess-0.4.
|
47
|
-
honeybee_radiance_postprocess-0.4.
|
48
|
-
honeybee_radiance_postprocess-0.4.
|
49
|
-
honeybee_radiance_postprocess-0.4.
|
50
|
-
honeybee_radiance_postprocess-0.4.
|
45
|
+
honeybee_radiance_postprocess-0.4.498.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
46
|
+
honeybee_radiance_postprocess-0.4.498.dist-info/METADATA,sha256=Q_ZOGRSPF9lW9nW6RDHk9HyFY5WKvHQ06c-oqRh3doM,2238
|
47
|
+
honeybee_radiance_postprocess-0.4.498.dist-info/WHEEL,sha256=AHX6tWk3qWuce7vKLrj7lnulVHEdWoltgauo8bgCXgU,109
|
48
|
+
honeybee_radiance_postprocess-0.4.498.dist-info/entry_points.txt,sha256=gFtVPx6UItXt27GfEZZO00eOZChJJEL6JwGSAB_O3rs,96
|
49
|
+
honeybee_radiance_postprocess-0.4.498.dist-info/top_level.txt,sha256=4-sFbzy7ewP2EDqJV3jeFlAFx7SuxtoBBELWaKAnLdA,30
|
50
|
+
honeybee_radiance_postprocess-0.4.498.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|