Honeybee[+] 0.0.3 for Grasshopper and Dynamo Release

Dear Ladybug community,

After more than a year of development, we are very excited to finally have a public release for Honeybee[+]. As most of you already know by now, Honeybee[+] is one of our [+] developments, which is an attempt to make Honeybee platform-agnostic, cloud-compatible, scalable and more flexible for development. It currently consists of a core python library and the plugin libraries for Grasshopper and Dynamo.

You can download the plugin for Grasshopper from food4Rhino and install the Dynamo plugin from the package manager. You must install the latest version of Radiance to use Honeybee[+].

This current release introduces Radiance-based workflows for daylighting simulations and supports the following simulation types:

  • Point-in-time illuminance (a.k.a grid-based)

  • Point-in-time luminance (a.k.a image-based).

  • Daylight coefficients (both grid-based and image-based)

  • Three-Phase Method (grid-based implemented, image-based to be added soon)

  • Five-Phase Method (grid-based implemented, image-based to be added)

NOTE: There has been a very recent update to the Five-Phase method which was presented at the IBPSA2017 conference last week. These changes have NOT been implemented in the current release. We suggest the users to use the daylight coefficient recipe for annual metrics, sDA and ASE until we apply the recent changes.

While many of you will recognize the first three simulation types above as ones that Honeybee has always supported. Image-based daylight coefficients, Three Phase Method and Five Phase Method are increasingly advanced ways of running annual or time-lapse simulations. Tensor Tree based BSDFs, while supported in Honeybee are not featured in any of the example files. We intend to incorporate this functionality in the near future. The simulation-methods listed above are based-on empirically validated research conducted primarily by researchers a…. There are also some special workflows (which we call recipes!) that make it easier for beginners to use the plugins.

  • Solar access simulation aka sunlight hours (which employs point-in-time simulation).

  • Daylight factor simulation (which employs point-in-time simulations).

  • [Annual] Radiation simulation (which employs daylight coefficients).

  • Annual [daylight] simulation (which employs daylight coefficients)

Energy simulation features are yet to be implemented in Honeybee[+] so, if you’re using Honeybee mostly for energy modeling you should keep using the legacy version.

Frequently Asked Questions

I’m happy with Honeybee as it is. Why should I install this one?

Honeybee[+] addresses several limitations of the legacy version of Honeybee and introduces new features which were not available before.

Broadly speaking, Honeybee[+]:

  • Is faster than the current annual recipe implementation as we now leverage the Radiance binaries directly instead of using Daysim.
  • Is more accurate at calculating direct solar contribution.
  • Can handle BSDF materials (unlike the current Honeybee annual daylight simulation).
  • Can run sub-annual daylight simulation by generating sub-annual sky matrix.
  • Uses an improved implementation of Radiance’s daylight coefficient based methods by using Radiance utilities for annual simulation.
  • Can calculate the contribution of each light source separately both for image and grid based simulation.
  • Has no limitations on the number of window groups and states of dynamic blinds.

It also provides a nearly-matching interface for both Grasshopper and Dynamo. There are a few platform specific components / nodes for each plugin but the overall workflow in each interface is the same. Honeybee[+] should also, in theory, work just fine on Grasshopper for Mac, although we admittedly have not tested this yet. This also means that you should be able to use Radiance’s built-in parallel processing.

We strongly encourage our experienced users to start using Honeybee[+] right away. You will enjoy the new features and the flexibility that you have come to love in the current workflow is all still there. The ability to separate the contribution of each window group is also just so cool and useful. If you’re as nerdy about daylight simulation as we are, you don’t want to miss out!

How should I get started?

You can download the installer from Food4Rhino for Grasshopper and Dynamo Package Manager for Dynamo.You can get yourself started with Honeybee[+] using the example files that is part of the installation part until we capture the video tutorials. The example files are commented as much as possible so you can educate yourself in the process. If you are already using Honeybee for Grasshopper, you will know how to use Honeybee[+]. There are a few changes in the post processing components but there is no major change from the current workflow.

Let us know if you find any bugs or have any suggestions for new features.

Can I install Honeybee[+] next to the current version of Honeybee?

For Grasshopper users, the answer is yes. Honeybee[+] is a totally separate from Honeybee and won’t replace it at least for one year.

For Dynamo users, the answer is no. The new package is an improved version of what was available before and is meant to replace it. In other words, the currently available “Honeybee for Dynamo” is built using the new Honeybee library.

How do I learn more about Honeybee[+]?

A significant portion of the development work for the daylighting methods implemented in Honeybee[+] forms the basis of Sarith’s PhD research. His dissertation, titled “Parametric Modeling Strategies for Efficient Annual Analysis of Daylight in Buildings”, is expected to be available publicly in early 2018. For the time being, we encourage you to refer the slides of this Radiance workshop presentation from 2016.

For those interested in learning more about the Radiance-based methods implemented in Honeybee[+], a comprehensive tutorial for Radiance will be released by LBNL in the coming weeks.

EDIT: The document is now available. See here: An advanced tutorial for daylighting simulations

Where to post issues, comments or bugs?

Very soon we will compile all the discussions in our new discussion forum. It is invite only at this point until we move all the current discussions to the new forum. Meanwhile:

Known bugs

  1. The Room To HBZones component for Dynamo is doomed to fail for complex cases. In those cases use Dynamo’s select item(s) nodes to bring the geometries to Dynamo and create Honeybee surfaces. Also vote up this feature request which will fix this bug if you haven’t…! This will hopefully be the last release that we are still waiting for Autodesk help. If it doesn’t happen the next move is to write a more solid solution to address this issue.

  2. This is the first release. However, we have tested the workflow as much as we could and have checked the results against the original Honeybee and other Radiance-based workflows bugs are expected. Double check the results of each study and let us know if you found any bugs.

NOTE: As many of you know by now, Radiance employs a combination of deterministic and stochastic methods for calculations. For this reason, the results you get from running the same Radiance simulation will be slightly different for each run by a small margin of error (this should be less than 10%).

What to expect next?

Except for the cloud computing support! We have reached all of the other major goals that we had for 2016-2017. For the rest of the year we will try to address the items below:

  • Documentation of the [+] developments. We need to document the current development and get more of the contributors up to speed with the new development.
  • Release a new version of Butterfly to support the latest release of OpenFOAM and docker-less installation for Windows 10.
  • Cloud computing service for Butterfly and Honeybee

Finally we will have a number of major announcement about the future of Ladybug Tools soon! Stay tuned!

Mostapha on behalf of Ladybug Tools development team

Note added by Sarith:

On the cross-platform aspect, to add to Mostapha’s release notes, the core library has been tested on the following platforms:

  • Linux Ubuntu: Version 14.04 | 16.04 | 17.04
  • Linux RHEL: 6.8
  • Unix FreeBSD: 10.0
  • Linux (Cloud VM): Microsoft Azure H16mr running Ubuntu 17.04
  • Linux (Cloud VM): Amazon AWS EC2 t2 running Ubuntu 14.04

The core dependencies for running Honeybee on the cloud are Python 2.7, Radiance, git and honeybee . Since Apple computers typically run Unix-like OSs, we don’t foresee any portability issues with them.

2 Likes

Thank you guys for such an amazing work, once again :slight_smile: Conrats :slight_smile:

Very interesting, thank you for the release of Honeybee[+]!!

Is it possible to get an explanation of the installation procedure?

I have few questions:

  • do I need to copy the userObjects in the relative GH folder? Together with the other Honaybee and Ladybug .ghuser files.

  • or running the installer from the .gh file is enough?

  • do we need to do something specific with the python files in the honeybee and ladybug folders? Or are they the installation files that are automatically installed through the installer?

  • why there is also a ladybug folder?

  • since it is possible to keep installed both Honeybee and Honeybee[+] and the latter use Radiance 5.1.0 we need/can keep also both the version of radiance installed? I think not because the folder name should be C:\Radiance in any case. This means that also Honeybee works with Radiance 5.1.0?

Best,

Francesco

Brilliant work as always! I’ll dive into the code right away while patiently waiting for the documentations for other developers to contribute :slight_smile:

Btw, there’s a bug with the automatic installer but I’ll copy them manually for now since I’m way too excited to not start at once.

Runtime error (Win32Exception): WindowsError
Traceback:
line 247, in rmtree, “c:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\shutil.py”
line 223, in onerror, “c:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\shutil.py”
line 249, in rmtree, “c:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\shutil.py”
line 244, in rmtree, “c:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\shutil.py”
line 244, in rmtree, “c:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\shutil.py”
line 244, in rmtree, “c:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\shutil.py”
line 62, in installHoneybeePlus, “<string>”
line 87, in script

