honeybee-radiance-postprocess 0.4.496__py2.py3-none-any.whl → 0.4.497__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/breeam/breeam.py +27 -4
- honeybee_radiance_postprocess/cli/breeam.py +44 -0
- honeybee_radiance_postprocess/cli/well.py +1 -1
- {honeybee_radiance_postprocess-0.4.496.dist-info → honeybee_radiance_postprocess-0.4.497.dist-info}/METADATA +1 -1
- {honeybee_radiance_postprocess-0.4.496.dist-info → honeybee_radiance_postprocess-0.4.497.dist-info}/RECORD +9 -9
- {honeybee_radiance_postprocess-0.4.496.dist-info → honeybee_radiance_postprocess-0.4.497.dist-info}/LICENSE +0 -0
- {honeybee_radiance_postprocess-0.4.496.dist-info → honeybee_radiance_postprocess-0.4.497.dist-info}/WHEEL +0 -0
- {honeybee_radiance_postprocess-0.4.496.dist-info → honeybee_radiance_postprocess-0.4.497.dist-info}/entry_points.txt +0 -0
- {honeybee_radiance_postprocess-0.4.496.dist-info → honeybee_radiance_postprocess-0.4.497.dist-info}/top_level.txt +0 -0
@@ -396,6 +396,10 @@ def breeam_daylight_assessment_4b(
|
|
396
396
|
metrics_summary['comply'] = True
|
397
397
|
else:
|
398
398
|
metrics_summary['comply'] = False
|
399
|
+
metrics_summary['average-comply'] = True if avg_comply else False
|
400
|
+
metrics_summary['minimum-comply'] = True if minimum_comply else False
|
401
|
+
|
402
|
+
metrics_summary['count'] = grid_info['count']
|
399
403
|
|
400
404
|
type_summary[program_type][grid_info['full_id']].append(metrics_summary)
|
401
405
|
|
@@ -467,12 +471,31 @@ def breeam_daylight_assessment_4b(
|
|
467
471
|
credit_summary.append(_building_type_summary)
|
468
472
|
|
469
473
|
if sub_folder:
|
470
|
-
|
471
|
-
|
474
|
+
sub_folder = Path(sub_folder)
|
475
|
+
sub_folder.mkdir(parents=True, exist_ok=True)
|
472
476
|
|
473
|
-
credit_summary_file =
|
477
|
+
credit_summary_file = sub_folder.joinpath('summary.json')
|
474
478
|
credit_summary_file.write_text(json.dumps(credit_summary, indent=2))
|
475
|
-
program_summary_file =
|
479
|
+
program_summary_file = sub_folder.joinpath('program_summary.json')
|
476
480
|
program_summary_file.write_text(json.dumps(program_summary, indent=2))
|
477
481
|
|
482
|
+
pf_folder = sub_folder.joinpath('pass_fail')
|
483
|
+
pf_folder.mkdir(parents=True, exist_ok=True)
|
484
|
+
grids_info_file = pf_folder.joinpath('grids_info.json')
|
485
|
+
grids_info_file.write_text(json.dumps(grids_info, indent=2))
|
486
|
+
for program_type, grid_summary in type_summary.items():
|
487
|
+
for grid_id, metrics_list in grid_summary.items():
|
488
|
+
fill_value = 0
|
489
|
+
for metric in metrics_list:
|
490
|
+
if metric['comply']:
|
491
|
+
fill_value = 3
|
492
|
+
break
|
493
|
+
elif metric['average-comply']:
|
494
|
+
fill_value = 2
|
495
|
+
elif metric['minimum-comply']:
|
496
|
+
fill_value = 1
|
497
|
+
pf_file = pf_folder.joinpath(f'{grid_id}.pf')
|
498
|
+
pf_array = np.full(metric['count'], fill_value)
|
499
|
+
np.savetxt(pf_file, pf_array, fmt='%d')
|
500
|
+
|
478
501
|
return credit_summary, program_summary
|
@@ -2,8 +2,14 @@
|
|
2
2
|
import sys
|
3
3
|
import logging
|
4
4
|
from pathlib import Path
|
5
|
+
import os
|
6
|
+
import json
|
5
7
|
import click
|
6
8
|
|
9
|
+
from ladybug.color import Color
|
10
|
+
from ladybug.datatype.generic import GenericType
|
11
|
+
from ladybug.legend import LegendParameters
|
12
|
+
|
7
13
|
from honeybee_radiance_postprocess.breeam.breeam import breeam_daylight_assessment_4b
|
8
14
|
|
9
15
|
_logger = logging.getLogger(__name__)
|
@@ -45,3 +51,41 @@ def breeam_4b(
|
|
45
51
|
sys.exit(1)
|
46
52
|
else:
|
47
53
|
sys.exit(0)
|
54
|
+
|
55
|
+
|
56
|
+
@breeam.command('breeam-4b-vis-metadata')
|
57
|
+
@click.option(
|
58
|
+
'--output-folder', '-o', help='Output folder for vis metadata files.',
|
59
|
+
type=click.Path(exists=False, file_okay=False, dir_okay=True, resolve_path=True),
|
60
|
+
default='visualization', show_default=True
|
61
|
+
)
|
62
|
+
def breeam_4b_vis(output_folder):
|
63
|
+
"""Write visualization metadata files for BREEAM 4b."""
|
64
|
+
colors = [Color(220, 0, 0), Color(240, 170, 130), Color(250, 200, 170), Color(0, 220, 0)]
|
65
|
+
pass_fail_lpar = \
|
66
|
+
LegendParameters(min=0, max=3, colors=colors, segment_count=4, title='Pass/Fail')
|
67
|
+
pass_fail_lpar.ordinal_dictionary = {
|
68
|
+
0: 'Fail', 1: 'Min. illuminance only', 2: 'Avg. illuminance only', 3: 'Pass'}
|
69
|
+
|
70
|
+
metric_info_dict = {
|
71
|
+
'pass_fail': {
|
72
|
+
'type': 'VisualizationMetaData',
|
73
|
+
'data_type': GenericType('Pass/Fail', '').to_dict(),
|
74
|
+
'unit': '',
|
75
|
+
'legend_parameters': pass_fail_lpar.to_dict()
|
76
|
+
}
|
77
|
+
}
|
78
|
+
try:
|
79
|
+
if not os.path.exists(output_folder):
|
80
|
+
os.mkdir(output_folder)
|
81
|
+
for metric, data in metric_info_dict.items():
|
82
|
+
if not os.path.exists(os.path.join(output_folder, metric)):
|
83
|
+
os.mkdir(os.path.join(output_folder, metric))
|
84
|
+
file_path = os.path.join(output_folder, metric, 'vis_metadata.json')
|
85
|
+
with open(file_path, 'w') as fp:
|
86
|
+
json.dump(data, fp, indent=4)
|
87
|
+
except Exception:
|
88
|
+
_logger.exception('Failed to write the visualization metadata files.')
|
89
|
+
sys.exit(1)
|
90
|
+
else:
|
91
|
+
sys.exit(0)
|
@@ -14,10 +14,10 @@ honeybee_radiance_postprocess/type_hints.py,sha256=4R0kZgacQrqzoh8Tq7f8MVzUDzynV
|
|
14
14
|
honeybee_radiance_postprocess/util.py,sha256=uxqop4TsUMp8l8iLQf784NJINprHCgj00GZHvTth1C0,5603
|
15
15
|
honeybee_radiance_postprocess/vis_metadata.py,sha256=7ywIgdiuNKcctxifhpy7-Q2oaSX2ngQBeA0Kh7q1Gg0,1780
|
16
16
|
honeybee_radiance_postprocess/breeam/__init__.py,sha256=kQXElEqFnLGNnrMSpA51XDHoqBup849FHeAqWASIy6w,45
|
17
|
-
honeybee_radiance_postprocess/breeam/breeam.py,sha256=
|
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=SC7qM1ryPuvP8aDfHuj6qRfWxY1PhExOaSL7mjl12Mc,3147
|
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
23
|
honeybee_radiance_postprocess/cli/leed.py,sha256=bxGX2UBehYNcaPJWHL2yEasSP6dATD7B0aNNQOflqqM,3712
|
@@ -29,7 +29,7 @@ honeybee_radiance_postprocess/cli/translate.py,sha256=rwUjjDK_Ttjen4ooAMvugyDN5x
|
|
29
29
|
honeybee_radiance_postprocess/cli/two_phase.py,sha256=xA6ayPv26DM5fuMkLhBMYGklf_j5ymowmncwJGXRgo8,7034
|
30
30
|
honeybee_radiance_postprocess/cli/util.py,sha256=Be9cGmYhcV2W37ma6SgQPCWCpWLLLlroxRYN_l58kY0,4077
|
31
31
|
honeybee_radiance_postprocess/cli/viewfactor.py,sha256=kU36YRzLya5PReYREjTfw3zOcWKHYZjVlVclyuR7Cqk,5245
|
32
|
-
honeybee_radiance_postprocess/cli/well.py,sha256=
|
32
|
+
honeybee_radiance_postprocess/cli/well.py,sha256=wWz-aWon4E_tLar0mepolW8WJdk6hF869wZPZSkbNrE,3772
|
33
33
|
honeybee_radiance_postprocess/ies/__init__.py,sha256=kQXElEqFnLGNnrMSpA51XDHoqBup849FHeAqWASIy6w,45
|
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
|
@@ -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.497.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
46
|
+
honeybee_radiance_postprocess-0.4.497.dist-info/METADATA,sha256=k0n7qpu61YLso-VOa_2PnLI4o0pqepFoUXinVEgJwgY,2238
|
47
|
+
honeybee_radiance_postprocess-0.4.497.dist-info/WHEEL,sha256=AHX6tWk3qWuce7vKLrj7lnulVHEdWoltgauo8bgCXgU,109
|
48
|
+
honeybee_radiance_postprocess-0.4.497.dist-info/entry_points.txt,sha256=gFtVPx6UItXt27GfEZZO00eOZChJJEL6JwGSAB_O3rs,96
|
49
|
+
honeybee_radiance_postprocess-0.4.497.dist-info/top_level.txt,sha256=4-sFbzy7ewP2EDqJV3jeFlAFx7SuxtoBBELWaKAnLdA,30
|
50
|
+
honeybee_radiance_postprocess-0.4.497.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|