As many of you have already noticed, the release of LBT 1.9.0 is long overdue and so we wanted to give you an explanation and an update for when you can expect us to finally be over the hump (TLDR: the release should be in about a month or two).
First, if it was not already clear from the releases of LBT 1.0 through 1.8, we generally try to keep the stable releases of LBT synced with the stable releases of EnergyPlus/OpenStudio that happen every 6 months. So each stable release of LBT happens on a 6-month cycle and is tied to a single version of EnergyPlus/OpenStudio. However, LBT-Grasshopper 1.8 is currently the latest stable release and uses OpenStudio 3.7 yet OpenStudio 3.9 has been out for a few months now. So we’re almost a year late and owe you an explanation.
To give a little background, NREL has been working hard over the last 5 years to support Python bindings for OpenStudio, which is a huge help to us given that Python is the language that the vast majority of LBT-Grasshopper is written in. Up until recently, all of the OpenStudio translators that we wrote for LBT-Grasshopper use the OpenStudio Ruby bindings (with Ruby being the high-level language that OpenStudio historically supported). Since 2021, we had plans to convert our Ruby-based OpenStudio/E+ translators to use the new OpenStudio Python bindings but it was always a major task that we punted down the road to work on other features. This all ended with the release of OpenStudio 3.8 and 3.9, which had some major changes aimed at the support of OpenStudio Python measures and also happened to break some of the ways that we had been running the OpenStudio Ruby bindings.
So, over the past several months, we have been going through a major effort to rewrite all of our OpenStudio translators to use the Python bindings, putting all of the new code into a new honeybee-openstudio Python package. At long last, we have gotten over the hump and we have an initial version of the package that performs the entire translation to OpenStudio in Python. Today, we just switched over the HB Model To OSM component to use the new translators. You can get the updated component now by running the LB Versioner component and those of you who try it out should experience a significant performance improvement in the time it takes to write the OSM. The translator also supports a new Honeybee Room.zone
property which can be assigned with a “HB Set Zone” component and enables you to group the Rooms served by the same thermostat into Zones for your EnergyPlus simulations in order to get a single set of results on the zone level.
Both these improvements should make it easier to set up and run simulations of large models, which was a major goal of this effort. …. You may also experience some bugs just given how large of a change this is. Granted, we have run a battery of tests to help ensure that any obvious issues were caught and fixed. But there are realistically always a few things that fall through the cracks with a refactor this big. So we will try to be vigilant with checking the forum for bug reports over the next few weeks as many of you try the new translator.
Once we’re fairly confident that the bugs are eliminated, we will update to OpenStudio 3.9 and then (finally!) make a LBT 1.9 stable release. All of this should take a month or two if everything goes smoothly. So hang tight and we should get there soon enough!