ladybug-tools / ladybug-legacy

:beetle: Ladybug is an environmental plugin for Grasshopper.
http://ladybug.tools
Other
194 stars 82 forks source link

On thermal comfort indices and PET index #217

Closed stgeorges closed 6 years ago

stgeorges commented 8 years ago

This is a continuation of the discussion from pull request #207.

Hi @chriswmackey ,

First, please accept my sincere apology for taking me more than three weeks to reply. I am busy with my regular job, and I have been a bit lazy in spending my free time to something useful. Still, this happened to me a couple of times already, and I am truly not proud of that. I hope it will not take me so long to reply in future.

Thank you for the kind words! They mean a lot when given from the Ladybug+Honebey's best thermal comfort developer.

And thank you for pointing me to that topic on grasshopper forum. I missed it for some reason.

To implement spatial maps of PET, I would need you to move your functions for calculating PET into Ladybug_Ladybug at some point (preferably in the comfort models class). Do you have a sense of how big of a task this would be or if it is something you would be able to undertake in the next few months?

PET code has initially been added to the Ladybug_ladybug component. The only thing that was missing were thresholds. I added them right now. So now PET can be called from "ComfortModels" class.

I don't know your thoughts on this idea but, because PET seems to be an index that is getting a lot of use and attention today, I would be supportive of having a designated component to calculate it (much like the PMV, Adaptive and UTIC components).

I would rather keep it being accessed from the "Thermal comfort indices" component. Not sure why would separate it from it.

In my mind, PET's relation to UTCI has always seemed analogous to the relationship between the PMV and adaptive model so I can see it as completing the conceptual framework of the main comfort models.

There is no doubt UTCI is superior than any other outdoor comfort index, which includes PET too. The problem with UTCI is actually not in its inability to account for user defined activity, clothing, person gender, height... The real problem was the way it has been released: with 10 meters above ground level wind speed input. Which makes it the most sophisticated tool for weather forecast and for application by national weather services. But prevents it from being used in specific urban environments.