Thanks Mostapha!!

So many good news in so short period of time. Great!!!

-A.

Dear Francesco,

For your last point, I think you can run both Honeybee and Honeybee[+] with the latest updated Radiance 5.1.0 version. Honeybee[+] just provides us with a grasshopper interface to leverage the advanced utilities of the latest Radiance version, whereas normal Honeybee legacy version is an interface for the more standard workflow for traditional features of Radiance/Daysim.

Thank you so much guys! Incredible work and hats off to the entire development team!!!

Honeybee[+] has its own tab, so no problem with that.

My question now is regarding the Radiance version.

V5.1 default is to be installed in ProgramFiles (instead of C:). Is this ok or it has to be in C?

-A.

Hi Pin! Thanks. Seems the issue happens during removing the files. I can add an exception there in case other people also face this issue.

Wow! Thank you Mostapha for the great news.

Wow! And it was not long ago that the last version was released. Impressive pace!

Thanks for alla the team for the great job.

After installing the new Honeybee[+] unfortunly i got a new plugin LadybugPlus but not HoneybeePlus, is it normal ?

And i got this:


Copying honeybee source code from C:\Users\MyName\AppData\Roaming\Grasshopper\ladybug to C:\Users.MyName\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\ladybug

Copying honeybee source code from C:\Users\MyName\AppData\Roaming\Grasshopper\honeybee to C:\Users\MyName\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts\honeybee

Copying honeybee userobjects to C:\Users\MyName\AppData\Roaming\Grasshopper\UserObjects.
Runtime error (Exception): C:\Users\MyName\AppData\Roaming\Grasshopper\userObjects\Honeybee EP context Surfaces.ghuser and C:\Users\MyName\AppData\Roaming\Grasshopper\UserObjects\Honeybee EP context Surfaces.ghuser are the same file
Traceback:
line 82, in installHoneybeePlus, “<string>”
line 87, in script
line 68, in copyfile, “c:\Program Files\Rhinoceros 5 (64-bit)\Plug-ins\IronPython\Lib\shutil.py”

Merci beaucoup.

Aziz, Seems the libraries are copied correctly and you can copy the userobjects manually. Can you tell me from where are you running the scripts? Hopefully not from ths userObjects folder?

Hi Mostapha,

Is there any option in H+, as the “Lookup Daylight folder” from Honeybee legacy ? - to read back the results later ?, or if the simulation will be run e.g. at a Unix cluster and then copied back and visualize them via GH ? and will be there any option to use Trans material ?

Thanks,

Peter

Mostapha,

Here is where im unziping all the file and runing it

C:\Users\MyName\AppData\Roaming\Grasshopper

Aziz,

Copy the core[+] python files here C:\Users~\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts

Then copy the contents of userObjects here:

C:\Users~\AppData\Roaming\Grasshopper\UserObjects

Mostapha and Spencer,

It’s works.

So gratfull.

Thanks and Merci beaucoup.

On the cross-platform aspect, to add to Mostapha’s release notes, the core library has been tested on the following platforms:

Linux Ubuntu: Version 14.04 | 16.04 | 17.04

Linux RHEL: 6.8

Unix FreeBSD: 10.0

Linux (Cloud VM): Microsoft Azure H16mr running Ubuntu 17.04

Linux (Cloud VM): Amazon AWS EC2 t2 running Ubuntu 14.04

The core dependencies for running Honeybee on the cloud are Python 2.7, Radiance, git and honeybee . Since Apple computers typically run Unix-like OSs, we don’t foresee any portability issues with them.

Hi Peter,

In multi-phase analysis if reuse*Mtx is set to True the component will only load the results without running the analysis.

In case you want to create your own component, use Human or other plugins to get the list of the results files and then use this part of the code. Replace self.resultFiles with filepaths. You can create the analsysGrids from point files using AnalysisGrid.fromFile class method.

If you open an issue I will make sure to add it for the next release.

Hi Mostapha,

Thank you for your clear answer, and the hint for the component, I will let you know if anything. I tried the reuse Mtx in windows and it works.

Thank you,

Peter