PolygonClipping vs. PixelCounting in the Comfort Maps

Hi Chris,

I just found out the surface temperature difference by comparing PixelCounting vs PolygonClipping.

My model has quite a few shading louvers. So I think maybe I should use PixelCounting in the Adaptive Comfort run.
My question is: how do I change the shadow calculation method in HB Adaptive Comfort Map recipe (I’m using LBT 1.6)? The recipe allows me to add additional string, but how to overwrite? Thanks.

Hi @XavierZhouLadybug ,

Sorry that I only just realized that you posted this several months ago but it was added to an unrelated topic and so I missed seeing it. It’s a good question because I debated a few times which of the two methods should be used in the comfort maps.

At the time that I am writing this post, all of the comfort map recipes currently use PolygonClipping. The main thing that drove the decision is the fact that the EnergyPlus PixelCounting method does not support shade transmittance at all (all shades are 100% opaque), which was going to be a deal breaker for many of the simulations that I imagined people would run with the comfort maps. You can see that this limitation is confirmed here by the EnergyPlus developers. Given that the only major advantage that the PixelCounting method seemed to have over PolygonClipping was that it was faster and used less memory when there were a large number of shades, it seemed like defaulting to PolygonClipping was the right thing to do.

So, if you’re still interested in this, I would first ask if any of the shades in your model there have a transmittance schedule assigned to them. If so, then it makes sense that the PolygonClipping temperature would be higher since this is accurately accounting for the shade transmittance while the PixelCounting is not.

If there is no shade transmittance in your model and you have good reason to believe that the PixelCounting method would be suitable for your case, let me know and I can at least tell you how to tweak the source code so that your comfort maps use PixelCounting.

Hi @chris,

Following up on this thread with a related issue.

I’m running the HB UTCI Comfort Map recipe on an outdoor urban study with building footprints imported from QGIS. After extrusion, several zones end up with non-convex footprints, which is triggering hundreds of Severe CHKBKS errors during RunEnergySimulation:

** Severe ** Problem in interior solar distribution calculation (CHKBKS)
   Solar Distribution = FullInteriorExterior will not work in Zone=...
   because one or more of vertices... is in front of receiving surface...
   Check surface geometry; if OK, use Solar Distribution = FullExterior instead.

The .eso never gets written, so the recipe hangs indefinitely with no useful output. Digging through honeybee_energy, I can see that comfort_sim_par in honeybee_energy/cli/settings.py hardcodes the SimulationParameter for the comfort map recipes, including FullInteriorAndExteriorWithReflections as solar distribution.

For my use case (outdoor sensor grids, no indoor comfort being computed), energyplus’s own error message recommends switching to FullExterior, which makes sense.

Two things:

  1. Can you point me to where exactly to make the edit in the current comfort_sim_par? I’d rather not guess if there’s a parallel default elsewhere.

  2. Would it be worth exposing an optional sim_par_ input on the comfort map components for advanced users? I think that specifically for outdoor comfort studies would be very useful to be able to set up the energyplus simulation.

Thanks for everything you do with LBT.

Hi @aliivicini ,

Here is the part of the source code that puts together the simulation parameters for the comfort maps:

If you installed via the Pollination installer, you’ll find it in:

C:\Program Files\ladybug_tools\python\Lib\site-packages\honeybee_energy\cli\settings.py

You’ll see there that you can change the solar distribution by editing the source code. You can also change all of the comfort maps to use PixelCounting by adding:

sim_par.shadow_calculation.calculation_method = 'PixelCounting'

In the future, I think we can expose the solar calc method and distribution on the recipe. Especially if anyone else here on the forum confirms that it would be helpful. For now, you can just edit the source code and this should unblock you.

Thank you very much @chris !