honeybee-energy 1.116.106__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.
Files changed (162) hide show
  1. honeybee_energy/__init__.py +24 -0
  2. honeybee_energy/__main__.py +4 -0
  3. honeybee_energy/_extend_honeybee.py +145 -0
  4. honeybee_energy/altnumber.py +21 -0
  5. honeybee_energy/baseline/__init__.py +2 -0
  6. honeybee_energy/baseline/create.py +608 -0
  7. honeybee_energy/baseline/data/__init__.py +1 -0
  8. honeybee_energy/baseline/data/constructions.csv +64 -0
  9. honeybee_energy/baseline/data/fen_ratios.csv +15 -0
  10. honeybee_energy/baseline/data/lpd_building.csv +21 -0
  11. honeybee_energy/baseline/data/pci_2016.csv +22 -0
  12. honeybee_energy/baseline/data/pci_2019.csv +22 -0
  13. honeybee_energy/baseline/data/pci_2022.csv +22 -0
  14. honeybee_energy/baseline/data/shw.csv +21 -0
  15. honeybee_energy/baseline/pci.py +512 -0
  16. honeybee_energy/baseline/result.py +371 -0
  17. honeybee_energy/boundarycondition.py +128 -0
  18. honeybee_energy/cli/__init__.py +69 -0
  19. honeybee_energy/cli/baseline.py +475 -0
  20. honeybee_energy/cli/edit.py +327 -0
  21. honeybee_energy/cli/lib.py +1154 -0
  22. honeybee_energy/cli/result.py +810 -0
  23. honeybee_energy/cli/setconfig.py +124 -0
  24. honeybee_energy/cli/settings.py +569 -0
  25. honeybee_energy/cli/simulate.py +380 -0
  26. honeybee_energy/cli/translate.py +1714 -0
  27. honeybee_energy/cli/validate.py +224 -0
  28. honeybee_energy/config.json +11 -0
  29. honeybee_energy/config.py +842 -0
  30. honeybee_energy/construction/__init__.py +1 -0
  31. honeybee_energy/construction/_base.py +374 -0
  32. honeybee_energy/construction/air.py +325 -0
  33. honeybee_energy/construction/dictutil.py +89 -0
  34. honeybee_energy/construction/dynamic.py +607 -0
  35. honeybee_energy/construction/opaque.py +460 -0
  36. honeybee_energy/construction/shade.py +319 -0
  37. honeybee_energy/construction/window.py +1096 -0
  38. honeybee_energy/construction/windowshade.py +847 -0
  39. honeybee_energy/constructionset.py +1655 -0
  40. honeybee_energy/dictutil.py +56 -0
  41. honeybee_energy/generator/__init__.py +5 -0
  42. honeybee_energy/generator/loadcenter.py +204 -0
  43. honeybee_energy/generator/pv.py +535 -0
  44. honeybee_energy/hvac/__init__.py +21 -0
  45. honeybee_energy/hvac/_base.py +124 -0
  46. honeybee_energy/hvac/_template.py +270 -0
  47. honeybee_energy/hvac/allair/__init__.py +22 -0
  48. honeybee_energy/hvac/allair/_base.py +349 -0
  49. honeybee_energy/hvac/allair/furnace.py +168 -0
  50. honeybee_energy/hvac/allair/psz.py +131 -0
  51. honeybee_energy/hvac/allair/ptac.py +163 -0
  52. honeybee_energy/hvac/allair/pvav.py +109 -0
  53. honeybee_energy/hvac/allair/vav.py +128 -0
  54. honeybee_energy/hvac/detailed.py +337 -0
  55. honeybee_energy/hvac/doas/__init__.py +28 -0
  56. honeybee_energy/hvac/doas/_base.py +345 -0
  57. honeybee_energy/hvac/doas/fcu.py +127 -0
  58. honeybee_energy/hvac/doas/radiant.py +329 -0
  59. honeybee_energy/hvac/doas/vrf.py +81 -0
  60. honeybee_energy/hvac/doas/wshp.py +91 -0
  61. honeybee_energy/hvac/heatcool/__init__.py +23 -0
  62. honeybee_energy/hvac/heatcool/_base.py +177 -0
  63. honeybee_energy/hvac/heatcool/baseboard.py +61 -0
  64. honeybee_energy/hvac/heatcool/evapcool.py +72 -0
  65. honeybee_energy/hvac/heatcool/fcu.py +92 -0
  66. honeybee_energy/hvac/heatcool/gasunit.py +53 -0
  67. honeybee_energy/hvac/heatcool/radiant.py +269 -0
  68. honeybee_energy/hvac/heatcool/residential.py +77 -0
  69. honeybee_energy/hvac/heatcool/vrf.py +54 -0
  70. honeybee_energy/hvac/heatcool/windowac.py +70 -0
  71. honeybee_energy/hvac/heatcool/wshp.py +62 -0
  72. honeybee_energy/hvac/idealair.py +699 -0
  73. honeybee_energy/internalmass.py +310 -0
  74. honeybee_energy/lib/__init__.py +1 -0
  75. honeybee_energy/lib/_loadconstructions.py +194 -0
  76. honeybee_energy/lib/_loadconstructionsets.py +117 -0
  77. honeybee_energy/lib/_loadmaterials.py +83 -0
  78. honeybee_energy/lib/_loadprogramtypes.py +125 -0
  79. honeybee_energy/lib/_loadschedules.py +87 -0
  80. honeybee_energy/lib/_loadtypelimits.py +64 -0
  81. honeybee_energy/lib/constructions.py +207 -0
  82. honeybee_energy/lib/constructionsets.py +95 -0
  83. honeybee_energy/lib/materials.py +67 -0
  84. honeybee_energy/lib/programtypes.py +125 -0
  85. honeybee_energy/lib/schedules.py +61 -0
  86. honeybee_energy/lib/scheduletypelimits.py +31 -0
  87. honeybee_energy/load/__init__.py +1 -0
  88. honeybee_energy/load/_base.py +190 -0
  89. honeybee_energy/load/daylight.py +397 -0
  90. honeybee_energy/load/dictutil.py +47 -0
  91. honeybee_energy/load/equipment.py +771 -0
  92. honeybee_energy/load/hotwater.py +543 -0
  93. honeybee_energy/load/infiltration.py +460 -0
  94. honeybee_energy/load/lighting.py +480 -0
  95. honeybee_energy/load/people.py +497 -0
  96. honeybee_energy/load/process.py +472 -0
  97. honeybee_energy/load/setpoint.py +816 -0
  98. honeybee_energy/load/ventilation.py +550 -0
  99. honeybee_energy/material/__init__.py +1 -0
  100. honeybee_energy/material/_base.py +166 -0
  101. honeybee_energy/material/dictutil.py +59 -0
  102. honeybee_energy/material/frame.py +367 -0
  103. honeybee_energy/material/gas.py +1087 -0
  104. honeybee_energy/material/glazing.py +854 -0
  105. honeybee_energy/material/opaque.py +1351 -0
  106. honeybee_energy/material/shade.py +1360 -0
  107. honeybee_energy/measure.py +472 -0
  108. honeybee_energy/programtype.py +723 -0
  109. honeybee_energy/properties/__init__.py +1 -0
  110. honeybee_energy/properties/aperture.py +333 -0
  111. honeybee_energy/properties/door.py +342 -0
  112. honeybee_energy/properties/extension.py +244 -0
  113. honeybee_energy/properties/face.py +274 -0
  114. honeybee_energy/properties/model.py +2640 -0
  115. honeybee_energy/properties/room.py +1747 -0
  116. honeybee_energy/properties/shade.py +314 -0
  117. honeybee_energy/properties/shademesh.py +262 -0
  118. honeybee_energy/reader.py +48 -0
  119. honeybee_energy/result/__init__.py +1 -0
  120. honeybee_energy/result/colorobj.py +648 -0
  121. honeybee_energy/result/emissions.py +290 -0
  122. honeybee_energy/result/err.py +101 -0
  123. honeybee_energy/result/eui.py +100 -0
  124. honeybee_energy/result/generation.py +160 -0
  125. honeybee_energy/result/loadbalance.py +890 -0
  126. honeybee_energy/result/match.py +202 -0
  127. honeybee_energy/result/osw.py +90 -0
  128. honeybee_energy/result/rdd.py +59 -0
  129. honeybee_energy/result/zsz.py +190 -0
  130. honeybee_energy/run.py +1577 -0
  131. honeybee_energy/schedule/__init__.py +1 -0
  132. honeybee_energy/schedule/day.py +626 -0
  133. honeybee_energy/schedule/dictutil.py +59 -0
  134. honeybee_energy/schedule/fixedinterval.py +1012 -0
  135. honeybee_energy/schedule/rule.py +619 -0
  136. honeybee_energy/schedule/ruleset.py +1867 -0
  137. honeybee_energy/schedule/typelimit.py +310 -0
  138. honeybee_energy/shw.py +315 -0
  139. honeybee_energy/simulation/__init__.py +1 -0
  140. honeybee_energy/simulation/control.py +214 -0
  141. honeybee_energy/simulation/daylightsaving.py +185 -0
  142. honeybee_energy/simulation/dictutil.py +51 -0
  143. honeybee_energy/simulation/output.py +646 -0
  144. honeybee_energy/simulation/parameter.py +606 -0
  145. honeybee_energy/simulation/runperiod.py +443 -0
  146. honeybee_energy/simulation/shadowcalculation.py +295 -0
  147. honeybee_energy/simulation/sizing.py +546 -0
  148. honeybee_energy/ventcool/__init__.py +5 -0
  149. honeybee_energy/ventcool/_crack_data.py +91 -0
  150. honeybee_energy/ventcool/afn.py +289 -0
  151. honeybee_energy/ventcool/control.py +269 -0
  152. honeybee_energy/ventcool/crack.py +126 -0
  153. honeybee_energy/ventcool/fan.py +493 -0
  154. honeybee_energy/ventcool/opening.py +365 -0
  155. honeybee_energy/ventcool/simulation.py +314 -0
  156. honeybee_energy/writer.py +1078 -0
  157. honeybee_energy-1.116.106.dist-info/METADATA +113 -0
  158. honeybee_energy-1.116.106.dist-info/RECORD +162 -0
  159. honeybee_energy-1.116.106.dist-info/WHEEL +5 -0
  160. honeybee_energy-1.116.106.dist-info/entry_points.txt +2 -0
  161. honeybee_energy-1.116.106.dist-info/licenses/LICENSE +661 -0
  162. honeybee_energy-1.116.106.dist-info/top_level.txt +1 -0
