Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mean Radiant Temperature Estimations #144

Open
benterich opened this issue Nov 5, 2024 · 12 comments
Open

Mean Radiant Temperature Estimations #144

benterich opened this issue Nov 5, 2024 · 12 comments

Comments

@benterich
Copy link

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 :)!

@FedericoTartarini
Copy link
Collaborator

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?

@benterich
Copy link
Author

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

@FedericoTartarini
Copy link
Collaborator

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
Copy link
Collaborator

@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.

@benterich
Copy link
Author

"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.

@FedericoTartarini
Copy link
Collaborator

@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.

@ruijis
Copy link

ruijis commented Jan 12, 2025

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.

@benterich
Copy link
Author

benterich commented Jan 12, 2025

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.

@ruijis
Copy link

ruijis commented Jan 12, 2025

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

@FedericoTartarini
Copy link
Collaborator

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
Copy link
Collaborator

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

@benterich
Copy link
Author

@FedericoTartarini Definitly useful. I will have a look!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants