IB_ThermalZone capability for Dragonfly objects

Hi @MingboPeng

I hope you are pretty well.

Would it be possible to make some changes for the ``IB_ThermalZone’’ component to accept df_objects?

It seems it only accepts the HBRooms. To have analysis in detailed using DF, I need this capability.

Thank you very much in advance for your time and assistance.

Sincerely,
Behnam

Hey @behnammmohseni ,

You can use Ironbug with Dragonfly but you have to deconstruct the Buildings into Romo2Ds and then rejoin the Buildings afterwards. You may also want to copy/paste the Ironbug HVAC for each Building so that you know which of the Building HVACs you are editing.

Here is an example showing how to use an Ironbug system with Dragonfly:


dragonfly_with_ironbug.gh (135.5 KB)

1 Like

FYI, you may need to make sure that you are using the LBT 1.8.0 stable release to get the example file that I posted to simulate correctly.

At the moment, the development version of Dragonfly uses URBANopt 1.0.1, which uses OpenStudio 3.9 under the hood. However, Ironbug is all set up to work with OpenStudio 3.7 so you may get an error during simulation.

In a couple of weeks, we should have Ironbug updated to OpenStudio 3.9 in the development version so everything will be compatible again. Until then, the LBT 1.8.0 stable release will probably be your best bet.

1 Like

Hi @chris

Thanks very much Chris for your exact and prompt reply, the algorithm works nicely but I noticed something.

For large-scale analysis, with 300 buildings, I will have the following error

Would you kindly let me know what the problem is and how I can tackle that?

Sincerely,
Behnam

Hi @chris @MingboPeng

I hope you are pretty well

Please find the logs for the interruption happened during the simulation.

run.log:

[09:12:06.858022 WARN] [openstudio.EpwFile] Appears there are no design condition fields in the EPW file ‘C:/Users/22252988/AppData/Roaming/ladybug_tools/weather/GRC_CR_Chania.167470_TMYx/GRC_CR_Chania.167470_TMYx.epw’
[09:12:06.858022 WARN] [openstudio.EpwFile] Successive data points (1958-Jan-31 to 1956-Feb-01, ending on line 753) are greater than 1 day apart in EPW file ‘C:/Users/22252988/AppData/Roaming/ladybug_tools/weather/GRC_CR_Chania.167470_TMYx/GRC_CR_Chania.167470_TMYx.epw’. Data will be treated as typical (TMY)
[09:13:48.700274 ERROR] [openstudio.measure.OSRunner] Failed to apply IronBug HVAC:
Unhandled Exception: System.ApplicationException: bad allocation
at Ironbug.HVAC.IB_HVACSystem.FromJson(String json)
at Ironbug.HVAC.IB_HVACSystem.SaveHVAC(String osmPath, String hvacJsonFilePath)
at Ironbug.Program.Main(String args)
[09:13:48.706298 ERROR] [openstudio.workflow.OSWorkflow] Found error in state ‘OpenStudioMeasures’ with message: ‘Measure ‘from_honeybee_model’ reported an error with [Failed to apply IronBug HVAC:
Unhandled Exception: System.ApplicationException: bad allocation
at Ironbug.HVAC.IB_HVACSystem.FromJson(String json)
at Ironbug.HVAC.IB_HVACSystem.SaveHVAC(String osmPath, String hvacJsonFilePath)
at Ironbug.Program.Main(String args)
]’

in.osw.log:

