UTCI with ladybug tools 1.4 - Surface temperatures

I am currently trying to do an outdoor comfort analysis using a mix of ladybug-tools 1.4 with the LB Outdoor Solar MRT component and wind-speed from butterfly calculations. Using ENVI-MET on the sideline for some MRT verification. The LB component does not appear to take in the context of the buildings regarding reflection and heat absorption, is this possible to do with for examples Honeybee and how? What happens is that the MRT correctly shows lower temperature in the shade of the building, but it does also show lower temperature when standing near the building even though being directly exposed to the sun. According to ENVI-MET heating and reflection from the building should make it warmer when you are closer.

I have seen older topic posts (about a microclimate map) linking to similar scripts, but they are using a way older version of LB and I can’t seem to reproduce it in LB 1.4.

Hey @Dybber ,

There’s full support for UTCI comfort maps in the LBT component using the HB UTCI Comfort Map component.

Unlike the Ladybug workflows, it accounts for shortwave solar reflections (using Radiance) as well as the temperatures of any surrounding surfaces modeled as Honeybee Rooms (using EnergyPlus). You can see here for a simple outdoor comfort example to get you started

Hi Chris,

What is the workflow to calculate the temperatures of the surrounding surfaces using EnergyPlus to then feed into the UTCIMap component? There doesn’t seem to be a place to run the EnergyPlus simulations in the example you linked.

Or does the UTCIMap component perform the EnergyPlus and Radiance calculations?


Hi njbrsr,

I’m currently using a workaround for this, finding the energy plus sql file in the results folder and reading the face temperatures from that (I think it must be something along the lines of HB face result). You can then visualise face results from there.

Would be good to know if I should be accessing surface temps in this way or not.

Just realised I missed the second half of your comment - the UTCIMap component does the energy plus and radiance sims and calculates all those temps for you without you having to input them.

1 Like

I played around a bit with this today and discovered that the UTCIMap component does the energy plus calculations for the surface temperatures, and these can be visualised in the way you note above. If this is the correct way to access the surface temps, perhaps the UTCIMap component could more explicitly provide the path to the energy plus sql file.

It looks like everyone figured out the answer here but to answer this question:

It’s perfectly fine to load the data from the .sql file and you can also load up the input Honeybee Model from the HBJSON file that’s in that simulation folder (you just need to plug the path to the .hbjson file into the HB Load Objects component to get the Model). Then, you can color the model geometry with temperatures using the HB Color Faces component if you like.

We don’t output the .sql file from the recipe for similar reasons that we don’t output the detailed matrices of irradiance that we get from Radiance. They’re kinda just stepping stones along the way to getting to the thermal comfort (the key thing that we usually want).

But all of these stepping stones are always recorded in the simulation folder if you want to go back through them or dive deeper into them. Furthermore, they should always be in the same place in the simulation folder and we try hard not to change the structure of the simulation folder over time. So it shouldn’t be terribly difficult to figure out where the .sql file is given the other results if you think you’ll be checking this .sql file frequently.


Hi Chris! I have a question in relation to this topic. I don’t understand the difference between the calculation of UTCI with LB or with HB components. Which one is better for a more accurate calculation? As far as I have understood the workflow with the HB component is more accurate thanks to the possibility of being able to connect a csv file with the wind speed calculated in Eddy3d (for example) and because it performs the temperature calculation of the external surfaces with EnergyPlus.But I think the MRT calculation is more accurate with LB components.
Is that correct?

Yes, the Honeybee UTCI Comfort Map is much more accurate on all accounts. The simulation will take a lot longer with Honeybee recipe but it’s more accurate than Ladybug because:

  1. The longwave MRT calculation can account for the temperatures of surfaces if you have modeled the geometry as Honeybee Rooms (EnergyPlus is used to compute surface temperatures for these geometries).
  2. The shortwave MRT calculation of the UTCI comfort map accounts for solar reflections off surfaces (an optionally the transmittance of transparent objects) because Radiance is used to model the shortwave calculation.
  3. You have the option to use more detailed wind speeds, though technically this is possible with both the UTCI map or the Ladybug workflow (if you are willing to do some data tree management).

Hello again Chris! regarding the temperature of the surfaces calculation, a question has arisen for me. If I understand correctly, the sql file outputs a temperature value for each surface but does not perform a discrete analysis of each surface. That is, when mapping the results of this file, I get a uniform color for an entire surface regardless of whether it has a covered part and another directly under the sun. If so, is there any way for the UTCI component to perform a discrete analysis of the urban surfaces temperature?

Hi @julia_dba,

The simulation will give a surface temperature for each face of the input polysurface. So you’ll probably need to split up the top face of your ground surface into lots of smaller faces, then join it back into one whole closed polysurface.

This image shows what I mean.

Hope that makes sense!