I would also like to work with what you have implemented here to make it possible for people to construct spatial maps of PET in the same way that users currently can with UTCI (http://hydrashare.github.io/hydra/viewer?owner=chriswmackey&fork=hydra_2&id=Microclimate_Map_-_Simple).

Yes, that would definitively be beneficial. Sorry I did not check on Microclimate Maps. I have your thesis bookmarked. By first glance it's an amazing study! I would have to find some time in the next period to read it all through, and learn from it.

At the least, I would like to de-emphasize the role of outdoor standard effective temperature (OUT_SET) now that we have your PET work since this will be more accurate at describing outdoor comfort.

Maybe it's better to keep the OUT_SET. Even though PET does accept inputs as clothing and metabolic activity, they do not affect the final PET temperature. It's due to PET temperature always corresponding to the following fixed reference indoor conditions: metabolic rate: 80W (≈ 1.4 mets: sedentary, or light standing activity), clothing insulation 0.9 clo. Therefor PET temperature for given inputs will always correspond to the temperature a person in mentioned indoor conditions would feel, if the indoor temperature would be equal to PET temperature. So for checking on how clothing and metabolic rate correspond to thermal comfort, it might be useful to keep OUT_SET. Or use the new Predicted Heat Strain ISO 7933 index. It supports clothing and metabolic activity changes. But it is restricted to hot environments only.

Also, if you get the chance, could you point me towards the publications and documentation on PET that you used to construct your component? For some reason, I had a hard time tracking down this documentation myself and I have always wanted to understand the theoretical basis of PET better.

Indeed the Urban climatic map and standards for wind environment publication offers some insight to PET. I additionally attached a couple of PET publications in here: https://www.dropbox.com/s/ztfsqzqm223tpj2/PETpublications.zip?dl=0

Again my apologies for the delay.

I wish you Merry Christmas (it's been four days, sorry) and Happy New Year!

chriswmackey commented 8 years ago

@stgeorges ,

This is awesome! Thank you for all of the useful information. I had been in the dark about how exactly PET is calculated and I only knew that it was popular from posts on the GH forum and in a number of thermal comfort books that I have read (I don't know why I found it so hard to find references for it). Needless to say, I am going to be spending a lot of time with all of these resources you have posted.

With the fixed assumptions of metabolic rate and clothing, I can understand now why UTCI seems to have grabbed a more widespread recognition since PET does not seem to be as dynamic of a metric as I originally thought. I agree that we should keep OUT_SET in the suite and we can keep both OUT_SET and PET integrated into their respective components. Still, I know many authors of books I have ready have viewed PET as a better indicator of outdoor comfort than OUT_SET and I hope to come to a better understanding of this through your resources. The reason may just be the difficulty of actually measuring metabolic rate and clothing such that it is sometimes better to fix them at an average value (at least this is something that many adaptive thermal comfort researchers argue).

The wind issue that you brought up makes clear why it is important to not rely only on UTCI for outdoor cases. This issue has always made me very uncomfortable when I use UTCI with the detailed micro-climate map workflow since I know there is more variation of thermal comfort with local wind patterns that I am simply not accounting for. I have justified it to myself for the time being by saying we don't have detailed wind models yet in LB+HB but this is definitely coming down the line with BF and possibly a particle collision method that I am investigating only for outdoor wind-driven cases. It is good to know that we will be prepared with PET microclimate maps when these features come into play.

Along thee lines, thank you so much for adding the PET functions to the comfortmodels class. I have opened an issue to integrate PET into the microclimate maps and I will get to it soon: https://github.com/mostaphaRoudsari/Honeybee/issues/442

And definitely do not worry about being away, especially around this time of the year when deadlines tend to pick up and the holidays take up all of the time afterwards. The most important thing for a volunteer project like LB+HB is that we stay motivated and I know that at least I have found this difficult if I feel obligated to respond every day to things. So just remember that we're a part of a collective passion project that is moving at its own pace. Breaks are important and I have had some months where I have practically dropped off the face of the web only to return back all the more motivated.

Last but not least, have a very happy new year, belated Christmas, and stay awesome! -Chris

stgeorges commented 8 years ago

Hi @chriswmackey ,

Along thee lines, thank you so much for adding the PET functions to the comfortmodels class. I have opened an issue to integrate PET into the microclimate maps and I will get to it soon: mostaphaRoudsari/Honeybee#442

Ok. Will be checking that issue.

possibly a particle collision method that I am investigating only for outdoor wind-driven cases.

This is sounds very, very, interesting!! Will definitively need to try it, once it's released!

And definitely do not worry about being away, especially around this time of the year when deadlines tend to pick up and the holidays take up all of the time afterwards. The most important thing for a volunteer project like LB+HB is that we stay motivated and I know that at least I have found this difficult if I feel obligated to respond every day to things. So just remember that we're a part of a collective passion project that is moving at its own pace. Breaks are important and I have had some months where I have practically dropped off the face of the web only to return back all the more motivated.

I can relate with this. Thanks for the encouragement.

Hey, your Christmas wishes are not late at all. Most Orthodox Christian Churches celebrate Christmas on 7th of January. So thank you for the nice wishes.

Greetings!

DambronOlivier commented 7 years ago

Dear @chriswmackey,

I am currently testing to link BF wind speeds into Outdoor comfort. As the Ladybug outdoor comfort calculator takes into account the windspeed at 10 meters above ground for UTCI, would there be a work-around to input velocities calculated at body height and still use the metric appropriately? Although It seems to be possible to apply a coefficient to deduce an approximated ground air velocity, it would be unfortunate not to make use of the accuracy of the results provided by BF . Otherwise PET would be an alternative, if I am not mistaken.

Kind Regards, Olivier

chriswmackey commented 7 years ago

@DambronOlivier ,

This is an excellent question as I dove into understanding the UTCI assumptions about wind right after @stgeorges brought up this point earlier in this issue. It turns out that the creators of UTCI made a very simple assumption about the relation between meteorological and ground wind speeds in order to relate the thousands of results from the detailed Fiala human energy balance model to the meteorological wind speed input to the UTCI calculation.

Specifically, this assumption is stated on this webpage as the following:

"Wind: reference height 1.1 m (according to ISO 7726), 2/3 of observing station wind speed (usually measured at 10m), assume wind blows from the side (at 90 degrees of the walking subject), wind and walking velocities to be added vectorially."

So, if you want to take a CFD wind speed measurement on the ground and use it to estimate UTCI, all that you have to do is divide it by 2/3 (or multiply by 1.5). This is exactly what I have built into the UTCI microclimate maps on this line so that you can plug in a csv of CFD results to the windSpeed_ input and account for it in the microclimate maps: https://github.com/mostaphaRoudsari/honeybee/blob/master/src/Honeybee_Microclimate%20Map%20Analysis.py#L1334

I should also say that the current version of Honeybee has a Microclimate map recipe for PET so that, if you feel safer using PET rather than UTCI to account for wind, you can go this route. However, in most cases that I have encountered so far, I have been hesitant to use PET as you have to select the specific body type, age, weight, and sex in order to run PET model. While it's a weakness sometimes, the fact that the UTCI model results are meant to represent an average over the population (and not a specific body type) is something that I have grown to appreciate. Of course, if you're designing a children's home or an elderly hospital, the ability to have PET is a huge benefit.

chriswmackey commented 7 years ago

Also, this reminds me @stgeorges . I have been thinking recently about how the default sex for the Ladybug PET model is male and, while you can make an argument for the use of a default age that is "average human age" or a default weight that is "average human body weight," we are clearly not doing this with sex. Is there any way of using the PET model with an "average sex?" or an average between the sexes? This is a question that I'm willing to investigate if we don't know the answer yet. It just seems that we should be using an average for this value if we want alignment with the other defaults and to be more equal and inclusive in our standards.

stgeorges commented 7 years ago

Hi @DambronOlivier , @chriswmackey

Fiala's model equations can be found in here: https://dspace.lboro.ac.uk/dspace-jspui/handle/2134/9318

As Chris already pointed out: the multiplication of the 2/3 with 10 m/s wind speed values scales the wind speed from meteorological value to body center height value. Fiala is essentially using the logarithmic wind profile with roughness lengths for some reason fixed to 0.01 meters (pdf page 14 in upper publication).

It also seems that Fiala's model is using the same logarithmic wind profile to calculate wind speed at different parts (height) of the body.

In regards of this wind scaling ENVI-met mentions the following:

"We do not recommend to use UTCI in the regression-based version based on using 2m (1.6m) level wind speeds extrapolated to 10m. In a complex urban environment, wind speeds at pedestrian level are unique and cannot be related to some above-roof general quantity. Instead, we propose the application of a pure physically-based approach such as PET. PET is a much more open platform and the final outcomes are more or less the same for all static indicators."

Is there any way of using the PET model with an "average sex?"

To be honest: I do not Chris. Hoeppe's original Fortran code does have the possibility of choosing sexes, which is what we currently have in Ladybug as well. Male uses sex numeric value of 1, and the female: 2. Still Hoeppe's The PET - a universal index for the biometeorological assessment of the thermal environment paper from upper zip file does not mention anything about the default sex. By looking at some of the default values (180 cm height, 75kg weight) and picture of a man it can be assumed that the default sex is a man, which is what I used. Would it be correct to input an average value of 1.5 ([male+femaile]/2) as an average sex value? I do not know. I haven't crossed any paper which would support such claim. Also by testing I noticed that differences in PET temperature between male and female sexes mostly do not raise above 0.1 degrees which is a bit low.

chriswmackey commented 7 years ago

@stgeorges ,

Thank you for all of the useful information. I'm still having a bit of trouble understanding why ENVI-met felt the need to discourage the use of UTCI. If it is simply because the default regression for UTCI uses a meteorological wind speed, why not simply multiply the ground level-wind results by 1.5 before input, essentially specifying this as the ground-level wind speed for the UTCI calculation (or the 1.1 m speed used in the original Fiala calculations)? I can understand that the ENVI-met creators might be worried that uninformed people would forget to multiply by 1.5 but it seems a bit extreme to completely dismiss UTCI because of a feature that is very easy to correct for. Or perhaps I'm missing something here.

With regards to PET defaults, this is all very helpful to know. I'm aware that the sex has a very small impact on the PET results from playing around with your component (which is sooooo helpful in this respect). Still, the great strength that I see in the PET model is that it allows you to understand the effect of a given parameter (like sex) while all of the others are held at average levels. For example, if I want to understand the general impact of age, I would probably want to hold sex at an average level (at least for the start of an exploration and then maybe I check if it affects men differently than women). In other words, I see the use of average defaults more about the principles of how the PET model is applied rather than something that is needed to keep it accurate.

I think it may be worth doing some research into the properties of an average body type and seeing if an input of 1.5 for sex gives us average results that makes sense. The history of thermal comfort is already so biased towards men (there are so many coefficients and properties in the PMV model that were derived from measurements of men that cannot be replaced now without completely remaking the model). PET has so much potential to revise this historical trend and I would not like to see it befall a similar fate just because practitioners didn't use good defaults.

stgeorges commented 7 years ago

Hi @chriswmackey ,

The way I understand it that PET takes into account only a single wind speed value: that at 1.1 meters, as it represents the whole body as a sphere at the same height above the ground. So due to PET's simplicity one can calculate the wind speed at 1.1meters and use it for PET.

UTCI on the other hand represents the body as a system of 15 cylinders, where each of them requires its own wind speed at particular (centroid?) height of the cylinder. But for calculation of all of these wind speeds it is using the same logarithmic wind profile. While the difference between wind speed from 0 to 1.8 meters height, might not be very large, in most cases the pattern may not follow the logarithmic profile.

As for introduction of PET sex average: Thank you for the clarification. Your points are definitively valid! I will change the original PET code in the following period by introducing "average" input besides "male" and "female".

chriswmackey commented 7 years ago

@stgeorges , Thank you very much for the clarification about UTCI's wind assumptions. I see now why you could argue that PET could be a bit better suited to handle custom CFD results. Still, both models seem a bit far from the ideal, which would have you able to put custom wind speeds that you get from the CFD into the different bodily nodes. In other words, the fact that PET doesn't have an input to account for different wind speeds over the body doesn't mean that it has fully addressed the issue. I'll admit, though, that it may be easier to correct for this in the PET model as I can imagine you can calculate the average wind speed over the height of the human and plug this into PET. This same method won't work as well with UTCI for the reason that you state. Thanks again for the enlightening discussion and I look forward to the average option!

stgeorges commented 7 years ago

Hi @chriswmackey ,

I'll admit, though, that it may be easier to correct for this in the PET model as I can imagine you can calculate the average wind speed over the height of the human and plug this into PET.

I don't think we can do this, as PET simplifies the whole body (limbs and internal organs) as a single sphere, with exception of skin. Unlike UTCI.

In other words, the fact that PET doesn't have an input to account for different wind speeds over the body doesn't mean that it has fully addressed the issue.

We all agree on UTCI superiority over PET. No question about it. The problem with wind speeds seems to be that PET uses exactly those which correspond to its model. UTCI polynomial regression equations model we currently have, uses improper wind speeds which correspond to its model.


I apologize for taking me too long to introduce the "average sex" to PET index. It could have been added before today's release of Ladybug 0.0.64 and Honeybee 0.0.61, but for some reason I mismanaged my free time this weekend. My apology once again.

chriswmackey commented 7 years ago

@stgeorges ,

I didn't mean for my response to sound like an argument for one model's complete superiority over another. Certainly different models are better suited to different situations and I know that I dragged on this thread because I wanted to be sure of myself when I recommend that PET is better suited for CFD-informed studies (and so that I understand how to get the most accurate results out of each model in a given study). Thank you for indulging me up to this point and I promise to spread all of the knowledge that you have passed onto me here.

Taking this altogether, I think we agree on the following:

1) Plugging CFD wind speed values from a single height into the PET model is far better practice than plugging them into the UTCI polynomial regression without correction.

2) If you are going to use UTCI with a CFD-informed study, you absolutely must apply a correction to the wind values by multiplying them by 1.5.

3) If you calculate average wind speed over the height of a person from a CFD study, PET will do a better job representing this value in the comfort model than UTCI (because UTCI assumes a log-law distribution of wind over the height of the body).

As for the "average sex" option, I apologize for not giving more warning before the release and I didn't realize that you would make the change so quickly. Thank you for being always on top of your stuff and let's get the pull request merged in shortly.

stgeorges commented 7 years ago

Hi @chriswmackey ,

No offense taken. Sorry if my upper reply sounded as if we argued around something. Discussion went both ways, with myself learning from you too! Everything I said should be taken as my opinion not as a set of facts. It may be that I am completely wrong on all of them.

Implementation of "average sex" confronts with some of the Ladybug "Body Characteristics" indices: BMILevel and BMR. In order for them to work, I would have to average some of the values for "male" and 'female" formulas. To cut in time, I didn't do that, I just added a notice that these indices can not be calculated with "average sex" and that "male" or "female" should be used instead. So It would have taken slightly more time to actually implement it, but I decided to go with the shortest possible change. No need for apology from your side, we spoke about it almost 6 days ago. That should have been enough time for me to implement it. Thank you for the kind words, I can not even imagine if I would be able to manage a couple of hundreds components release the way you and Mostapha do! Keep up the good work, you two!!

chriswmackey commented 6 years ago

I realize that this issue ended up as more of a discussion than an issue with the software. Now that we have things like an "average sex" implemented and there are no other changes to the software to be made, i am closing out this issue. Thanks for all of the insight @stgeorges !

stgeorges commented 6 years ago

Thank you for the useful contribution as well @chriswmackey !!