Warn: Bundle activated but ENV[‘BUNDLE_WITHOUT’] is not set
Info: Setting BUNDLE_WITHOUT to ‘test’
E, [2025-04-29T09:12:11.469654 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/public_suffix-5.0.3.gemspec
E, [2025-04-29T09:12:11.471183 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/oslg-0.2.10.gemspec
E, [2025-04-29T09:12:11.471270 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/osut-0.3.0.gemspec
E, [2025-04-29T09:12:11.471412 #19180] ERROR – : Error activating gem :/ruby/2.7.0/bundler/specifications/tbd-3.2.3.gemspec
E, [2025-04-29T09:12:11.471707 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/ruby-ole-1.2.12.2.gemspec
E, [2025-04-29T09:12:11.471871 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/simplecov-html-0.12.3.gemspec
E, [2025-04-29T09:12:11.471936 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/docile-1.4.0.gemspec
E, [2025-04-29T09:12:11.472034 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/unicode-display_width-2.5.0.gemspec
E, [2025-04-29T09:12:11.472637 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/parser-3.2.2.4.gemspec
E, [2025-04-29T09:12:11.472767 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/regexp_parser-2.8.2.gemspec
E, [2025-04-29T09:12:11.472879 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/parallel-1.19.1.gemspec
E, [2025-04-29T09:12:11.473065 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/rake-13.1.0.gemspec
E, [2025-04-29T09:12:11.473777 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/openstudio_measure_tester-0.3.2.gemspec
E, [2025-04-29T09:12:11.473843 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/minitar-0.9.gemspec
E, [2025-04-29T09:12:11.473901 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/multipart-post-2.3.0.gemspec
E, [2025-04-29T09:12:11.478813 #19180] ERROR – : Error activating gem :/ruby/2.7.0/specifications/openstudio-extension-0.7.0.gemspec
Starting Model translation from Honeybee to OpenStudio
Translating Schedules
Translating Materials
Translating Constructions
Translating ConstructionSets
Translating ProgramTypes
Translating Default ConstructionSet
Translating Room Geometry
Translating HVAC Systems
Translating Context Shade Geometry
[openstudio.measure.OSRunner] Failed to apply IronBug HVAC:
Unhandled Exception: System.ApplicationException: bad allocation
at Ironbug.HVAC.IB_HVACSystem.FromJson(String json)
at Ironbug.HVAC.IB_HVACSystem.SaveHVAC(String osmPath, String hvacJsonFilePath)
at Ironbug.Program.Main(String args)
[openstudio.workflow.OSWorkflow] Found error in state ‘OpenStudioMeasures’ with message: ‘Measure ‘from_honeybee_model’ reported an error with [Failed to apply IronBug HVAC:
Unhandled Exception: System.ApplicationException: bad allocation
at Ironbug.HVAC.IB_HVACSystem.FromJson(String json)
at Ironbug.HVAC.IB_HVACSystem.SaveHVAC(String osmPath, String hvacJsonFilePath)
at Ironbug.Program.Main(String args)
]’

@chris Your algorithm works nice in small scale when the number of buildings is limited, but for large scale, the IronBug in DragonFly shows something like out of memory below as well:

DONE, result = false
Error running command: ‘C:/URBANopt-cli-0.14.0/OpenStudio/bin/openstudio.exe --bundle ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/Gemfile’ --bundle_path ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/.bundle/install/’ run -w ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/run/honeybee_scenario/Building_1191_3fa0939f/in.osw’ 2>&1 > “I:/Detailed_HVAC_Results/Winter/PTHP/Dec/run/honeybee_scenario/Building_1191_3fa0939f/in.osw.log”’
stdout: Failed to run workflow. Last Error:
Found error in state ‘OpenStudioMeasures’ with message: ‘Measure ‘from_honeybee_model’ reported an error with [Failed to apply IronBug HVAC:
Unhandled Exception: OutOfMemoryException.
]’
stderr:
DONE, result = false
DONE, result = false
Error running command: ‘C:/URBANopt-cli-0.14.0/OpenStudio/bin/openstudio.exe --bundle ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/Gemfile’ --bundle_path ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/.bundle/install/’ run -w ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/run/honeybee_scenario/Building_1189_458f15d2/in.osw’ 2>&1 > “I:/Detailed_HVAC_Results/Winter/PTHP/Dec/run/honeybee_scenario/Building_1189_458f15d2/in.osw.log”’
stdout: Failed to run workflow. Last Error:
Found error in state ‘OpenStudioMeasures’ with message: ‘Measure ‘from_honeybee_model’ reported an error with [Failed to apply IronBug HVAC:
Unhandled Exception: System.ApplicationException: bad allocation
at Ironbug.HVAC.IB_HVACSystem.FromJson(String json)
at Ironbug.HVAC.IB_HVACSystem.SaveHVAC(String osmPath, String hvacJsonFilePath)
at Ironbug.Program.Main(String args)
]’
stderr:
DONE, result = false
Error running command: ‘C:/URBANopt-cli-0.14.0/OpenStudio/bin/openstudio.exe --bundle ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/Gemfile’ --bundle_path ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/.bundle/install/’ run -w ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/run/honeybee_scenario/Building_1196_fab39f5e/in.osw’ 2>&1 > “I:/Detailed_HVAC_Results/Winter/PTHP/Dec/run/honeybee_scenario/Building_1196_fab39f5e/in.osw.log”’
stdout: Failed to run workflow. Last Error:
Found error in state ‘OpenStudioMeasures’ with message: ‘Measure ‘from_honeybee_model’ reported an error with [Failed to apply IronBug HVAC:
Unhandled Exception: System.ApplicationException: bad allocation
at Ironbug.HVAC.IB_HVACSystem.FromJson(String json)
at Ironbug.HVAC.IB_HVACSystem.SaveHVAC(String osmPath, String hvacJsonFilePath)
at Ironbug.Program.Main(String args)
]’
stderr:
Error running command: ‘C:/URBANopt-cli-0.14.0/OpenStudio/bin/openstudio.exe --bundle ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/Gemfile’ --bundle_path ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/.bundle/install/’ run -w ‘I:/Detailed_HVAC_Results/Winter/PTHP/Dec/run/honeybee_scenario/Building_1198_7a097f14/in.osw’ 2>&1 > “I:/Detailed_HVAC_Results/Winter/PTHP/Dec/run/honeybee_scenario/Building_1198_7a097f14/in.osw.log”’
stdout: Failed to run workflow. Last Error:
Found error in state ‘OpenStudioMeasures’ with message: ‘Measure ‘from_honeybee_model’ reported an error with [Failed to apply IronBug HVAC:
Unhandled Exception: System.ApplicationException: bad allocation
at Ironbug.HVAC.IB_HVACSystem.FromJson(String json)
at Ironbug.HVAC.IB_HVACSystem.SaveHVAC(String osmPath, String hvacJsonFilePath)
at Ironbug.Program.Main(String args)
]’

Would you kindly let me know what the problem is and how I can address that?

Thank you very much for your time and assistance.

Sincerely,
Behnam

It looks like your problem is probably related to Grasshopper data tree management. That is, you have not properly duplicated each Ironbug HVAC for each of the 300 buildings that you have in your model. In the sample I posted earlier, I achieved this by copy/pasting the Ironbug HVAC 3 times for each of the 3 buildings but, if you are not doing this copy/pasting 300 times in your model, then you will need to be diligent about checking the data tree management within your Ironbug script to make sure you have 300 plant loop instances (if the HVAC has plant loops), etc.

A quick way to be sure is that, if you don’t have 300 separate instances of ironbug HVACs coming out of the IB_HVAC System component, then that is your issue.

1 Like

Hi @chris

You are 100% right. The Tree algorithm I took was incorrect; I took 83 buildings with Explode Tree and precisely assigning the zones. The algorithm is working nicely without problem.

((previously I mistakenly grafted inside the cluster and forgot to graft the last loops and the last HVAC component in the Detailed HVAC used for the large-scale system, I thought maybe it worked but it seems not. For the limited scale, I chose the Explode Tree copy-paste the components and worked)).

Thanks very much for your time, assistance, and kindness.

Sincerely,
Behnam

1 Like