Setting Ground Reflectace in HB-Radiance

I’m trying to use Honeybee Radiance (using HB Annual Irradiance) for a study that investigates radiation on a façade. As part of this study, I’m interested in looking at the impact ground reflectance has on incident radiation.

I’m currently trying to set ground reflectance by creating a surface below my facade surface, and using an opaque modifier to set the reflectance properties for this surface. I want my modifier to be 100% diffuse reflectance, but to iterate through reflectances from 0-1, with increments of 0.1.

I’ve set specularity at 0.01, and roughness at 0.02 as I read somewhere else that if you give inputs of 0 you can get results that don’t make sense.

As an example, my modifier for 20% reflectance looks like this:

void plastic ground_context
5 0.2 0.2 0.2 0.01 0.02

For some reason, my ground reflectance modifier doesn’t have any impact on radiation on the face until I start to exceed 30% reflectance. From there, radiation on my facade surface increases pretty linearly with increasing ground reflectance until I hit 90% reflectance, and then drops off to values of radiation that I’m seeing when I’ve got reflectance set <30%. I’ve attached an image to try and show what I’m seeing.

Does anyone know why this is? Is it because ground reflectance needs to be set elsewhere? Logically these results don’t seem right, so wondering if anyone can explain what is going on?

Thank you!

Hi @angela_begg,

I ran a simple model with south and north facing grids with increments of 0.1 (0.1 to 0.9) and got reasonable results. Are you able to share your Rhino/Grasshopper file or a modified version where the issue is still present?


Hi @mikkel - very strange! I’ve attached a link to my modified grasshopper file where I’m seeing the issue.

Hi @angela_begg,

I get the results you showed when I run your file. I see that you set the limit weight manually to 1/ad, which is/was the rule of thumb, however, it is not always right. @sarith recently asked about setting an appropriate value of -lw to which Greg Ward responded that he recommends lower than 1/ad, perhaps 1/(2*ad). If you do not add -ad and -lw yourself and use the default parameters from the component this should be taken care off as the default -lw value in the component is 1/(100*ad), much lower than 1/ad.


Thank you! This solved my problem :grinning: