honeybee-grasshopper-radiance 1.30.14__tar.gz → 1.32.0__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 (186) hide show
  1. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/PKG-INFO +1 -1
  2. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Annual Average Values.py +29 -2
  3. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Annual Cumulative Values.py +34 -5
  4. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Annual Daylight Metrics.py +31 -3
  5. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Annual Daylight.py +16 -9
  6. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Annual Peak Values.py +33 -4
  7. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Annual Results to Data.py +31 -3
  8. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/src/HB Aperture Group Schedule.py +69 -0
  9. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Automatic Aperture Group.py +31 -6
  10. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Daylight Control Schedule.py +30 -3
  11. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/src/HB Get Dynamic Groups.py +57 -0
  12. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Annual Average Values.ghuser +0 -0
  13. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Annual Cumulative Values.ghuser +0 -0
  14. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Annual Daylight Metrics.ghuser +0 -0
  15. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Annual Daylight.ghuser +0 -0
  16. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Annual Peak Values.ghuser +0 -0
  17. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Annual Results to Data.ghuser +0 -0
  18. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Aperture Group Schedule.ghuser +0 -0
  19. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Automatic Aperture Group.ghuser +0 -0
  20. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Daylight Control Schedule.ghuser +0 -0
  21. honeybee-grasshopper-radiance-1.32.0/honeybee_grasshopper_radiance/user_objects/HB Get Dynamic Groups.ghuser +0 -0
  22. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance.egg-info/PKG-INFO +1 -1
  23. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance.egg-info/SOURCES.txt +4 -0
  24. honeybee-grasshopper-radiance-1.30.14/honeybee_grasshopper_radiance/user_objects/HB Annual Average Values.ghuser +0 -0
  25. honeybee-grasshopper-radiance-1.30.14/honeybee_grasshopper_radiance/user_objects/HB Annual Cumulative Values.ghuser +0 -0
  26. honeybee-grasshopper-radiance-1.30.14/honeybee_grasshopper_radiance/user_objects/HB Annual Daylight Metrics.ghuser +0 -0
  27. honeybee-grasshopper-radiance-1.30.14/honeybee_grasshopper_radiance/user_objects/HB Annual Daylight.ghuser +0 -0
  28. honeybee-grasshopper-radiance-1.30.14/honeybee_grasshopper_radiance/user_objects/HB Annual Peak Values.ghuser +0 -0
  29. honeybee-grasshopper-radiance-1.30.14/honeybee_grasshopper_radiance/user_objects/HB Annual Results to Data.ghuser +0 -0
  30. honeybee-grasshopper-radiance-1.30.14/honeybee_grasshopper_radiance/user_objects/HB Automatic Aperture Group.ghuser +0 -0
  31. honeybee-grasshopper-radiance-1.30.14/honeybee_grasshopper_radiance/user_objects/HB Daylight Control Schedule.ghuser +0 -0
  32. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/CODE_OF_CONDUCT.md +0 -0
  33. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/CONTRIBUTING.md +0 -0
  34. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/LICENSE +0 -0
  35. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/MANIFEST.in +0 -0
  36. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/README.md +0 -0
  37. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/dev-requirements.txt +0 -0
  38. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/__init__.py +0 -0
  39. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Adjust HDR.py +0 -0
  40. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Ambient Resolution.py +0 -0
  41. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Annual Glare Metrics.py +0 -0
  42. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Annual Irradiance.py +0 -0
  43. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Annual Sunlight Exposure.py +0 -0
  44. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Apply Face Modifier.py +0 -0
  45. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Apply ModifierSet.py +0 -0
  46. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Apply Shade Modifier.py +0 -0
  47. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Apply Window Modifier.py +0 -0
  48. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Assign Grids and Views.py +0 -0
  49. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB BSDF Modifier.py +0 -0
  50. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB CIE Standard Sky.py +0 -0
  51. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Certain Illuminance.py +0 -0
  52. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Check Scene.py +0 -0
  53. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Climatebased Sky.py +0 -0
  54. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Cumulative Radiation.py +0 -0
  55. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Custom Sky.py +0 -0
  56. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Daylight Factor.py +0 -0
  57. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Deconstruct Modifier.py +0 -0
  58. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Deconstruct ModifierSet Interior.py +0 -0
  59. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Deconstruct ModifierSet.py +0 -0
  60. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Deconstruct Wea.py +0 -0
  61. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Direct Sun Hours.py +0 -0
  62. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Dynamic Aperture Group.py +0 -0
  63. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Dynamic Shade Group.py +0 -0
  64. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Dynamic State Geometry.py +0 -0
  65. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Dynamic State.py +0 -0
  66. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Exterior Modifier Subset.py +0 -0
  67. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Extract HDR.py +0 -0
  68. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB False Color.py +0 -0
  69. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Get Grids and Views.py +0 -0
  70. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Glare Postprocess.py +0 -0
  71. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Glass Modifier 3.py +0 -0
  72. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Glass Modifier.py +0 -0
  73. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB HDR to GIF.py +0 -0
  74. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Imageless Annual Glare.py +0 -0
  75. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Interior Modifier Subset.py +0 -0
  76. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Metal Modifier 3.py +0 -0
  77. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Metal Modifier.py +0 -0
  78. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Mirror Modifier 3.py +0 -0
  79. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Mirror Modifier.py +0 -0
  80. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Model to Rad Folder.py +0 -0
  81. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB ModifierSet.py +0 -0
  82. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Opaque Modifier 3.py +0 -0
  83. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Opaque Modifier.py +0 -0
  84. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Point-In-Time Grid-Based.py +0 -0
  85. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Point-In-Time View-Based.py +0 -0
  86. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Radial Grid from Rooms.py +0 -0
  87. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Radial Sensor Grid.py +0 -0
  88. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Radiance Parameter.py +0 -0
  89. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Search Mofidier Sets.py +0 -0
  90. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Search Mofidiers.py +0 -0
  91. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Section Plane View.py +0 -0
  92. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Sensor Grid from Apertures.py +0 -0
  93. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Sensor Grid from Faces.py +0 -0
  94. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Sensor Grid from Rooms.py +0 -0
  95. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Sensor Grid.py +0 -0
  96. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Shade Modifier Subset.py +0 -0
  97. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Sky View.py +0 -0
  98. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Spatial Daylight Autonomy.py +0 -0
  99. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Subface Modifier Subset.py +0 -0
  100. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Translucent Modifier 3.py +0 -0
  101. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Translucent Modifier.py +0 -0
  102. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB View from Viewport.py +0 -0
  103. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB View.py +0 -0
  104. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Visualize Sky.py +0 -0
  105. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Wea From Clear Sky.py +0 -0
  106. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Wea From EPW.py +0 -0
  107. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Wea From Tau Clear Sky.py +0 -0
  108. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/HB Wea from Zhang-Huang.py +0 -0
  109. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/src/__init__.py +0 -0
  110. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Adjust HDR.ghuser +0 -0
  111. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Ambient Resolution.ghuser +0 -0
  112. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Annual Glare Metrics.ghuser +0 -0
  113. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Annual Irradiance.ghuser +0 -0
  114. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Annual Sunlight Exposure.ghuser +0 -0
  115. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Apply Face Modifier.ghuser +0 -0
  116. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Apply ModifierSet.ghuser +0 -0
  117. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Apply Shade Modifier.ghuser +0 -0
  118. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Apply Window Modifier.ghuser +0 -0
  119. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Assign Grids and Views.ghuser +0 -0
  120. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB BSDF Modifier.ghuser +0 -0
  121. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB CIE Standard Sky.ghuser +0 -0
  122. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Certain Illuminance.ghuser +0 -0
  123. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Check Scene.ghuser +0 -0
  124. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Climatebased Sky.ghuser +0 -0
  125. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Cumulative Radiation.ghuser +0 -0
  126. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Custom Sky.ghuser +0 -0
  127. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Daylight Factor.ghuser +0 -0
  128. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Deconstruct Modifier.ghuser +0 -0
  129. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Deconstruct ModifierSet Interior.ghuser +0 -0
  130. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Deconstruct ModifierSet.ghuser +0 -0
  131. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Deconstruct Wea.ghuser +0 -0
  132. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Direct Sun Hours.ghuser +0 -0
  133. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Dynamic Aperture Group.ghuser +0 -0
  134. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Dynamic Shade Group.ghuser +0 -0
  135. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Dynamic State Geometry.ghuser +0 -0
  136. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Dynamic State.ghuser +0 -0
  137. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Exterior Modifier Subset.ghuser +0 -0
  138. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Extract HDR.ghuser +0 -0
  139. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Face Radiance Attributes.ghuser +0 -0
  140. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB False Color.ghuser +0 -0
  141. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Get Grids and Views.ghuser +0 -0
  142. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Glare Postprocess.ghuser +0 -0
  143. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Glass Modifier 3.ghuser +0 -0
  144. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Glass Modifier.ghuser +0 -0
  145. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB HDR to GIF.ghuser +0 -0
  146. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Imageless Annual Glare.ghuser +0 -0
  147. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Interior Modifier Subset.ghuser +0 -0
  148. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Metal Modifier 3.ghuser +0 -0
  149. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Metal Modifier.ghuser +0 -0
  150. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Mirror Modifier 3.ghuser +0 -0
  151. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Mirror Modifier.ghuser +0 -0
  152. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Model to Rad Folder.ghuser +0 -0
  153. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB ModifierSet.ghuser +0 -0
  154. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Opaque Modifier 3.ghuser +0 -0
  155. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Opaque Modifier.ghuser +0 -0
  156. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Point-In-Time Grid-Based.ghuser +0 -0
  157. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Point-In-Time View-Based.ghuser +0 -0
  158. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Radial Grid from Rooms.ghuser +0 -0
  159. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Radial Sensor Grid.ghuser +0 -0
  160. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Radiance Parameter.ghuser +0 -0
  161. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Room Radiance Attributes.ghuser +0 -0
  162. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Search Mofidier Sets.ghuser +0 -0
  163. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Search Mofidiers.ghuser +0 -0
  164. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Section Plane View.ghuser +0 -0
  165. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Sensor Grid from Apertures.ghuser +0 -0
  166. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Sensor Grid from Faces.ghuser +0 -0
  167. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Sensor Grid from Rooms.ghuser +0 -0
  168. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Sensor Grid.ghuser +0 -0
  169. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Shade Modifier Subset.ghuser +0 -0
  170. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Sky View.ghuser +0 -0
  171. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Spatial Daylight Autonomy.ghuser +0 -0
  172. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Subface Modifier Subset.ghuser +0 -0
  173. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Translucent Modifier 3.ghuser +0 -0
  174. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Translucent Modifier.ghuser +0 -0
  175. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB View from Viewport.ghuser +0 -0
  176. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB View.ghuser +0 -0
  177. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Visualize Sky.ghuser +0 -0
  178. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Wea From Clear Sky.ghuser +0 -0
  179. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Wea From EPW.ghuser +0 -0
  180. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Wea From Tau Clear Sky.ghuser +0 -0
  181. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/HB Wea from Zhang-Huang.ghuser +0 -0
  182. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance/user_objects/__init__.py +0 -0
  183. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance.egg-info/dependency_links.txt +0 -0
  184. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/honeybee_grasshopper_radiance.egg-info/top_level.txt +0 -0
  185. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/setup.cfg +0 -0
  186. {honeybee-grasshopper-radiance-1.30.14 → honeybee-grasshopper-radiance-1.32.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: honeybee-grasshopper-radiance
3
- Version: 1.30.14
3
+ Version: 1.32.0
4
4
  Summary: Honeybee Radiance plugin for Grasshopper.
5
5
  Home-page: https://github.com/ladybug-tools/honeybee-grasshopper-radiance
6
6
  Author: Ladybug Tools
@@ -19,6 +19,11 @@ hour/timestep of the simulation.
19
19
  or the "HB Annual Irradiance" component (containing the .ill files and
20
20
  the sun-up-hours.txt). This can also be just the path to the folder
21
21
  containing these result files.
22
+ dyn_sch_: Optional dynamic Aperture Group Schedules from the "HB Aperture Group
23
+ Schedule" component, which will be used to customize the behavior
24
+ of any dyanmic aperture geometry in the output metrics. If unsupplied,
25
+ all dynamic aperture groups will be in their default state in for
26
+ the output metrics.
22
27
  _hoys_: An optional numbers or list of numbers to select the hours of the year (HOYs)
23
28
  for which results will be computed. These HOYs can be obtained from the
24
29
  "LB Calculate HOY" or the "LB Analysis Period" components. If None, all
@@ -41,7 +46,7 @@ hour/timestep of the simulation.
41
46
 
42
47
  ghenv.Component.Name = 'HB Annual Average Values'
43
48
  ghenv.Component.NickName = 'AvgValues'
44
- ghenv.Component.Message = '1.6.1'
49
+ ghenv.Component.Message = '1.6.2'
45
50
  ghenv.Component.Category = 'HB-Radiance'
46
51
  ghenv.Component.SubCategory = '4 :: Results'
47
52
  ghenv.Component.AdditionalHelpFromDocStrings = '2'
@@ -64,13 +69,19 @@ try:
64
69
  except ImportError as e:
65
70
  raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
66
71
 
72
+ try:
73
+ from honeybee_radiance_postprocess.dynamic import DynamicSchedule
74
+ except ImportError as e:
75
+ raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
76
+
67
77
  try:
68
78
  from pollination_handlers.outputs.helper import read_sensor_grid_result
69
79
  except ImportError as e:
70
80
  raise ImportError('\nFailed to import pollination_handlers:\n\t{}'.format(e))
71
81
 
72
82
  try:
73
- from ladybug_rhino.grasshopper import all_required_inputs, list_to_data_tree
83
+ from ladybug_rhino.grasshopper import all_required_inputs, list_to_data_tree, \
84
+ give_warning
74
85
  except ImportError as e:
75
86
  raise ImportError('\nFailed to import ladybug_rhino:\n\t{}'.format(e))
76
87
 
@@ -133,6 +144,17 @@ if all_required_inputs(ghenv.Component):
133
144
  cmds.extend(['--hoys-file', hoys_file])
134
145
  if grid_filter_ != '*':
135
146
  cmds.extend(['--grids-filter', grid_filter_])
147
+ if len(dyn_sch_) != 0:
148
+ if os.path.isfile(os.path.join(res_folder, 'grid_states.json')):
149
+ dyn_sch = dyn_sch_[0] if isinstance(dyn_sch_[0], DynamicSchedule) else \
150
+ DynamicSchedule.from_group_schedules(dyn_sch_)
151
+ dyn_sch_file = dyn_sch.to_json(folder=res_folder)
152
+ cmds.extend(['--states', dyn_sch_file])
153
+ else:
154
+ msg = 'No dynamic aperture groups were found in the Model.\n' \
155
+ 'The input dynamic schedules will be ignored.'
156
+ print(msg)
157
+ give_warning(ghenv.Component, msg)
136
158
  use_shell = True if os.name == 'nt' else False
137
159
  process = subprocess.Popen(
138
160
  cmds, cwd=res_folder, shell=use_shell,
@@ -147,6 +169,11 @@ if all_required_inputs(ghenv.Component):
147
169
  values = list_to_data_tree(values)
148
170
 
149
171
  else:
172
+ if len(dyn_sch_) != 0:
173
+ msg = 'Dynamic Schedules are currently only supported for Annual Daylight ' \
174
+ 'simulations.\nThe input schedules will be ignored.'
175
+ print(msg)
176
+ give_warning(ghenv.Component, msg)
150
177
  if median_:
151
178
  raise ValueError('The median values can only be calculated for a '
152
179
  'results folder from the "HB Annual Daylight" '
@@ -19,6 +19,11 @@ hour/timestep of the simulation.
19
19
  or the "HB Annual Irradiance" component (containing the .ill files and
20
20
  the sun-up-hours.txt). This can also be just the path to the folder
21
21
  containing these result files.
22
+ dyn_sch_: Optional dynamic Aperture Group Schedules from the "HB Aperture Group
23
+ Schedule" component, which will be used to customize the behavior
24
+ of any dyanmic aperture geometry in the output metrics. If unsupplied,
25
+ all dynamic aperture groups will be in their default state in for
26
+ the output metrics.
22
27
  _hoys_: An optional numbers or list of numbers to select the hours of the year (HOYs)
23
28
  for which results will be computed. These HOYs can be obtained from the
24
29
  "LB Calculate HOY" or the "LB Analysis Period" components. If None, all
@@ -39,7 +44,7 @@ hour/timestep of the simulation.
39
44
 
40
45
  ghenv.Component.Name = 'HB Annual Cumulative Values'
41
46
  ghenv.Component.NickName = 'CumulValues'
42
- ghenv.Component.Message = '1.6.0'
47
+ ghenv.Component.Message = '1.6.1'
43
48
  ghenv.Component.Category = 'HB-Radiance'
44
49
  ghenv.Component.SubCategory = '4 :: Results'
45
50
  ghenv.Component.AdditionalHelpFromDocStrings = '2'
@@ -62,13 +67,19 @@ try:
62
67
  except ImportError as e:
63
68
  raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
64
69
 
70
+ try:
71
+ from honeybee_radiance_postprocess.dynamic import DynamicSchedule
72
+ except ImportError as e:
73
+ raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
74
+
65
75
  try:
66
76
  from pollination_handlers.outputs.helper import read_sensor_grid_result
67
77
  except ImportError as e:
68
78
  raise ImportError('\nFailed to import pollination_handlers:\n\t{}'.format(e))
69
79
 
70
80
  try:
71
- from ladybug_rhino.grasshopper import all_required_inputs, list_to_data_tree
81
+ from ladybug_rhino.grasshopper import all_required_inputs, list_to_data_tree, \
82
+ give_warning
72
83
  except ImportError as e:
73
84
  raise ImportError('\nFailed to import ladybug_rhino:\n\t{}'.format(e))
74
85
 
@@ -112,7 +123,8 @@ if all_required_inputs(ghenv.Component):
112
123
  else _results[0]
113
124
 
114
125
  # check to see if results use the newer numpy arrays
115
- if os.path.isdir(os.path.join(res_folder, '__static_apertures__')):
126
+ if os.path.isdir(os.path.join(res_folder, '__static_apertures__')) or \
127
+ os.path.isfile(os.path.join(res_folder, 'grid_states.json')):
116
128
  cmds = [folders.python_exe_path, '-m', 'honeybee_radiance_postprocess',
117
129
  'post-process', 'cumulative-values', res_folder, '-sf', 'metrics']
118
130
  if len(_hoys_) != 0:
@@ -122,6 +134,17 @@ if all_required_inputs(ghenv.Component):
122
134
  cmds.extend(['--hoys-file', hoys_file])
123
135
  if grid_filter_ != '*':
124
136
  cmds.extend(['--grids-filter', grid_filter_])
137
+ if len(dyn_sch_) != 0:
138
+ if os.path.isfile(os.path.join(res_folder, 'grid_states.json')):
139
+ dyn_sch = dyn_sch_[0] if isinstance(dyn_sch_[0], DynamicSchedule) else \
140
+ DynamicSchedule.from_group_schedules(dyn_sch_)
141
+ dyn_sch_file = dyn_sch.to_json(folder=res_folder)
142
+ cmds.extend(['--states', dyn_sch_file])
143
+ else:
144
+ msg = 'No dynamic aperture groups were found in the Model.\n' \
145
+ 'The input dynamic schedules will be ignored.'
146
+ print(msg)
147
+ give_warning(ghenv.Component, msg)
125
148
  use_shell = True if os.name == 'nt' else False
126
149
  process = subprocess.Popen(
127
150
  cmds, cwd=res_folder, shell=use_shell,
@@ -136,17 +159,23 @@ if all_required_inputs(ghenv.Component):
136
159
  values = list_to_data_tree(values)
137
160
 
138
161
  else:
162
+ if len(dyn_sch_) != 0:
163
+ msg = 'Dynamic Schedules are currently only supported for Annual Daylight ' \
164
+ 'simulations.\nThe input schedules will be ignored.'
165
+ print(msg)
166
+ give_warning(ghenv.Component, msg)
167
+
139
168
  # extract the timestep if it exists
140
169
  timestep = 1
141
170
  tstep_file = os.path.join(res_folder, 'timestep.txt')
142
171
  if os.path.isfile(tstep_file):
143
172
  with open(tstep_file) as tf:
144
173
  timestep = int(tf.readline())
145
-
174
+
146
175
  # parse the sun-up-hours
147
176
  grids, sun_up_hours = _process_input_folder(res_folder, grid_filter_)
148
177
  su_pattern = parse_sun_up_hours(sun_up_hours, _hoys_, timestep)
149
-
178
+
150
179
  # compute the average values
151
180
  values = []
152
181
  for grid_info in grids:
@@ -16,6 +16,11 @@ Calculate Annual Daylight Metrics from a result (.ill) files.
16
16
  component (containing the .ill files and the sun-up-hours.txt).
17
17
  This can also be just the path to the folder containing these
18
18
  result files.
19
+ dyn_sch_: Optional dynamic Aperture Group Schedules from the "HB Aperture Group
20
+ Schedule" component, which will be used to customize the behavior
21
+ of any dyanmic aperture geometry in the output metrics. If unsupplied,
22
+ all dynamic aperture groups will be in their default state in for
23
+ the output metrics.
19
24
  _occ_sch_: An annual occupancy schedule as a Ladybug Data Collection or a HB-Energy
20
25
  schedule object. This can also be the identifier of a schedule in
21
26
  your HB-Energy schedule library. Any value in this schedule that is
@@ -60,7 +65,7 @@ Calculate Annual Daylight Metrics from a result (.ill) files.
60
65
 
61
66
  ghenv.Component.Name = "HB Annual Daylight Metrics"
62
67
  ghenv.Component.NickName = 'DaylightMetrics'
63
- ghenv.Component.Message = '1.6.0'
68
+ ghenv.Component.Message = '1.6.2'
64
69
  ghenv.Component.Category = 'HB-Radiance'
65
70
  ghenv.Component.SubCategory = '4 :: Results'
66
71
  ghenv.Component.AdditionalHelpFromDocStrings = '1'
@@ -84,6 +89,11 @@ try:
84
89
  except ImportError as e:
85
90
  raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
86
91
 
92
+ try:
93
+ from honeybee_radiance_postprocess.dynamic import DynamicSchedule
94
+ except ImportError as e:
95
+ raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
96
+
87
97
  try:
88
98
  from honeybee_energy.lib.schedules import schedule_by_identifier
89
99
  except ImportError as e: # honeybee schedule library is not available
@@ -96,7 +106,8 @@ except ImportError as e:
96
106
  raise ImportError('\nFailed to import pollination_handlers:\n\t{}'.format(e))
97
107
 
98
108
  try:
99
- from ladybug_rhino.grasshopper import all_required_inputs, list_to_data_tree
109
+ from ladybug_rhino.grasshopper import all_required_inputs, list_to_data_tree, \
110
+ give_warning
100
111
  except ImportError as e:
101
112
  raise ImportError('\nFailed to import ladybug_rhino:\n\t{}'.format(e))
102
113
 
@@ -142,7 +153,8 @@ if all_required_inputs(ghenv.Component):
142
153
  # compute the annual metrics
143
154
  res_folder = os.path.dirname(_results[0]) if os.path.isfile(_results[0]) \
144
155
  else _results[0]
145
- if os.path.isdir(os.path.join(res_folder, '__static_apertures__')):
156
+ if os.path.isdir(os.path.join(res_folder, '__static_apertures__')) or \
157
+ os.path.isfile(os.path.join(res_folder, 'grid_states.json')):
146
158
  cmds = [
147
159
  folders.python_exe_path, '-m', 'honeybee_radiance_postprocess',
148
160
  'post-process', 'annual-daylight', res_folder, '-sf', 'metrics',
@@ -150,6 +162,17 @@ if all_required_inputs(ghenv.Component):
150
162
  ]
151
163
  if grid_filter_ != '*':
152
164
  cmds.extend(['--grids-filter', grid_filter_])
165
+ if len(dyn_sch_) != 0:
166
+ if os.path.isfile(os.path.join(res_folder, 'grid_states.json')):
167
+ dyn_sch = dyn_sch_[0] if isinstance(dyn_sch_[0], DynamicSchedule) else \
168
+ DynamicSchedule.from_group_schedules(dyn_sch_)
169
+ dyn_sch_file = dyn_sch.to_json(folder=res_folder)
170
+ cmds.extend(['--states', dyn_sch_file])
171
+ else:
172
+ msg = 'No dynamic aperture groups were found in the Model.\n' \
173
+ 'The input dynamic schedules will be ignored.'
174
+ print(msg)
175
+ give_warning(ghenv.Component, msg)
153
176
  if schedule is not None:
154
177
  sch_str = '\n'.join(str(h) for h in schedule)
155
178
  sch_file = os.path.join(res_folder, 'schedule.txt')
@@ -170,6 +193,11 @@ if all_required_inputs(ghenv.Component):
170
193
  UDI_low = list_to_data_tree(read_udi_from_folder(os.path.join(metric_dir, 'udi_lower')))
171
194
  UDI_up = list_to_data_tree(read_udi_from_folder(os.path.join(metric_dir, 'udi_upper')))
172
195
  else:
196
+ if len(dyn_sch_) != 0:
197
+ msg = 'Dynamic Schedules are currently only supported for Annual Daylight ' \
198
+ 'simulations.\nThe input schedules will be ignored.'
199
+ print(msg)
200
+ give_warning(ghenv.Component, msg)
173
201
  DA, cDA, UDI_low, UDI, UDI_up = metrics_from_folder(
174
202
  res_folder, schedule, _threshold_, min_t, max_t, grid_filter_)
175
203
  DA = list_to_data_tree(DA)
@@ -11,13 +11,16 @@
11
11
  Run an annual daylight study for a Honeybee model to compute hourly illuminance
12
12
  for each sensor in a model's sensor grids.
13
13
  _
14
- By default, this recipe uses a standard 2-phase method for simulation, which
15
- determines the relationship between each sensor and sky patch and then multiplies
16
- the value of each sky patch at each hour by the relationship coefficient.
14
+ By default, this recipe uses an enhanced 2-phase method, which accurately models
15
+ direct sun by tracing rays from each sensor to the solar position at each hour
16
+ of the calculation. This makes the result suitable for computing Annual Sun
17
+ Exposure (ASE) and for modeling the effects of dynamic shades and apertures.
17
18
  _
18
- When the enhanced_ option is selected, this recipe uses an enhanced 2-phase method,
19
- which accurately models direct sun by tracing rays from each sensor to the solar
20
- position at each hour of the calculation.
19
+ When the enhanced_ option is set to False, a standard 2-phase method for simulation,
20
+ which is much faster because it simply determines the relationship between each
21
+ sensor and sky patch and then multiplies the value of each sky patch at each
22
+ hour by the relationship coefficient. However, this means that the direct sun
23
+ is spread out across a few sky patches, making it unsuitable for ASE.
21
24
  _
22
25
  The resulting illuminance is used to compute the following metrics:
23
26
  _
@@ -60,7 +63,10 @@ _
60
63
  tracing. (Default: -ab 2 -ad 5000 -lw 2e-05).
61
64
  enhanced_: Boolean to note whether an enhanced version of the 2-phase ray tracing
62
65
  simulation should be used, which will more accurately account for
63
- direct sun at each time step. (Default:False).
66
+ direct sun at each time step. If False, only a 2-phase daylight
67
+ coefficient calculation with sky patches will be used, which is
68
+ much faster but spreads the direct sun out across a few sky
69
+ patches, making it unsuitable for ASE. (Default: True).
64
70
  run_settings_: Settings from the "HB Recipe Settings" component that specify
65
71
  how the recipe should be run. This can also be a text string of
66
72
  recipe settings.
@@ -103,7 +109,7 @@ _
103
109
 
104
110
  ghenv.Component.Name = 'HB Annual Daylight'
105
111
  ghenv.Component.NickName = 'AnnualDaylight'
106
- ghenv.Component.Message = '1.6.1'
112
+ ghenv.Component.Message = '1.6.2'
107
113
  ghenv.Component.Category = 'HB-Radiance'
108
114
  ghenv.Component.SubCategory = '3 :: Recipes'
109
115
  ghenv.Component.AdditionalHelpFromDocStrings = '1'
@@ -121,7 +127,8 @@ except ImportError as e:
121
127
 
122
128
  if all_required_inputs(ghenv.Component) and _run:
123
129
  # create the recipe and set the input arguments
124
- recipe = Recipe('annual-daylight-enhanced') if enhanced_ else Recipe('annual-daylight')
130
+ recipe = Recipe('annual-daylight') if enhanced_ is False else \
131
+ Recipe('annual-daylight-enhanced')
125
132
  recipe.input_value_by_name('model', _model)
126
133
  recipe.input_value_by_name('wea', _wea)
127
134
  recipe.input_value_by_name('north', north_)
@@ -19,6 +19,11 @@ hour/timestep of the simulation.
19
19
  or the "HB Annual Irradiance" component (containing the .ill files and
20
20
  the sun-up-hours.txt). This can also be just the path to the folder
21
21
  containing these result files.
22
+ dyn_sch_: Optional dynamic Aperture Group Schedules from the "HB Aperture Group
23
+ Schedule" component, which will be used to customize the behavior
24
+ of any dyanmic aperture geometry in the output metrics. If unsupplied,
25
+ all dynamic aperture groups will be in their default state in for
26
+ the output metrics.
22
27
  _hoys_: An optional numbers or list of numbers to select the hours of the year (HOYs)
23
28
  for which results will be computed. These HOYs can be obtained from the
24
29
  "LB Calculate HOY" or the "LB Analysis Period" components. If None, all
@@ -45,7 +50,7 @@ hour/timestep of the simulation.
45
50
 
46
51
  ghenv.Component.Name = 'HB Annual Peak Values'
47
52
  ghenv.Component.NickName = 'PeakValues'
48
- ghenv.Component.Message = '1.6.2'
53
+ ghenv.Component.Message = '1.6.3'
49
54
  ghenv.Component.Category = 'HB-Radiance'
50
55
  ghenv.Component.SubCategory = '4 :: Results'
51
56
  ghenv.Component.AdditionalHelpFromDocStrings = '2'
@@ -68,13 +73,19 @@ try:
68
73
  except ImportError as e:
69
74
  raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
70
75
 
76
+ try:
77
+ from honeybee_radiance_postprocess.dynamic import DynamicSchedule
78
+ except ImportError as e:
79
+ raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
80
+
71
81
  try:
72
82
  from pollination_handlers.outputs.helper import read_sensor_grid_result
73
83
  except ImportError as e:
74
84
  raise ImportError('\nFailed to import pollination_handlers:\n\t{}'.format(e))
75
85
 
76
86
  try:
77
- from ladybug_rhino.grasshopper import all_required_inputs, list_to_data_tree
87
+ from ladybug_rhino.grasshopper import all_required_inputs, list_to_data_tree, \
88
+ give_warning
78
89
  except ImportError as e:
79
90
  raise ImportError('\nFailed to import ladybug_rhino:\n\t{}'.format(e))
80
91
 
@@ -132,7 +143,8 @@ if all_required_inputs(ghenv.Component):
132
143
  else _results[0]
133
144
 
134
145
  # check to see if results use the newer numpy arrays
135
- if os.path.isdir(os.path.join(res_folder, '__static_apertures__')):
146
+ if os.path.isdir(os.path.join(res_folder, '__static_apertures__')) or \
147
+ os.path.isfile(os.path.join(res_folder, 'grid_states.json')):
136
148
  cmds = [folders.python_exe_path, '-m', 'honeybee_radiance_postprocess',
137
149
  'post-process', 'peak-values', res_folder, '-sf', 'metrics']
138
150
  if len(_hoys_) != 0:
@@ -144,6 +156,17 @@ if all_required_inputs(ghenv.Component):
144
156
  cmds.extend(['--grids-filter', grid_filter_])
145
157
  if coincident_:
146
158
  cmds.append('--coincident')
159
+ if len(dyn_sch_) != 0:
160
+ if os.path.isfile(os.path.join(res_folder, 'grid_states.json')):
161
+ dyn_sch = dyn_sch_[0] if isinstance(dyn_sch_[0], DynamicSchedule) else \
162
+ DynamicSchedule.from_group_schedules(dyn_sch_)
163
+ dyn_sch_file = dyn_sch.to_json(folder=res_folder)
164
+ cmds.extend(['--states', dyn_sch_file])
165
+ else:
166
+ msg = 'No dynamic aperture groups were found in the Model.\n' \
167
+ 'The input dynamic schedules will be ignored.'
168
+ print(msg)
169
+ give_warning(ghenv.Component, msg)
147
170
  use_shell = True if os.name == 'nt' else False
148
171
  process = subprocess.Popen(
149
172
  cmds, cwd=res_folder, shell=use_shell,
@@ -164,13 +187,19 @@ if all_required_inputs(ghenv.Component):
164
187
  hoys = [None] * len(hoys)
165
188
 
166
189
  else:
190
+ if len(dyn_sch_) != 0:
191
+ msg = 'Dynamic Schedules are currently only supported for Annual Daylight ' \
192
+ 'simulations.\nThe input schedules will be ignored.'
193
+ print(msg)
194
+ give_warning(ghenv.Component, msg)
195
+
167
196
  # extract the timestep if it exists
168
197
  timestep = 1
169
198
  tstep_file = os.path.join(res_folder, 'timestep.txt')
170
199
  if os.path.isfile(tstep_file):
171
200
  with open(tstep_file) as tf:
172
201
  timestep = int(tf.readline())
173
-
202
+
174
203
  # parse the sun-up-hours
175
204
  grids, sun_up_hours = _process_input_folder(res_folder, grid_filter_)
176
205
  su_pattern = parse_sun_up_hours(sun_up_hours, _hoys_, timestep)
@@ -19,6 +19,11 @@ deconstructed for detailed analysis with native Grasshopper math components.
19
19
  component (containing the .ill files and the sun-up-hours.txt).
20
20
  This can also be just the path to the folder containing these
21
21
  result files.
22
+ dyn_sch_: Optional dynamic Aperture Group Schedules from the "HB Aperture Group
23
+ Schedule" component, which will be used to customize the behavior
24
+ of any dyanmic aperture geometry in the output metrics. If unsupplied,
25
+ all dynamic aperture groups will be in their default state in for
26
+ the output metrics.
22
27
  _sel_pts: A point or list of points, which will be used to filter the sensors
23
28
  for which data collections will be imported.
24
29
  _all_pts: The data tree of all sensor points that were used in the simulation.
@@ -40,7 +45,7 @@ deconstructed for detailed analysis with native Grasshopper math components.
40
45
 
41
46
  ghenv.Component.Name = 'HB Annual Results to Data'
42
47
  ghenv.Component.NickName = 'AnnualToData'
43
- ghenv.Component.Message = '1.6.0'
48
+ ghenv.Component.Message = '1.6.1'
44
49
  ghenv.Component.Category = 'HB-Radiance'
45
50
  ghenv.Component.SubCategory = '4 :: Results'
46
51
  ghenv.Component.AdditionalHelpFromDocStrings = '2'
@@ -71,11 +76,16 @@ try:
71
76
  except ImportError as e:
72
77
  raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
73
78
 
79
+ try:
80
+ from honeybee_radiance_postprocess.dynamic import DynamicSchedule
81
+ except ImportError as e:
82
+ raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
83
+
74
84
  try:
75
85
  from ladybug_rhino.config import tolerance
76
86
  from ladybug_rhino.togeometry import to_point3d, to_vector3d
77
87
  from ladybug_rhino.grasshopper import all_required_inputs, list_to_data_tree, \
78
- data_tree_to_list
88
+ data_tree_to_list, give_warning
79
89
  except ImportError as e:
80
90
  raise ImportError('\nFailed to import ladybug_rhino:\n\t{}'.format(e))
81
91
 
@@ -159,7 +169,8 @@ if all_required_inputs(ghenv.Component):
159
169
  pt_filter = new_pt_filter
160
170
 
161
171
  # check to see if results use the newer numpy arrays
162
- if os.path.isdir(os.path.join(res_folder, '__static_apertures__')):
172
+ if os.path.isdir(os.path.join(res_folder, '__static_apertures__')) or \
173
+ os.path.isfile(os.path.join(res_folder, 'grid_states.json')):
163
174
  cmds = [folders.python_exe_path, '-m', 'honeybee_radiance_postprocess',
164
175
  'post-process', 'annual-to-data', res_folder]
165
176
  if pt_filter[0] is not None:
@@ -167,6 +178,17 @@ if all_required_inputs(ghenv.Component):
167
178
  si_file = os.path.join(res_folder, 'sensor_indices.json')
168
179
  write_to_file(si_file, json.dumps(sen_dict))
169
180
  cmds.extend(['--sensor-index', si_file])
181
+ if len(dyn_sch_) != 0:
182
+ if os.path.isfile(os.path.join(res_folder, 'grid_states.json')):
183
+ dyn_sch = dyn_sch_[0] if isinstance(dyn_sch_[0], DynamicSchedule) else \
184
+ DynamicSchedule.from_group_schedules(dyn_sch_)
185
+ dyn_sch_file = dyn_sch.to_json(folder=res_folder)
186
+ cmds.extend(['--states', dyn_sch_file])
187
+ else:
188
+ msg = 'No dynamic aperture groups were found in the Model.\n' \
189
+ 'The input dynamic schedules will be ignored.'
190
+ print(msg)
191
+ give_warning(ghenv.Component, msg)
170
192
  use_shell = True if os.name == 'nt' else False
171
193
  process = subprocess.Popen(
172
194
  cmds, cwd=res_folder, shell=use_shell,
@@ -181,6 +203,12 @@ if all_required_inputs(ghenv.Component):
181
203
  data = list_to_data_tree(data)
182
204
 
183
205
  else:
206
+ if len(dyn_sch_) != 0:
207
+ msg = 'Dynamic Schedules are currently only supported for Annual Daylight ' \
208
+ 'simulations.\nThe input schedules will be ignored.'
209
+ print(msg)
210
+ give_warning(ghenv.Component, msg)
211
+
184
212
  # extract the timestep if it exists
185
213
  timestep, has_t_step = 1, False
186
214
  tstep_file = os.path.join(res_folder, 'timestep.txt')
@@ -0,0 +1,69 @@
1
+ # Honeybee: A Plugin for Environmental Analysis (GPL)
2
+ # This file is part of Honeybee.
3
+ #
4
+ # Copyright (c) 2023, Ladybug Tools.
5
+ # You should have received a copy of the GNU Affero General Public License
6
+ # along with Honeybee; If not, see <http://www.gnu.org/licenses/>.
7
+ #
8
+ # @license AGPL-3.0-or-later <https://spdx.org/licenses/AGPL-3.0-or-later>
9
+
10
+ """
11
+ Create a Dynamic Aperture Group Schedule, which can be used to process any dynamic
12
+ aperture geometry that was run in an annual simulation.
13
+
14
+ -
15
+ Args:
16
+ _group_aps: Honeybee Apertures that are a part of the same dynamic group and will
17
+ be assigned the same schedule for postprocessing. Typically, this is
18
+ the output of the "HB Dynamic Aperture Group" component but it can
19
+ also be the output of the "HB Get Dynamic Groups" component, which
20
+ returns all of the dynamic groups on a particular Model.
21
+ _schedule: A list of 8760 integers refering to the index of the aperture group state
22
+ to be used at each hour of the simulation. This can also be a single integer
23
+ for a static state to be used for the entire period of the simulation
24
+ or a pattern of integers that is less than 8760 in length and will be
25
+ repeated until the 8760 is reached. Note that 0 refers to the first
26
+ state, 1 refers to the second state, and so on. -1 can be used to
27
+ completely discout the aperture from the simulation for a given hour.
28
+
29
+ Returns:
30
+ dyn_sch: A dynamic schedule object for the input aperture group, which can be plugged
31
+ into any of the Results components with a syn_sch input.
32
+ """
33
+
34
+ ghenv.Component.Name = 'HB Aperture Group Schedule'
35
+ ghenv.Component.NickName = 'GroupSch'
36
+ ghenv.Component.Message = '1.6.0'
37
+ ghenv.Component.Category = 'HB-Radiance'
38
+ ghenv.Component.SubCategory = '4 :: Results'
39
+ ghenv.Component.AdditionalHelpFromDocStrings = '1'
40
+
41
+ try:
42
+ from honeybee.aperture import Aperture
43
+ except ImportError as e:
44
+ raise ImportError('\nFailed to import honeybee:\n\t{}'.format(e))
45
+
46
+ try:
47
+ from honeybee_radiance_postprocess.dynamic import ApertureGroupSchedule
48
+ except ImportError as e:
49
+ raise ImportError('\nFailed to import honeybee_radiance:\n\t{}'.format(e))
50
+
51
+ try:
52
+ from ladybug_rhino.grasshopper import all_required_inputs, recipe_result
53
+ except ImportError as e:
54
+ raise ImportError('\nFailed to import ladybug_rhino:\n\t{}'.format(e))
55
+
56
+
57
+ if all_required_inputs(ghenv.Component):
58
+ dyn_sch = []
59
+ dyn_ids = set()
60
+ for ap in _group_aps:
61
+ assert isinstance(ap, Aperture), 'Expected Aperture. Got {}.'.format(type(ap))
62
+ dyn_grp_id = ap.properties.radiance.dynamic_group_identifier
63
+ if dyn_grp_id is None:
64
+ raise ValueError(
65
+ 'Input Aperture "{}" is not a part of a dynamic group.'.format(ap.display_name))
66
+ if dyn_grp_id not in dyn_ids:
67
+ dyn_ids.add(dyn_grp_id)
68
+ _ap_group_sch = ApertureGroupSchedule(dyn_grp_id, _schedule)
69
+ dyn_sch.append(_ap_group_sch)
@@ -42,16 +42,21 @@ Model.
42
42
  If the vertical distance between two Apertures is larger than this
43
43
  tolerance the Apertures cannot be grouped. If no value is given the
44
44
  vertical grouping will be skipped. (Default: None).
45
+ states_: An optional list of Honeybee State objects to be applied to all the generated groups.
46
+ These states should be ordered based on how they will be switched on.
47
+ The first state is the default state and, typically, higher states
48
+ are more shaded. If the objects in the group have no states, the
49
+ modifiers already assigned the apertures will be used for all states.
45
50
  _run: Set to True to run the automatic Aperture grouping.
46
51
 
47
52
  Returns:
48
- model: A Honeybee Model object where all Apertures with Outdoors
53
+ model: The input Honeybee Model object where all Apertures with Outdoors
49
54
  boundary condition have been assigned a dynamic group identifier.
50
55
  """
51
56
 
52
57
  ghenv.Component.Name = 'HB Automatic Aperture Group'
53
58
  ghenv.Component.NickName = 'AutoGroup'
54
- ghenv.Component.Message = '1.6.2'
59
+ ghenv.Component.Message = '1.6.4'
55
60
  ghenv.Component.Category = 'HB-Radiance'
56
61
  ghenv.Component.SubCategory = '0 :: Basic Properties'
57
62
  ghenv.Component.AdditionalHelpFromDocStrings = '2'
@@ -78,8 +83,8 @@ except ImportError as e:
78
83
 
79
84
  try:
80
85
  from honeybee_radiance.config import folders as rad_folders
81
- from honeybee_radiance.cli.multiphase import _aperture_view_factor, \
82
- _aperture_view_factor_postprocess, cluster_view_factor, \
86
+ from honeybee_radiance.dynamic.multiphase import aperture_view_factor, \
87
+ aperture_view_factor_postprocess, cluster_view_factor, \
83
88
  cluster_orientation, cluster_output
84
89
  from honeybee_radiance.lightsource.sky.skydome import SkyDome
85
90
  except ImportError as e:
@@ -152,11 +157,11 @@ if all_required_inputs(ghenv.Component) and _run:
152
157
  rflux_sky = rflux_sky.to_file(folder_dir, name='rflux_sky.sky')
153
158
 
154
159
  # calculate view factor
155
- mtx_file, ap_dict = _aperture_view_factor(
160
+ mtx_file, ap_dict = aperture_view_factor(
156
161
  folder_dir, apertures, size=size, ambient_division=1000,
157
162
  receiver=rflux_sky, octree=octree, calc_folder=folder_dir
158
163
  )
159
- rmse = _aperture_view_factor_postprocess(
164
+ rmse = aperture_view_factor_postprocess(
160
165
  mtx_file, ap_dict, room_apertures, room_based
161
166
  )
162
167
 
@@ -184,6 +189,7 @@ if all_required_inputs(ghenv.Component) and _run:
184
189
  json.dump(group_dict, fp, indent=2)
185
190
 
186
191
  # assign dynamic group identifiers for each aperture
192
+ group_ap_dict = {}
187
193
  for room in model.rooms:
188
194
  for face in room.faces:
189
195
  for ap in face.apertures:
@@ -191,3 +197,22 @@ if all_required_inputs(ghenv.Component) and _run:
191
197
  dyn_group_id = group_dict[ap.identifier]
192
198
  ap.properties.radiance.dynamic_group_identifier = \
193
199
  dyn_group_id
200
+ try:
201
+ group_ap_dict[dyn_group_id].append(ap)
202
+ except KeyError:
203
+ group_ap_dict[dyn_group_id] = [ap]
204
+
205
+ # assign any states if they are connected
206
+ if len(states_) != 0:
207
+ for group_aps in group_ap_dict.values():
208
+ # assign states (including shades) to the first aperture
209
+ group_aps[0].properties.radiance.states = [state.duplicate() for state in states_]
210
+ # remove shades from following apertures to ensure they aren't double-counted
211
+ states_wo_shades = []
212
+ for state in states_:
213
+ new_state = state.duplicate()
214
+ new_state.remove_shades()
215
+ states_wo_shades.append(new_state)
216
+ for ap in group_aps[1:]:
217
+ ap.properties.radiance.states = \
218
+ [state.duplicate() for state in states_wo_shades]