PHS code
Implement the new PHS code published in the 2023 standard
At the moment there's the parameter
acclimatized : int, optional
100 if acclimatized subject, 0 otherwise. Defaults to 100.
Are there any reasons this is int instead of a bool?
I know this is strange, but this is how they wrote the code in the ISO standard, it makes no sense, I know.
However, we should leave it like this since we are planning to propose a model which will use this integer value to change the max skin wetdness value.
I have reviewed the new 2023 standard and I believe this variable is set to be 0 or 1 in the sample code. Along with this, I believe there are only a few minor updates:
-
sw_maxis only dependent onacclimatizednow. - valid ranges for variables
t_aandmetare changed
There also seems to be a discrepancy between the sample code and the standard:
- The sample code has
Eveff = 1 - wreq ^ 2 / 2but the standard says $r_{req} = \frac{(1-w_{req})^2}{2}$. This part in the flowchart is also inconsistent and makes it confusing.
Are these the only changes? It seems that the one you have listed are very minor changes.
These are the main differences I found after comapring the current Python implementation to the 7933-2023 document. Some changes are already implemented, and some of the constants also slightly differ, but I thought they are just approximation problems. Some examples:
- In the 2004 standard and the current implementation we have
sp_heat = 57.83 * weight / a_dubois, but in the 2023 standard there isaux = 3490 * Weight / Adu:.auxis then divided by 60 whenever it is used later, so there is only a difference of about 0.3 in the constant. - 2023 standard has
Tcreqm = 0.0036 * Met + 36.6but the 2004 one hasTcreqm = 0.0036 * Met + 36.6. I believe this is already implemented.
I do think the changes are overall very minor, but I'll try to double check to see if I've missed anything