pythermalcomfort icon indicating copy to clipboard operation
pythermalcomfort copied to clipboard

Mean Radiant Temperature Estimations

Open benterich opened this issue 1 year ago • 15 comments

Is your feature request related to a problem? Please describe. Not really a problem, just something I would find useful. There are various ways to estimate Mean Radiant Temperature, hence it would be useful to have it in this package.

Describe the solution you'd like One method that can estimate Mean Radiant Temperature. For example the "traditional method" by Fanger, "Six-directional method", "Black globe thermometer method".

Preferably I would propose, one MeanRadiantTemperature Class, that holds the various methods and its inputs.

Describe alternatives you've considered Otherwise, its also possible to create seperate methods for each estimation independantly.

I can inccoperate them :)!

benterich avatar Nov 05 '24 15:11 benterich

I completely agree that it would be nice to have equations to estimate the mean radiant temperature.

There is already one function that allows you to do that, it is called solar_gain_on_people. The name for this function is not great and we could consider a better naming convention. Moreover, the function to calculate the MRT from the globe temperature is also there already.

I agree that we should have one class/funcition and then people can choose the method they use. Please note that, I am in the process of updating all the function in pythermalcomfort, you can see how I am structuring them by looking at the development branch. I have not updated all the function yet, but you can have a look at the adaptive ASHRAE function.

It would also be very useful to incorporate a function that estimates mean radiant temperature based on the solar radiant, cloud coverage. The authors of the Clima App, have already done that and they have described the method in this paper.

Could you please help me find all the functions we can use to calculate the mean radiant temperature and then we can have a quick call in which we discuss how we are going to add them to pythermalcomfort?

FedericoTartarini avatar Nov 14 '24 08:11 FedericoTartarini

Yes, i would love to help out!

I saw how you updated the functions and it seems clear to me. I am gonna have a look at the estimation done in the ClimaApp and gonna collect all to me known methods to estimate MRT. Then I can make a quick concept which we can dicsuss, ideal would be after the 2nd December, since then i have conducted my masterthesis defense.

Kind regards, Ben

benterich avatar Nov 18 '24 11:11 benterich

Great to hear that my new code makes sense. As you can see it is not finished but I am planning to work on it as soon as I get back to Australia.

Yes, after the 2nd of December works perfectly since I will be travelling until the 3rd of December. All the best with your oral defence.

I think it is going to be fantastic if we collate all the code to calculate the MRT and include all these functions in pythermalcomfort. Matzarakis Andreas also did some work on this topic and there are applications like RayMan to do the calculations. Perhaps there are also some review papers that they discuss this topic, if there is not perhaps we could consider writing one once you have collated all the functions. :)

FedericoTartarini avatar Nov 18 '24 16:11 FedericoTartarini

@benterich Another article that is relevant is this which compares the different equations used by different tools to calculate the mean radiant temperature.

However, it should be noted that with pythermalcomfort we will not be able to calculate all the view factors and surface temperatures of the surrounding objects. We will need to make several assumption, for example, that the temperature of the surrounding surfaces is equal to the air temperature and the sky is absorbing heat from the human body. I have not read in detail the paper from the ClimApp but that should be a good starting point.

FedericoTartarini avatar Nov 22 '24 19:11 FedericoTartarini

"we will not be able to calculate all the view factors and surface temperatures of the surrounding objects. We will need to make several assumption" - Yes i agree, we definitly have to, otherwise we basically building an engine. However, if we provide some smart and carefully though inputs, i think there might be potential to to adpat pythermalcomfort methods to more complicated calculations if necessary or integrate it into other workflows.

So far after some quick searches, beside various Softwares stating how they estimate, I havent found many papers discussion the various techniques to estimate mean radiant temperature, there are many that only calibrate measurement techniques, comparing it sometimes to various computed models.

I think, I try to work out some sort of mindmap with the various functions and correlations and their inputs. From there it should be good to built upon our functions.

benterich avatar Nov 29 '24 23:11 benterich

@benterich how are you? Do you have any updates on this issue? I would like to release a new version of pythermalcomfort soon and this would be a nice integration.

FedericoTartarini avatar Jan 09 '25 04:01 FedericoTartarini

We can provide the linear or fourth power formula of MRT based on surface temperatures and their view factors. It is well documented in Wikipedia: https://en.wikipedia.org/wiki/Mean_radiant_temperature

I suggest including the fourth power formula in the pythermalcomfort. The linear formula is too simple, and people can directly code it and calculate the MRT within seconds.

People will need to calculate or assume view factors. I used to calculate them in a simple way based on the percentage of different surface areas.

ruijis avatar Jan 12 '25 07:01 ruijis

Hello, apologies for my late reply @FedericoTartarini . I haven’t made much progress yet as Christmas and the New Year turned out to be busier than expected. I like @ruiji's proposal. For the view factor estimation, does it make sense / is it useful to include emissivity, direction, and distance weighting? I think its fairly straight forward to program, if not available, we can set some standard paramters.

I also suggest adding a separate method for the Black Globe Thermometer approach since it’s quite commonly used, right?

I will prepare a first draft this week and let you guys know.

benterich avatar Jan 12 '25 18:01 benterich

The globe temperature method for mrt estimation is available in the pythermalcomfort

https://pythermalcomfort.readthedocs.io/en/latest/reference/pythermalcomfort.html#pythermalcomfort.psychrometrics.t_mrt

ruijis avatar Jan 12 '25 19:01 ruijis

Yes, we can definitely include the forth power formula of MRT. This is going to be a nice addition. To be honest, however, I don't think anyone will ever use it since it is extremely hard to correctly estimate the view factor.

I would have loved it also to add equations to estimated the mean temperature outdoors as we previously discussed.

FedericoTartarini avatar Jan 12 '25 23:01 FedericoTartarini

Hi @benterich I was talking with Bruce and he also suggested the following.

Calculation of MRT from a weather model in the current method you are using will give a rough estimate (he is referring to the solar gain model I am using), but what's better would be combining the various radiative fluxes, both direct and diffuse (allowing for the influence of clouds, surface albedo etc etc) that are calculated as part of the model's physics. Lucky that John pointed out the ECMWF pages at https://charts.ecmwf.int/products/medium-thermofeel which has done just that! Following the links on that page led me to this link where you will find that the ECMWF model has recently added MRT as an output parameter in its operational model as of November 2024.

It's possible that MRT could be derived in a similar way for other weather models (like BoM's) using ECMWF's method (see attached paper) which could be useful for the pythermalcomfort library. Or maybe you can adapt what's in the thermofeel Python library (available on github).

He also recommended reading this paper if you have not done it already

FedericoTartarini avatar Feb 04 '25 04:02 FedericoTartarini

@FedericoTartarini Definitly useful. I will have a look!

benterich avatar Feb 06 '25 09:02 benterich

Page not found, new is here https://pythermalcomfort.readthedocs.io/en/latest/documentation/models.html

jli113 avatar Apr 03 '25 08:04 jli113

Hi @jli113 I am not sure which issue you are trying to report.

FedericoTartarini avatar Apr 03 '25 22:04 FedericoTartarini

@benterich how are you? Do you have any updates on this issues?

FedericoTartarini avatar Jul 31 '25 02:07 FedericoTartarini