HB PMV Comfort Map - Comparison to CBE Thermal Comfort Tool

Hi @chris -

I have a question regarding the HB PMV Comfort Map: PMV and condition results as they compare to CBE Thermal Comfort Tool.

Core Question: should PMV and condition from recipe be equivalent to PMV output from CBE tool given same inputs?

The recipe outputs operative temperature at points across a grid, when I compared PMV result based on operative temperature at a point in grid I found that the recipe and CBE tool PMV results did not match (holding all other comfort parameters the same). For example, the recipe would yield compliant PMV at lower operative temperature than the CBE tool.

This led recipe to overestimate comfort compared to the CBE tool.

Representative Snip From CBE Online Tool - in this example, the recipe may say PMV is compliant at operative temp lower than 67F where online CBE tool would say 67F is min. allowed operative temp.

One potential source of the difference is the humidity ratio limits assumed by the component, which I did not modify with the “LB PMV Comfort Parameters” component.

Additionally, I was unsure what to enter for the input to humidity ratio. “number between 0 to 1” is suggested input; however, humidity ratio is typically in pounds or grains water / pound dry air (IP units).

What would you suggest as HR upper and lower inputs or could you provide additional context?


Yes. The PMV model in Ladybug Tools is just a Python implementation of the CBE Comfort Tool’s Javascript PMV model and you can see this is mentioned in the SDK docs:


I can tell you pretty confidently that is not the reason for the mis-match here and those humidity ratio inputs are only there for compatibility with some older versions of ASHRAE-55. If you don’t touch them, then everything will match with the latest version of ASHRAE-55 and the current CBE comfort tool. So I would leave them as they are.

The most likely explanation here is that you have not matched all 6 inputs of the PMV model between the CBE tool and whatever is happening at that specific hour on that specific sensor. All 6 of these need to match if you want to see the same result between the two:

  • air temperature
  • mean radiant temperature
  • relative humidity
  • air speed
  • clothing
  • metabolic rate

I can see off the bat that you aren’t really matching the air temperature and mean radiant temperature because you are using the CBE tool with operative temperature, which will treat both air and radiant temperature as equals, which they are probably not in your comfort map simulation. If you really want to do a test like this, then parse the env_conds with the HB Read Environment Matrix to get the MRT separately from the air temperature. I also doubt that the RH is exactly 40% at that hour and you should match this as well.

1 Like