Questions about Outdoor Microclimate Map


Dear bee and bugs, I have the following questions regarding the Outdoor Microclimate Map demo file on Hydra that I’d like to have your input, maybe especially from Mostapha and Chris.…

Thank you very much in advance!

  1. why the underground zone representing the ground is defined as a plenum zone? By default, an office zone program is assigned. Will this affect the outside surface temperature of the ground plenum zone and affect, in turn, the outdoor microclimate map calculation?

  1. I assume the construction GroundMaterial composed of five layers of 200mm concrete materials as assigned to the ground plenum zone is to assimilate a ground surface composed of thick concrete. But why this construction is assigned to this zone using both the Set EP Zone Construction and Set EP Zone Underground Construction components? Will the surfaces of this zone automatically recognized as underground surfaces based on their positions in relation to the default xy plane?

  1. why a brep is connected to the input node distFromFloorOrSrf on the Indoor View Factor Calculator component which is expecting a number according to its annotation?

  1. why the outdoor comfort analysis recipe is used for the indoor comfort analysis component?

  1. why the OutdoorComfResult and DegFromNeutralResult are 2 csv files with PPD and PMV values if PMV/PPD thermal comfort model is only applicable to indoor air-conditioned space?

Microclimate Hardscape vs Softscape material/geometry/simulation issue

Dear bee and bugs, your advice is greatly appreciated!

Thank you!



Thank you for posting these questions and I apologize for responding so late. The past couple of weeks have been busy with the stable release among some other things.

First, I should say that, in accordance with this stable release, I have posted an updated version of this outdoor microclimate map example to the same link:…

  1. You will see that, in the new file, I now have a single component that is able to turn a zone into a “ground zone” (similar to a plenum). To clarify, both the plenum and ground zone components set all of the loads of the zone to 0 (no internal heat gain). So this means that any of the characteristics of the default office program will be negated. From your comments, Grasshope, it seems that you understand that the reason why I have a ground zone defined in this model is to account for the variation in ground surface temperatures that can occur with different objects casting shade onto the ground. Therefore, the key property that defines this zone is the construction of the top surfaces, which is now changed based on a number that you input into the Ground Zone component.

  2. You are correct in understanding the need for both “set zone construction” components in the old file. Because of the zone’s position below the Rhino model origin, the walls and floor are defined as underground surfaces and so I need the extra “Set EP Ground Construction” component. Admittedly, the constructions on the underground surfaces should have a minimal effect on the modeling of the surface temperature above the zone (the roof construction is most important) but it made sense to me that results would be more accurate by setting all of the constructions of the zone to the ground material. The current Ground Zone component ensures that all surfaces of the zone are assigned the ground material construction. It also ensures that all walls and floor surfaces have a ground boundary condition regardless of where they sit in relation to the rhino model origin.

  3. The distFromFlrOrSrf input can take either a number representing the distance from the floor of zones at which you would like to build a microclimate map or any surface on which you would like to see temperature variation. So the input is flexible and allow you to both build micro-climate maps quickly or take a longer time building them with more customization. For a visual of what you can do by inputting surfaces into this component, see this thermal animation of a section through a building that I designed for my thesis:…

For an example of a file using a numerical input for the microclimate map, see here:…

  1. The component has since been renamed (sometime in early July) to be called “Honeybee_Microclimate Map Analysis”. Originally, I developed the component to help me understand thermal diversity within zones but realized after building it out that the same method could be used to give deeper understandings of the outdoor environment. So, at present, it can do both indoor and outdoor microclimate maps. The only shortcoming at present is that the outdoor microclimate map uses EnergyPlus’s oversimplified means of accounting for outdoor wind (a simple wind profile that does nto account for obstructions). This shortcoming will be addressed once the first stable release of butterfly is out or I manage to work in components into LB that use the botlzman lattice particle collision method to approximate outdoor wind speeds. Other than this shortcoming, you can trust that all results you are getting from these components are to a high degree of accuracy (meaning that all air temperature and MRT values are accurate).

  2. Thanks for pointing this out. This is a mistake in my labeling of the file names and I will fix this before the end of today. When you use the workflow with the PMV recipe, these values are actual PMV/PPD values. When you use the Adaptive comfort recipe, these values are “degrees from neutral temperature” and “Comfortable Or Not” values. When you use the workflow with the UTCI recipe, these values are also “degrees from neutral temperature” and “Comfortable Or Not” values but they are different for UTCI than they are for the adaptive model. Specifically, the neutral temperature and comfort zone for UTCI is defined to be the same as it is in this publication:…

Hope this helps and let me know if you have any more questions,




I am just letting you know that I fixed the file naming for the Outdoor comfort component:…

I haven’t updated the example file yet but syncing with the githube will get rid of it for now.