honeybee-radiance-postprocess 0.4.497__tar.gz → 0.4.498__tar.gz

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.
Files changed (60) hide show
  1. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/PKG-INFO +1 -1
  2. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/breeam.py +1 -1
  3. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/leed.py +47 -0
  4. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/leed/leed.py +21 -0
  5. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/metrics.py +7 -2
  6. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess.egg-info/PKG-INFO +1 -1
  7. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/CODE_OF_CONDUCT.md +0 -0
  8. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/CONTRIBUTING.md +0 -0
  9. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/LICENSE +0 -0
  10. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/MANIFEST.in +0 -0
  11. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/README.md +0 -0
  12. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/dev-requirements.txt +0 -0
  13. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/__init__.py +0 -0
  14. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/__main__.py +0 -0
  15. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/annual.py +0 -0
  16. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/annualdaylight.py +0 -0
  17. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/annualirradiance.py +0 -0
  18. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/breeam/__init__.py +0 -0
  19. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/breeam/breeam.py +0 -0
  20. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/__init__.py +0 -0
  21. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/abnt.py +0 -0
  22. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/datacollection.py +0 -0
  23. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/grid.py +0 -0
  24. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/merge.py +0 -0
  25. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/mtxop.py +0 -0
  26. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/postprocess.py +0 -0
  27. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/schedule.py +0 -0
  28. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/translate.py +0 -0
  29. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/two_phase.py +0 -0
  30. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/util.py +0 -0
  31. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/viewfactor.py +0 -0
  32. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/cli/well.py +0 -0
  33. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/data_type.py +0 -0
  34. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/dynamic.py +0 -0
  35. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/electriclight.py +0 -0
  36. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/en17037.py +0 -0
  37. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/helper.py +0 -0
  38. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/ies/__init__.py +0 -0
  39. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/ies/lm.py +0 -0
  40. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/ies/lm_schedule.py +0 -0
  41. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/leed/__init__.py +0 -0
  42. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/leed/leed_schedule.py +0 -0
  43. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/reader.py +0 -0
  44. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/results/__init__.py +0 -0
  45. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/results/annual_daylight.py +0 -0
  46. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/results/annual_irradiance.py +0 -0
  47. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/results/results.py +0 -0
  48. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/type_hints.py +0 -0
  49. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/util.py +0 -0
  50. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/vis_metadata.py +0 -0
  51. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/well/__init__.py +0 -0
  52. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess/well/well.py +0 -0
  53. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess.egg-info/SOURCES.txt +0 -0
  54. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess.egg-info/dependency_links.txt +0 -0
  55. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess.egg-info/entry_points.txt +0 -0
  56. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess.egg-info/requires.txt +0 -0
  57. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/honeybee_radiance_postprocess.egg-info/top_level.txt +0 -0
  58. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/requirements.txt +0 -0
  59. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/setup.cfg +0 -0
  60. {honeybee_radiance_postprocess-0.4.497 → honeybee_radiance_postprocess-0.4.498}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: honeybee-radiance-postprocess
3
- Version: 0.4.497
3
+ Version: 0.4.498
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
@@ -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(240, 170, 130), Color(250, 200, 170), Color(0, 220, 0)]
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 NumPy float of the ASE as a percentage (decimal).
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 > occ_hours).sum() / array.shape[0] * 100
307
+ ase = (h_above >= occ_hours).sum() / array.shape[0] * 100
303
308
 
304
309
  return ase, h_above
305
310
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: honeybee-radiance-postprocess
3
- Version: 0.4.497
3
+ Version: 0.4.498
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