Reflectance of Shading Surfaces in EnergyPlus

Hi everybody,

I am running energy simulations with Honeybee/energyPlus.I would like to be able to account for the influence of the urban context on one building’s heating/cooling loads.

The solar masks aspects are ok. I have a brep for the urban context that I input in the “Honeybee EP Context Surfaces” component.

But I don’t find the way to input albedo/reflectance values for the urban context. I have tried to input a RADMaterial in the “Honeybee EP Context Surfaces” component. But my simulation results do not change when I change the reflectance of the RADMaterial.

Many thanks in advance for your help!


The E+context doesn’t take into account the properties of the surroundings. Rather it relates to the context as shading objects, i.e. blocking the sun.


1 Like

Hi Marc,

RADMaterial will only and only be used when the file is getting exported to Radiance. This is normal that it’s not changing the results.

EnergyPlus shading objects don’t have a field for reflectance and use .2 as default. You can use ShadingProperty:Reflectance to change the default value. We don’t support this in Honeybee interface right now but you can create the objects and add them to your energy model using additionalStrings_ input.

I put a simple example together were I change the reflection for shading surfaces to .5 for unglazed part of shading and portion and .7 for glazed part. I also set the percentage of glazing to 50% of the surface area.

I didn’t put any input checks. Make sure to read the documentation to put valid input values for energyplus otherwise the energyplus simulation will fail. I also assumed that all the shading surfaces (context) will be planar surfaces.

Keep in mind that it will only effect the results if you are using one of the solar distributions with reflections. Honeybee is using FullInteriorAndExteriorWithReflections by default so you should be fine if you’re using the default settings.

Hope it helps,

Mostapha (493 KB)



I learned something new today!!

Always related to the shading objects as they are all under the same conditions.




Thanks Mostapha, this can come in handy :slight_smile:

Hi Abraham and Theodore, Now that you both seem to be interested do you think that we should add this to Honeybee shading objects as a default option?

1 Like

Hi Mostapha,

I do. Do you mean implementing the material properties into the HB_HB_EPContextSrf?

It is important to keep the EPTransSchedule_ input. I’m not sure if there is a chance of conflict between both possibilities …?



Interestingly enough EnergyPlus doesn’t change reflectance based on transmittance schedule! It stays the same regardless. That’s one of the reasons that I was initially so skeptical about implementing it into Honeybee. It can get people pretty confused.

Note that a shadowing transmittance schedule (ref: Shading Surfaces, Field: Transmittance Schedule Name) can be used with a reflective shading surface. However, EnergyPlus assumes that the reflectance properties of the shading surface are constant even if the transmittance varies

So it is worth to implement, i think.



Hi Mostapha,

Thanks a lot for your help!

As I am no expert in e+ your example was really useful!


Hi Mostapha,

is it possible to insert (by an Honeybee tool) the “ShadingProperty:Reflectance” to associate with the “Shading:Building:Detailed” geometry? I would use this parameter in order to set all the reflectance properties of the possible external shadings (louvres, fix shadings etc…).

If i use the RADmat, does it take into account the Radiance material properties in the E+ calculation? If yes, where is the shading material in the .idf file?

Thanks a lot!


I know it’s kind of an old post but I was wondering if this option is implemented yet? Also, I can’t download Mostapha’s Grasshopper definition, can someone please re-upload it.

@mostapha I was able to get the file from the old discussion board. I tested your script in a simple office room and a large glazed surface across the room. I tested different reflectance values and WWR ratios, I initially anticipated to see some changes in cooling loads due to solar heat gain from the sunlight bounced off the glazed surface (glazed surface is facing south, location is Houston) but didn’t see any changes in heating/cooling loads. Any ideas? If the script isn’t valid anymore, any other way I can account for the solar reflectance of my shading surfaces for EP analysis. Here is my simple room file (557.5 KB)

@mostapha I just retried the script using the EP component instead of the Openstudio one and I noticed a difference in the cooling and heating loads! Very strange!

@RaniaLabib if you really want to precisely test the reflections (specular) from glass (contexts), you probable need to model those glass surfaces as context zones’ window. Context here I mean the regular zone instead of shading. Construction for the glass will be: SHGC and VT = 1- reflectance.
ps: I found the reflectance setting in EP shading obj doesn’t work well with specular reflection.

Here I am testing the exterior surface temperature:

@MingboPeng, I finally am able to start testing this. When you say Context zone window, does this mean I model the reflective surface as a window of a zone and connect it directly to the HB zones input in my run_OS_simulation component?

@mostapha, I think it was a great idea! This is why this topic deserves to be brought back to attention. This function of setting material properties such as reflectance of shading context surfaces is a big miss in HB functionality.

Currently, I have an issue with energy and daylight integrated design that involves external shading surfaces. For one, it is not clear for an inexperienced user what wavelength range the reflectances settings for Radiance and Honeybee refer to. I figured that Radiance calculates reflected solar radiation from the visible part of the spectral radiation range (360-740 nm), and EnergyPlus takes a larger span when calculating the portion of reflected radiation (including the non-visible parts like UV and near infrared) :question: Please correct me here.

Now, for EnergyPlus simulation we can choose to input shading through:

  • HB_EPContextSrf, which allows for customised shading geometries but does not allow to change the material properties (reflectance = 0.2 -> no information about this),
  • HB_EPWindowShades or Window Shade Generator, with limitations in possible shading geometries (blinds with less than 3 _numOfShds do not produce HBObjWShades, therefore cannot be plugged to EnergyPlus directly from this component) but here you can set the material properties (EPShadeMat).

It would be great to have the option of plugging in both Radiance and EnergyPlus material properties into the HB_EPContextSrf component, having more freedom in designing custom shading geometries with assigned properties. At this moment, we can change Radiance properties and set any reflectance, say 90 %, and run a daylight simulation, but when you apply the same shading to run an energy simulation with, you only get 20 % reflectance, so then the results would not match.
Or alternatively, it would be great to have an input of own surface geometries to HB_EPWindowShades and just assign schedules and material properties there.

I understand that this is a work in progress and we owe you a lot already @chris and @mostapha! Thanks for your good work :blush:

@mostapha @chris

I’m reviving this topic once again because I too would be really interested in being able to model more accurately non-conventional shading geometries.
I was wondering if there were a couple of workarounds anyone has tried before such as changing the default value of the HB Context, feeding solar radiation values from Radiance as the input in E+, or best of all, provide a set of breps that we want to model as the surface for the shading geometry to the inbuilt shading component. The latter I am particularly interested in because I am modelling blinds with odd spacing and angle, but they are still shaped like regular louvres and it doesn’t seem like this would be a really big change (need to change the z coordinates for the height and the rotation angles as a list).

Has anyone made any progress on this or alternatively, anyone really good at Python that would be willing to collaborate on this? :slight_smile:

Fingers crossed

Ellika Taveres-Cachat

1 Like

@RaniaLabib, did you solve the Solar Reflectance? I would like to know how. I am studying the effect of SR on energy consumption specific to indian context. Help will be appreciated, specific to material properties addition. I am varying the roof SR only. Thanks.

Dear @mostapha Kindly Share this file as I am not able to access it. I am working on simulating the effects of Cooling Roofs in Indian Context and validating it with Indian Context. I will be varying SR value of the roof. Thanks