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.
@@ -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
- folder = Path(sub_folder)
471
- folder.mkdir(parents=True, exist_ok=True)
474
+ sub_folder = Path(sub_folder)
475
+ sub_folder.mkdir(parents=True, exist_ok=True)
472
476
 
473
- credit_summary_file = folder.joinpath('summary.json')
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 = folder.joinpath('program_summary.json')
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)
@@ -1,9 +1,9 @@
1
1
  """honeybee-radiance-postprocess WELL commands."""
2
2
  import sys
3
3
  import logging
4
- import click
5
4
  import json
6
5
  import os
6
+ import click
7
7
 
8
8
  from ladybug.color import Color
9
9
  from ladybug.datatype.generic import GenericType
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: honeybee-radiance-postprocess
3
- Version: 0.4.496
3
+ Version: 0.4.497
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
@@ -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=CqHfyeA8m-ZSO22DQcKu2TK9lEeyBP7hX639rDYUW4g,17118
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=kBe36uCLcbk-y-hmZwKXquG-wVeFJbU9bEGv2x3bgm4,1442
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=b9ebwF4zyHGk9MUhbghj34BEJHryJMaPebZ3sd89FWQ,3772
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.496.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
46
- honeybee_radiance_postprocess-0.4.496.dist-info/METADATA,sha256=3lzksacDnCpTpEwdxDU9s5CxAo1Zmxupu8PtOLUtl-A,2238
47
- honeybee_radiance_postprocess-0.4.496.dist-info/WHEEL,sha256=AHX6tWk3qWuce7vKLrj7lnulVHEdWoltgauo8bgCXgU,109
48
- honeybee_radiance_postprocess-0.4.496.dist-info/entry_points.txt,sha256=gFtVPx6UItXt27GfEZZO00eOZChJJEL6JwGSAB_O3rs,96
49
- honeybee_radiance_postprocess-0.4.496.dist-info/top_level.txt,sha256=4-sFbzy7ewP2EDqJV3jeFlAFx7SuxtoBBELWaKAnLdA,30
50
- honeybee_radiance_postprocess-0.4.496.dist-info/RECORD,,
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,,