Near-surface air temperature

I’m running an analysis on my building to determine “plant microclimates”. Ladybug is giving sunlight hours and radiation data ( per point / per hour) which is great, but when it comes to a temperature near the surface, I’m using honey bee.
The problem is that when I export the data from honeybee, it gives me a temperature for the whole surface.
Is there a way of tweaking the results so I can have a temperature for each point instead of a whole surface?
Alternatively, can I use ladybug to give me surface temperature or near-surface air temperature instead of honeybee?

Yes, there are a variety of ways of doing this, from computing a simple surface heat balance from simulation outputs, or fitting the points to a curve based on point-specific conditions. But, a simpler, more robust solution would be to let EnergyPlus just do this for you.

You can do this by just splitting your building surfaces into a grid of smaller surfaces (consistent with your LB grid), and fusing them back into a brep before creating your HB Face or HB Room. This will add more time to your EnergyPlus simulation, but conceptually will be fine, as all you’re doing is adding a slightly more detailed, albeit redundant boundary surface to your zone.

If it were me, I would also just get the solar radiation data from EP directly, and ditch LB all together.

1 Like

Hi @Aczimbarg

When you are mentioning temperatures I am assuming it is radiant temperature from the surfaces. If my assumption is right, then I have attached here a sample recipe generated from the legacy version of components.

Assign the zone from Brep and calculate the surface temperatures. The mean or point-in-time surface temperature of each surface temperature should be provided in the panel in the recipe (currently I gave some dummy values). The sequence in which you have provided the surface temperatures, assign the surfaces to the srfViewFactor component as shown in recipe. That how you can achieve MRT with respect to specific point. If you are expecting to calculate the operative temperature (which account air temperature and MRT) instead of only radiant temperature for the same, please refer ASHRAE 55 where you can have mathematical to calculate the operative temperature for each MRT point you generated as values. (484.1 KB)

1 Like

Hi Saeran

Thanks for the help. I gave it a go but it’s definitely making the energy + analysis really heavy. Will play with the data and hopefully will sort the issue

Hi Naga. Yes I need the effective temperature. I’ll give it a go thanks

1 Like

Hi Naga,

firstly, thank you for your time. I was having a look at the definition you sent me. If I use the honeybee zone test point, it will only get the points on the floor of the brep.
What happens if I want to calculate the temperature on a wall?

Dear @Aczimbarg

Each point represents MRT based on the distance from the walls, ceiling and floor surface temperatures. Currently the test points are generated from floor using the HB Zone Test points.

You can also generate the same from wall using the HB Generate test points component. Deconstruct the Brep and use item selector to choose the wall from which you want to generate test points. Supply the same to HB Generate test points component as _testGeometry. If the points are moving away from the zone, then use Flip surface component first.


Actually, if MRT is what you want, not the literal surface temperature, then I agree @Naga’s approach is the right one for you. Not only does manually subdividing the EP surfaces computationally costly, by default it will only consider long-wave (LW) exchange with the sky, air, and ground. You can incorporate the LW impact of surrounding building surfaces, but it requires additional customization, including a precalculated list of view factors. Better to stick to the simpler HB workflow.

Also, how does the MRT factor into plant microclimates? What metric are you using to assess plant microclimates?

@Naga, @Aczimbarg

Also, when converting the indoor MRT calculation to an outdoor calculation, you also need to define the ground and sky components. You can model a large surface brep at z=0 to represent the ground, and then then the sky view factor F_{sky} is 1 - \left( \sum_i{F_{srf_i}} + F_{ground} \right).

The sky MRT contribution can also be further split into air and sky fractions by multipying the F_{sky} by some factor. EP uses around 0.3, 0.7 respectively, for untilted surfaces[1].

[1] Outside Surface Heat Balance: Engineering Reference — EnergyPlus 22.1

1 Like

