How to add humidity control in Ironbug

I am trying to add Humidity control but failed using Ironbug. I could not find a Humidifier object in Ironbug.
Is that any alternative way?


1 Like

Hi @TWANG1017

I have added the humidifier and SPM_HumidityMax and Min in this update: (258.6 KB)

This is an example: (565.8 KB)

Please let me know if this works.


Hi Mingbo,

Thank you so much for that swift update. I tried the Humidifier object and it works.

However, what I realised is that the Dehumidification does not work. I know it is associated with the Controller:Water coil, which in default is controlled by Temperature only, and it should be controlled by TemperatureAndHumidityRatio.

I managed to use ‘Ironbug_ControllerWaterCoil’ to change the control variables, but it turns out the result E+ file keep using ‘Temperature’ without any changes. Is that a bug?

Please see the screenshots. Thanks in advance for your time.


This is the right way setting up the “ControllerWaterCoil”.

1 Like

Hi Mingbo,

It works now!! Thank you so much for saving my project.


I tried to implement the humidity control indicated in this forum post, but I get an error in the exportToOpenStudio object (ver 0.0.66) that says each air loop needs at least one fan when I switch from a regular cooling coil to the advanced cooling coil.

This is a picture of system with advanced cooling coil and temperature and humidity ratio control:

Here is the OpenStudio object with error:

This is the same system with the regular cooling coil:

Here is the OpenStudio object without the error message:

That’s the only change that I made. Any ideas on how to fix this?


Check and compare the output of “Merge” component. The data structure is different. It most likely you will need to flatten all inputs for “Merge” in order to create one air loop instead of multiple.

@MingboPeng, thank you. That worked.

Do you know of any good Grasshopper tutorials/trainings? I don’t have a lot of experience using it and would like to better understand when I need to “flatten” inputs, etc.

@alexchapin you can check the introduction video from Grasshopper’s creator David:

And here are some other resources:

1 Like

@MingboPeng thank you for those links. I’ll check them out.

Unfortunately, I’m having a different issue now. I’m getting the following error about the water coil controller not have a maximum humidity ratio setpoint.

This is the latest version of my system inputs:

I also added a maximum humidity ratio to the Zone as follows:

@alexchapin try to move humidity control setpoint to where right after cooling coil but before heating coil, this will take effect on the cooling coil.

For humidity controls, it generally is tricky to model correctly in a system, I’d suggest to create and test this system with the same settings in OpenStudio for a simple zone model first. This ensures your system works as expected before recreating it in Grasshopper.

@MingboPeng thank you again. I had a past project in OpenStudio that had max humidity control with the humidity control setpoint manager (type multizone maximum humidity average) applied to the supply node downstream of the supply fan and then the chilled water controller indicates that the sensor node name is the supply node with the humidity control setpoint manager. That’s what I was trying to recreate in Grasshopper, but I don’t see the ability to set the sensor node name for the chilled water controller. It’s effectively equivalent to move the humidity control setpoint manager to after the cooling coil but I am just noting this because it seems like there are instances when you can’t have a direct one-to-one relationship between Ironbug in Grasshopper and OpenStudio.