honeybee-radiance 1.66.94__tar.gz → 1.66.215__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 (167) hide show
  1. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/PKG-INFO +53 -6
  2. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/README.md +31 -2
  3. honeybee_radiance-1.66.215/dev-requirements.txt +19 -0
  4. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/__init__.py +2 -0
  5. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/dc.py +12 -9
  6. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/glare.py +19 -9
  7. honeybee_radiance-1.66.215/honeybee_radiance/cli/modifier.py +133 -0
  8. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/multiphase.py +164 -134
  9. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/octree.py +1 -0
  10. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/postprocess.py +1 -1
  11. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/study.py +8 -1
  12. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/threephase.py +4 -4
  13. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/translate.py +156 -35
  14. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/viewfactor.py +25 -0
  15. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/config.py +1 -1
  16. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/multiphase.py +201 -18
  17. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/bsdf.py +1 -1
  18. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/model.py +156 -3
  19. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/sensorgrid.py +37 -1
  20. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/writer.py +4 -4
  21. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/PKG-INFO +53 -6
  22. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/SOURCES.txt +1 -1
  23. honeybee_radiance-1.66.215/honeybee_radiance.egg-info/requires.txt +4 -0
  24. honeybee_radiance-1.66.215/requirements.txt +4 -0
  25. honeybee_radiance-1.66.215/setup.cfg +4 -0
  26. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/setup.py +6 -2
  27. honeybee-radiance-1.66.94/dev-requirements.txt +0 -23
  28. honeybee-radiance-1.66.94/honeybee_radiance.egg-info/requires.txt +0 -4
  29. honeybee-radiance-1.66.94/requirements.txt +0 -4
  30. honeybee-radiance-1.66.94/setup.cfg +0 -10
  31. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/.coveragerc +0 -0
  32. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/CODE_OF_CONDUCT.md +0 -0
  33. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/CONTRIBUTING.md +0 -0
  34. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/LICENSE +0 -0
  35. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/MANIFEST.in +0 -0
  36. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/__init__.py +0 -0
  37. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/__main__.py +0 -0
  38. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/_extend_honeybee.py +0 -0
  39. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/edit.py +0 -0
  40. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/grid.py +0 -0
  41. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/lib.py +0 -0
  42. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/mtx.py +0 -0
  43. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/raytrace.py +0 -0
  44. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/rpict.py +0 -0
  45. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/schedule.py +0 -0
  46. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/setconfig.py +0 -0
  47. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/sky.py +0 -0
  48. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/sunpath.py +0 -0
  49. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/util.py +0 -0
  50. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/view.py +0 -0
  51. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/config.json +0 -0
  52. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dictutil.py +0 -0
  53. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/__init__.py +0 -0
  54. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/group.py +0 -0
  55. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/state.py +0 -0
  56. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/stategeo.py +0 -0
  57. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/__init__.py +0 -0
  58. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/bubble.py +0 -0
  59. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/cone.py +0 -0
  60. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/cup.py +0 -0
  61. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/cylinder.py +0 -0
  62. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/geometrybase.py +0 -0
  63. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/instance.py +0 -0
  64. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/mesh.py +0 -0
  65. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/polygon.py +0 -0
  66. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/ring.py +0 -0
  67. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/source.py +0 -0
  68. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/sphere.py +0 -0
  69. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/tube.py +0 -0
  70. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/__init__.py +0 -0
  71. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/_loadmodifiers.py +0 -0
  72. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/_loadmodifiersets.py +0 -0
  73. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/modifiers.py +0 -0
  74. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/modifiersets.py +0 -0
  75. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightpath.py +0 -0
  76. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/__init__.py +0 -0
  77. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/_gendaylit.py +0 -0
  78. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/dictutil.py +0 -0
  79. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/ground.py +0 -0
  80. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/__init__.py +0 -0
  81. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/_skybase.py +0 -0
  82. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/certainirradiance.py +0 -0
  83. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/cie.py +0 -0
  84. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/climatebased.py +0 -0
  85. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/hemisphere.py +0 -0
  86. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/skydome.py +0 -0
  87. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/skymatrix.py +0 -0
  88. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/strutil.py +0 -0
  89. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/sunmatrix.py +0 -0
  90. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sunpath.py +0 -0
  91. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/__init__.py +0 -0
  92. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/__init__.py +0 -0
  93. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/absdf.py +0 -0
  94. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/antimatter.py +0 -0
  95. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/ashik2.py +0 -0
  96. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/brtdfunc.py +0 -0
  97. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/dielectric.py +0 -0
  98. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/glass.py +0 -0
  99. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/glow.py +0 -0
  100. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/illum.py +0 -0
  101. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/interface.py +0 -0
  102. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/light.py +0 -0
  103. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/materialbase.py +0 -0
  104. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metal.py +0 -0
  105. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metal2.py +0 -0
  106. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metdata.py +0 -0
  107. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metfunc.py +0 -0
  108. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/mirror.py +0 -0
  109. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/mist.py +0 -0
  110. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plasdata.py +0 -0
  111. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plasfunc.py +0 -0
  112. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plastic.py +0 -0
  113. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plastic2.py +0 -0
  114. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/prism1.py +0 -0
  115. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/prism2.py +0 -0
  116. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/spotlight.py +0 -0
  117. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/trans.py +0 -0
  118. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/trans2.py +0 -0
  119. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/transdata.py +0 -0
  120. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/transfunc.py +0 -0
  121. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/__init__.py +0 -0
  122. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixdata.py +0 -0
  123. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixfunc.py +0 -0
  124. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixpict.py +0 -0
  125. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixtext.py +0 -0
  126. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixturebase.py +0 -0
  127. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/modifierbase.py +0 -0
  128. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/__init__.py +0 -0
  129. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/brightdata.py +0 -0
  130. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/brightfunc.py +0 -0
  131. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/brighttext.py +0 -0
  132. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colordata.py +0 -0
  133. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colorfunc.py +0 -0
  134. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colorpict.py +0 -0
  135. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colortext.py +0 -0
  136. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/patternbase.py +0 -0
  137. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/__init__.py +0 -0
  138. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/texdata.py +0 -0
  139. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/texfunc.py +0 -0
  140. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/texturebase.py +0 -0
  141. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifierset.py +0 -0
  142. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/mutil.py +0 -0
  143. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/__init__.py +0 -0
  144. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annual.py +0 -0
  145. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annualdaylight.py +0 -0
  146. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annualglare.py +0 -0
  147. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annualirradiance.py +0 -0
  148. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/electriclight.py +0 -0
  149. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/en17037.py +0 -0
  150. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/leed.py +0 -0
  151. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/solartracking.py +0 -0
  152. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/primitive.py +0 -0
  153. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/__init__.py +0 -0
  154. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/_base.py +0 -0
  155. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/aperture.py +0 -0
  156. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/door.py +0 -0
  157. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/face.py +0 -0
  158. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/room.py +0 -0
  159. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/shade.py +0 -0
  160. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/shademesh.py +0 -0
  161. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/putil.py +0 -0
  162. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/reader.py +0 -0
  163. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/sensor.py +0 -0
  164. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/view.py +0 -0
  165. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/dependency_links.txt +0 -0
  166. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/entry_points.txt +0 -0
  167. {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/top_level.txt +0 -0
@@ -1,19 +1,37 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: honeybee-radiance
3
- Version: 1.66.94
3
+ Version: 1.66.215
4
4
  Summary: Daylight and light simulation extension for honeybee.
5
5
  Home-page: https://github.com/ladybug-tools/honeybee-radiance
6
6
  Author: Ladybug Tools
7
7
  Author-email: info@ladybug.tools
8
8
  License: AGPL-3.0
9
9
  Classifier: Programming Language :: Python :: 2.7
10
- Classifier: Programming Language :: Python :: 3.6
11
10
  Classifier: Programming Language :: Python :: 3.7
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
12
16
  Classifier: Programming Language :: Python :: Implementation :: CPython
13
- Classifier: License :: OSI Approved :: GNU Affero General Public License v3
17
+ Classifier: Programming Language :: Python :: Implementation :: IronPython
14
18
  Classifier: Operating System :: OS Independent
15
19
  Description-Content-Type: text/markdown
16
20
  License-File: LICENSE
21
+ Requires-Dist: honeybee-core==1.64.8
22
+ Requires-Dist: honeybee-radiance-folder==2.11.16
23
+ Requires-Dist: honeybee-radiance-command==1.22.5
24
+ Requires-Dist: honeybee-standards==2.0.7
25
+ Dynamic: author
26
+ Dynamic: author-email
27
+ Dynamic: classifier
28
+ Dynamic: description
29
+ Dynamic: description-content-type
30
+ Dynamic: home-page
31
+ Dynamic: license
32
+ Dynamic: license-file
33
+ Dynamic: requires-dist
34
+ Dynamic: summary
17
35
 
18
36
  # honeybee-radiance
19
37
 
@@ -27,9 +45,9 @@ License-File: LICENSE
27
45
  [![Python 2.7](https://img.shields.io/badge/python-2.7-green.svg)](https://www.python.org/downloads/release/python-270/)
28
46
  [![IronPython](https://img.shields.io/badge/ironpython-2.7-red.svg)](https://github.com/IronLanguages/ironpython2/releases/tag/ipy-2.7.8/)
29
47
 
30
- Radiance extension for honeybee
48
+ Radiance extension for honeybee.
31
49
 
32
- Honeybee-radiance adds radiance functionalities to honeybee for daylight simulation.
50
+ Honeybee-radiance adds Radiance simulation functionalities to honeybee for daylight/radiation simulation.
33
51
 
34
52
  ## Installation
35
53
 
@@ -40,3 +58,32 @@ To check if the command line interface is installed correctly use `honeybee-radi
40
58
  ## Documentation
41
59
 
42
60
  [API documentation](https://www.ladybug.tools/honeybee-radiance/docs/)
61
+
62
+ ## Local Development
63
+
64
+ 1. Clone this repo locally
65
+ ```console
66
+ git clone git@github.com:ladybug-tools/honeybee-radiance
67
+
68
+ # or
69
+
70
+ git clone https://github.com/ladybug-tools/honeybee-radiance
71
+ ```
72
+ 2. Install dependencies:
73
+ ```console
74
+ cd honeybee-radiance
75
+ pip install -r dev-requirements.txt
76
+ pip install -r requirements.txt
77
+ ```
78
+
79
+ 3. Run Tests:
80
+ ```console
81
+ python -m pytest tests/
82
+ ```
83
+
84
+ 4. Generate Documentation:
85
+ ```console
86
+ sphinx-apidoc -f -e -d 4 -o ./docs ./honeybee_radiance
87
+ sphinx-build -b html ./docs ./docs/_build/docs
88
+ ```
89
+
@@ -10,9 +10,9 @@
10
10
  [![Python 2.7](https://img.shields.io/badge/python-2.7-green.svg)](https://www.python.org/downloads/release/python-270/)
11
11
  [![IronPython](https://img.shields.io/badge/ironpython-2.7-red.svg)](https://github.com/IronLanguages/ironpython2/releases/tag/ipy-2.7.8/)
12
12
 
13
- Radiance extension for honeybee
13
+ Radiance extension for honeybee.
14
14
 
15
- Honeybee-radiance adds radiance functionalities to honeybee for daylight simulation.
15
+ Honeybee-radiance adds Radiance simulation functionalities to honeybee for daylight/radiation simulation.
16
16
 
17
17
  ## Installation
18
18
 
@@ -23,3 +23,32 @@ To check if the command line interface is installed correctly use `honeybee-radi
23
23
  ## Documentation
24
24
 
25
25
  [API documentation](https://www.ladybug.tools/honeybee-radiance/docs/)
26
+
27
+ ## Local Development
28
+
29
+ 1. Clone this repo locally
30
+ ```console
31
+ git clone git@github.com:ladybug-tools/honeybee-radiance
32
+
33
+ # or
34
+
35
+ git clone https://github.com/ladybug-tools/honeybee-radiance
36
+ ```
37
+ 2. Install dependencies:
38
+ ```console
39
+ cd honeybee-radiance
40
+ pip install -r dev-requirements.txt
41
+ pip install -r requirements.txt
42
+ ```
43
+
44
+ 3. Run Tests:
45
+ ```console
46
+ python -m pytest tests/
47
+ ```
48
+
49
+ 4. Generate Documentation:
50
+ ```console
51
+ sphinx-apidoc -f -e -d 4 -o ./docs ./honeybee_radiance
52
+ sphinx-build -b html ./docs ./docs/_build/docs
53
+ ```
54
+
@@ -0,0 +1,19 @@
1
+ pytest==8.3.2;python_version>='3.6'
2
+ Sphinx==8.0.2;python_version>='3.6'
3
+ sphinx-bootstrap-theme==0.8.1
4
+ sphinxcontrib-fulltoc==1.2.0
5
+ sphinxcontrib-websupport==2.0.0;python_version>='3.6'
6
+ sphinx-click==6.0.0;python_version>='3.6'
7
+ twine==6.1.0;python_version>='3.6'
8
+ wheel==0.45.1;python_version>='3.6'
9
+ setuptools==80.9.0;python_version>='3.6'
10
+ build==1.3.0;python_version>='3.6'
11
+ pytest==4.6.9;python_version<'3.0'
12
+ Sphinx==1.8.5;python_version<'3.0'
13
+ sphinxcontrib-websupport==1.1.2;python_version<'3.0'
14
+ sphinx-click==4.4.0;python_version<'3.0'
15
+ twine==1.13.0;python_version<'3.0'
16
+ wheel==0.38.1;python_version<'3.0'
17
+ setuptools==44.1.0;python_version<'3.0'
18
+ build==0.1.0;python_version<'3.0'
19
+ importlib-metadata==2.0.0;python_version<'3.0'
@@ -25,6 +25,7 @@ from .multiphase import multi_phase
25
25
  from .glare import dcglare
26
26
  from .schedule import schedule
27
27
  from .study import study
28
+ from .modifier import modifier
28
29
 
29
30
 
30
31
  _logger = logging.getLogger(__name__)
@@ -81,6 +82,7 @@ radiance.add_command(multi_phase)
81
82
  radiance.add_command(dcglare)
82
83
  radiance.add_command(schedule)
83
84
  radiance.add_command(study)
85
+ radiance.add_command(modifier)
84
86
 
85
87
  # add radiance sub-commands to honeybee CLI
86
88
  main.add_command(radiance)
@@ -21,13 +21,13 @@ def dc():
21
21
 
22
22
  @dc.command('scontrib')
23
23
  @click.argument(
24
- 'octree', type=click.Path(exists=True, file_okay=True, resolve_path=True)
24
+ 'octree', type=click.Path(exists=True, file_okay=True)
25
25
  )
26
26
  @click.argument(
27
- 'sensor-grid', type=click.Path(exists=True, file_okay=True, resolve_path=True)
27
+ 'sensor-grid', type=click.Path(exists=True, file_okay=True)
28
28
  )
29
29
  @click.argument(
30
- 'modifiers', type=click.Path(exists=True, file_okay=True, resolve_path=True)
30
+ 'modifiers', type=click.Path(exists=True, file_okay=True)
31
31
  )
32
32
  @click.option(
33
33
  '--sensor-count', type=click.INT, show_default=True,
@@ -118,12 +118,15 @@ def rcontrib_command_with_postprocess(
118
118
  else:
119
119
  options.update_from_string('-aa 0.0 -V+ -y {}'.format(sensor_count))
120
120
 
121
- options.M = modifiers
122
- # create command.
123
- rcontrib = Rcontrib(
124
- options=options, octree=octree, sensors=sensor_grid
125
- )
126
- cmd = rcontrib.to_radiance().replace('\\', '/')
121
+ modifiers = os.path.relpath(modifiers)
122
+ if modifiers.startswith('..'):
123
+ pass
124
+ else:
125
+ modifiers = f'./{modifiers}'
126
+ cmd = 'rcontrib {options} -M {modifiers} {octree} < {sensor_grid}'.format(
127
+ options=options.to_radiance(),
128
+ modifiers=modifiers, octree=octree, sensor_grid=sensor_grid)
129
+ cmd = cmd.replace("\\", "/")
127
130
 
128
131
  if conversion and conversion.strip():
129
132
  if multiply_by != 1:
@@ -18,13 +18,20 @@ def dcglare():
18
18
 
19
19
  @dcglare.command('two-phase')
20
20
  @click.argument(
21
- 'dc-direct', type=click.Path(exists=True, dir_okay=False, resolve_path=True))
21
+ 'dc-direct',
22
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True)
23
+ )
22
24
  @click.argument(
23
- 'dc-total', type=click.Path(exists=True, dir_okay=False, resolve_path=True))
25
+ 'dc-total',
26
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True)
27
+ )
24
28
  @click.argument(
25
- 'sky-mtx', type=click.Path(exists=True, dir_okay=False, resolve_path=True))
29
+ 'sky-mtx',
30
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True)
31
+ )
26
32
  @click.argument(
27
- 'view-rays', type=click.Path(exists=True, dir_okay=False, resolve_path=True)
33
+ 'view-rays',
34
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True)
28
35
  )
29
36
  @click.option(
30
37
  '--glare-limit', '-l', type=float,
@@ -51,7 +58,8 @@ def dcglare():
51
58
  '--glare-limit (or -l) is specified.'
52
59
  )
53
60
  @click.option(
54
- '--output', '-o', help='Path to output file. If a relative path is provided it '
61
+ '--output', '-o', default='output.dgp',
62
+ help='Path to output file. If a relative path is provided it '
55
63
  'should be relative to project folder.'
56
64
  )
57
65
  @click.option(
@@ -84,11 +92,13 @@ def two_phase_command(
84
92
  options.b = threshold_factor
85
93
  if occupancy_schedule:
86
94
  options.sf = occupancy_schedule
87
-
88
- # create command.
95
+ # create command
96
+ out_dir = os.path.dirname(output)
97
+ if out_dir and not os.path.isdir(out_dir):
98
+ os.makedirs(out_dir)
89
99
  dcglare = Dcglare(
90
- options=options, output=output, dc_direct=dc_direct, dc_total=dc_total,
91
- sky_matrix=sky_mtx
100
+ options=options, output=output,
101
+ dc_direct=dc_direct, dc_total=dc_total, sky_matrix=sky_mtx
92
102
  )
93
103
 
94
104
  if dry_run:
@@ -0,0 +1,133 @@
1
+ """honeybee radiance modifier commands."""
2
+ import click
3
+ import sys
4
+ import os
5
+ import logging
6
+ import json
7
+
8
+ from honeybee_radiance.sensorgrid import SensorGrid
9
+
10
+
11
+ _logger = logging.getLogger(__name__)
12
+
13
+
14
+ @click.group(help='Commands for generating and modifying Radiance modifiers.')
15
+ def modifier():
16
+ pass
17
+
18
+
19
+ @modifier.command('split-modifiers')
20
+ @click.argument('modifier-file', type=click.Path(
21
+ exists=True, file_okay=True, dir_okay=False, resolve_path=True))
22
+ @click.argument(
23
+ 'output-folder',
24
+ type=click.Path(file_okay=False, dir_okay=True, resolve_path=True))
25
+ @click.option(
26
+ '--sensor-count', '-sc', help='The number of sensors in the sensor grid '
27
+ 'that will be used in rcontrib with the distributed modifiers.',
28
+ type=int, default=5000, show_default=True)
29
+ @click.option(
30
+ '--grid-file', '-gf', help='Full path to a sensor grid file. This file '
31
+ 'is used to count the number of sensors and will override the '
32
+ '--sensor-count option.',
33
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True),
34
+ default=None, show_default=True)
35
+ @click.option(
36
+ '--max-value', '-max', help='An optional integer to define the maximum value '
37
+ 'allowed when multiplying the number of sensors with the number of modifiers '
38
+ 'in the distributed modifiers. Default: 40000000.',
39
+ type=int, default=40000000, show_default=True)
40
+ @click.option(
41
+ '--sensor-multiplier', '-d', help='An optional integer to be multiplied by '
42
+ 'the grid count to yield a final number of the sensor count. This is useful '
43
+ 'in workflows where the sensor grids are modified such as when calculating '
44
+ 'view factor. Default: 1.', type=int, default=1)
45
+ def split_modifiers(
46
+ modifier_file, output_folder, sensor_count, grid_file, max_value,
47
+ sensor_multiplier
48
+ ):
49
+ """Split a list of modifiers into multiple files.
50
+
51
+ This command splits the modifiers based on the sensor count and the max value.
52
+ The max value is divided by the sensor count to calculate the maximum number
53
+ of modifiers in each distributed file of modifiers.
54
+
55
+ This command creates a new folder with evenly distributed modifiers. The folder
56
+ will include a ``_dist_info.json`` file which has the information to recreate the
57
+ original input files from this folder and the results generated based on the modifiers
58
+ in this folder.
59
+
60
+ ``_redist_info.json`` file includes an array of JSON objects. Each object has
61
+ the distribution information, which in comparison to the command to split grids
62
+ is much simpler.
63
+
64
+ \b
65
+ Args:
66
+ modifier_file: Full path to a file with Radiance modifiers. The modifiers
67
+ must be the identifiers of the modifiers and not the actual Radiance
68
+ description of the modifiers.
69
+ output_folder: A new folder to write the newly created files.
70
+ """
71
+ try:
72
+ if grid_file:
73
+ sg = SensorGrid.from_file(grid_file)
74
+ sensor_count = sg.count
75
+ sensor_count *= sensor_multiplier
76
+
77
+ with open(modifier_file, 'r') as file:
78
+ modifiers = [modifier.strip() for modifier in file.readlines()]
79
+
80
+ modifier_count = len(modifiers)
81
+
82
+ max_lines_per_file = int(max_value / sensor_count)
83
+ lines_per_file = max(1, max_lines_per_file)
84
+ dist_count = int(len(modifiers) / lines_per_file)
85
+ if len(modifiers) % lines_per_file != 0:
86
+ dist_count += 1
87
+
88
+ mod_per_dist = int(round(modifier_count / dist_count)) or 1
89
+
90
+ # create output folder
91
+ if not os.path.isdir(output_folder):
92
+ os.mkdir(output_folder)
93
+
94
+ remainder = modifier_count % dist_count # extra lines to distribute
95
+
96
+ start_index = 0
97
+ dist_info = []
98
+ out_dist_info = []
99
+ for i in range(dist_count):
100
+ end_index = start_index + mod_per_dist + (1 if i <= remainder else 0)
101
+
102
+ lines_to_write = modifiers[start_index:end_index]
103
+
104
+ dist_info.append(
105
+ {
106
+ 'dist_info': [{'identifier': i}]
107
+ }
108
+ )
109
+ out_dist_info.append(
110
+ {
111
+ 'identifier': str(i),
112
+ 'count': len(lines_to_write)
113
+ }
114
+ )
115
+ # create a file and write the lines
116
+ with open(os.path.join(output_folder, '%s.mod' % i), 'w') as f:
117
+ f.write('\n'.join(lines_to_write))
118
+
119
+ # update the start index for the next iteration
120
+ start_index = end_index
121
+
122
+ dist_info_file = os.path.join(output_folder, '_redist_info.json')
123
+ with open(dist_info_file, 'w') as dist_out_file:
124
+ json.dump(dist_info, dist_out_file, indent=2)
125
+
126
+ dist_info_file = os.path.join(output_folder, '_info.json')
127
+ with open(dist_info_file, 'w') as dist_out_file:
128
+ json.dump(out_dist_info, dist_out_file, indent=2)
129
+ except Exception:
130
+ _logger.exception('Failed to distribute sensor grids in folder.')
131
+ sys.exit(1)
132
+ else:
133
+ sys.exit(0)