What I am after is outdoor air temperatures, not MRT. However, air temperature usually does not vary much within a given small area. We do know that the building envelope will have different temperatures (the bottom will be cooler than the top, for example), but since I cannot use air temperature, what is important for populating the building with plants (let’s say a green wall), is to know the heat near the building surface. By combining temperature, radiation, sunlight hours and relative humidity, we can select the right plant for a specific climate condition.
This is why I was using energy plus. The problem is that I need the analysis to give me the result per point or square meter ( in the same format as the ladybug analysis for sunlight hours and radiation), not per surface.
Does this make sense?

1 Like

Your study is very interesting. But as @SaeranVasanthakumar informed, my approach may not be ideal. You have the option of assessing point based outdoor comfort using the OutdoorComfortRecipe component in HB Legacy. I have no idea if it is available for new version of ladybug tools. As per my knowledge, the OutdoorComfortRecipe component in HB Legacy accounts the long-wave exchange factors discussed by @SaeranVasanthakumar.

I recommend you to use the Material:RoofVegetation option in EnergyPlus which can facilitate key outputs like soil temperature and other based on vegetation characteristics. However, I have no idea whether the Material:RoofVegetation can be used for wall constructions.

Dear @Naga and @chris, @mostapha
A am new in this domain so I have a relevant question.
As far as I learned and noticed from your comments in the Forum, there is a difference between Air temperature and Mean Radiant Temperature. Honeybee can simulate outdoor MRT for a given neighborhood, but can not estimate the variation of Air Temperature (outdoors). So, what is your suggestion for somebody like me who requires the spatial variation of air temperature?
Is there any correlation between dry bulb Air temperature and MRT?
In my project, the exact value of Air temperature is not needed, but a precise simulation of its spatial variation is required (as part of microclimate).

Thanks for your time.

I divided my geometry surface into a grid to match the ladybug grid. but when I run the analysis it gives me the following error:
9. The simulation has not run correctly because of this severe error:
** Severe ** CheckConvexity: Surface=“F3A99D1F5347495B9307_8” is non-planar.

Hi Saeid,

Bulb Temperature refers basically to “the ambient air temperature”. It is called a “Dry Bulb” because the air temperature is indicated by a thermometer not affected by the moisture of the air - the one that we measure with the thermometer ( @mostapha, @chris - correct me if I’m wrong)
The MRT is the exchange of radiant temperature between objects, and it’s in thermal comfort to find the right conditions for the human body - which in my case, doesn’t work, as I’m measuring microclimates for plants only.
In my project, I need to consider the air temperature up to 500 / 600mm above the analysed surface, so I’m assuming that the air temperature in that area is so close to the surface temperature (due to heat transfer) that I can say that it’s the same. ( the minimum variation won’t affect the plants).
Does it make sense?

If you’re getting this error:

Then just use the LBT 1.5 plugin. It’s basically impossible to get this error on the simulation component and you’ll be able to identify the problematic geometry earlier while you are creating the problematic honeybee objects.

You’re probably not going to be able to get a useful value for the air temperature close to the plants unless you run a CFD study and you know exactly how far away from the surface is the “right” place to measure the air temperature. The air temperature will change pretty quickly to be equal to the EPW air temperature as you leave the ground surface and the boundary layer is probably only a few cm if there is wind during the hour. So, if I were running this study, I would be fine with assuming that the air around the plants is equal to the EPW air temperature.

The Operative Temperate is probably a better indicator of the temperature that the plants are experiencing rather than the air temperature since I know this is the case for humans and human thermal comfort. So, if you’re trying to estimate the temperature of the plants themselves, I would think that the operative temperature is pretty close to this and much closer than the air temperature.

1 Like

Thank you @chris. That was insightful.
Can I use ladybug to calculate the operative temperature?

Also trying to optimise the building orientation to get the most microclimates possible on my facade. I’m using Wallacei and I’m wondering if I could find an example of how to set the objectives to a particular range of radiation. For example, how much do I have to rotate my building to get more points on the facade that has between 0.02 ans 0.09 kw/h (numbers were made up just as an example)