@@ -0,0 +1,124 @@
1
+ """Commands to set honeybee-energy configurations."""
2
+ import click
3
+ import sys
4
+ import logging
5
+ import json
6
+
7
+ from honeybee_energy.config import folders
8
+
9
+ _logger = logging.getLogger(__name__)
10
+
11
+
12
+ @click.group(help='Commands to set honeybee-energy configurations.')
13
+ def set_config():
14
+ pass
15
+
16
+
17
+ @set_config.command('energyplus-path')
18
+ @click.argument('folder-path', required=False, type=click.Path(
19
+ exists=True, file_okay=False, dir_okay=True, resolve_path=True))
20
+ def energyplus_path(folder_path):
21
+ """Set the energyplus-path configuration variable.
22
+
23
+ \b
24
+ Args:
25
+ folder_path: Path to a folder to be set as the energyplus-path.
26
+ If unspecified, the energyplus-path will be set back to
27
+ the default.
28
+ """
29
+ _set_config_variable(folder_path, 'energyplus_path')
30
+
31
+
32
+ @set_config.command('openstudio-path')
33
+ @click.argument('folder-path', required=False, type=click.Path(
34
+ exists=True, file_okay=False, dir_okay=True, resolve_path=True))
35
+ def openstudio_path(folder_path):
36
+ """Set the openstudio-path configuration variable.
37
+
38
+ \b
39
+ Args:
40
+ folder_path: Path to a folder to be set as the openstudio-path. This is
41
+ the "bin" directory for OpenStudio installation (the one that contains
42
+ the openstudio executable file). If unspecified, the openstudio-path
43
+ will be set back to the default.
44
+ """
45
+ _set_config_variable(folder_path, 'openstudio_path')
46
+
47
+
48
+ @set_config.command('ironbug-path')
49
+ @click.argument('folder-path', required=False, type=click.Path(
50
+ exists=True, file_okay=False, dir_okay=True, resolve_path=True))
51
+ def ironbug_path(folder_path):
52
+ """Set the ironbug-path configuration variable.
53
+
54
+ \b
55
+ Args:
56
+ folder_path: Path to a folder to be set as the ironbug-path. This is
57
+ the "ironbug" directory that contains the dlls and the executable. '
58
+ 'If unspecified, the ironbug-path will be set back to the default.
59
+ """
60
+ _set_config_variable(folder_path, 'ironbug_path')
61
+
62
+
63
+ @set_config.command('lbt-measures-path')
64
+ @click.argument('folder-path', required=False, type=click.Path(
65
+ exists=True, file_okay=False, dir_okay=True, resolve_path=True))
66
+ def lbt_measures_path(folder_path):
67
+ """Set the lbt-measures-path configuration variable.
68
+
69
+ \b
70
+ Args:
71
+ folder_path: Path to a folder to be set as the lbt-measures-path.
72
+ If unspecified, the lbt-measures-path will be set back to
73
+ the default.
74
+ """
75
+ _set_config_variable(folder_path, 'lbt_measures_path')
76
+
77
+
78
+ @set_config.command('honeybee-openstudio-gem-path')
79
+ @click.argument('folder-path', required=False, type=click.Path(
80
+ exists=True, file_okay=False, dir_okay=True, resolve_path=True))
81
+ def honeybee_openstudio_gem_path(folder_path):
82
+ """Set the honeybee-openstudio-gem-path configuration variable.
83
+
84
+ \b
85
+ Args:
86
+ folder_path: Path to a folder to be set as the honeybee-openstudio-gem-path.
87
+ If unspecified, the honeybee-openstudio-gem-path will be set back to
88
+ the default.
89
+ """
90
+ _set_config_variable(folder_path, 'honeybee_openstudio_gem_path')
91
+
92
+
93
+ @set_config.command('standards-data-folder')
94
+ @click.argument('folder-path', required=False, type=click.Path(
95
+ exists=True, file_okay=False, dir_okay=True, resolve_path=True))
96
+ def standards_data_folder(folder_path):
97
+ """Set the standards-data-folder configuration variable.
98
+
99
+ \b
100
+ Args:
101
+ folder_path: Path to a folder to be set as the standards-data-folder.
102
+ If unspecified, the standards-data-folder will be set back to
103
+ the default.
104
+ """
105
+ _set_config_variable(folder_path, 'standards_data_folder')
106
+
107
+
108
+ def _set_config_variable(folder_path, variable_name):
109
+ var_cli_name = variable_name.replace('_', '-')
110
+ try:
111
+ config_file = folders.config_file
112
+ with open(config_file) as inf:
113
+ data = json.load(inf)
114
+ data[variable_name] = folder_path if folder_path is not None else ''
115
+ with open(config_file, 'w') as fp:
116
+ json.dump(data, fp, indent=4)
117
+ msg_end = 'reset to default' if folder_path is None \
118
+ else 'set to: {}'.format(folder_path)
119
+ print('{} successfully {}.'.format(var_cli_name, msg_end))
120
+ except Exception as e:
121
+ _logger.exception('Failed to set {}.\n{}'.format(var_cli_name, e))
122
+ sys.exit(1)
123
+ else:
124
+ sys.exit(0)