- 03 nov 2024, 11:55
#75632
Misschien een knuppel in het hoenderhok gooien, maar toch ....
Dauwpunt is een afgeleide waarde met heldere ‘technische’ samenhang van temperatuur t.o.v. Rel.Vocht:
een uitvloeisel van natuurwetten, dus uitvoering is niet ter discussie, uit te rekenen op basis van beschikbare waarden in de HWA-file.
HeatIndex en WindChill zijn gevoelsmatig aspecten die worden afgeleid van diverse deel-elementen van de meteomeetwaarden en van fysiologie.
Al lang een onderwerp van studie hoe je voor HeatIndex de 'gevoelsmatigheid' vangt in een berekening:
zie Wiki(engels) of (iets korter) Wiki(nederlands)
Als de HWA-file HI-data bevat, dan wordt die gebruikt voor vulling voor de infopagina van dat HWA-station.
Ontbreekt in de inputfile de HI-waarde, dan wordt in de HWA-datavoorbewerking een eigen HI-berekening toegepast voor aanvulling van de dataset.
Gaandeweg komen we er achter dat die blijkbaar al lang gebruikte HI-berekeningen (afgeleid uit de genoemde wiki-info) toch niet kloppen, o.a. omdat ze niet intern grenswaarden bepalen.
Wat dan?
Oplossing lijkt te zijn om geen HeatIndex te berekenen onder een bepaalde drempelwaarde voor actuele temperatuur, maar dan alleen de geldende actuele temperatuur als HI te vermelden.
Jullie mening?
1. Wat zou een praktische drempelwaarde kunnen zijn voor HeatIndex-berekening?
In aangehaalde Wiki wordt 27C genoemd, maar dat betekent praktisch dat we in Nederland bijna nooit zouden hoeven rekenen, terwijl HeatIndex 'gevoelsmatig' toch wel geldig is.
Bijv. AWEKAS hanteert in hun nieuwe stationsweb-interface heel zichtbaar die grens van 27C voor de HeatIndex-berekening en -vertoning.
O.i. beter passend bij nederlandse omgeving gebruiken we voor de HWA-berekening de formule2 (in het stuk Python-script hieronder) die geldt voor een ondergrens van 21C i.c.m. 80%RV .......
Een bijpassende pragmatische invulling is om bij TAct < 21C de eindwaarde voor HeatIndex te vervangen door TAct:
die invulling zal bij HWA-script-onderhoud geleidelijk overal in de betreffende HWA-scripts worden ingevoerd.
2. Is daarnaast misschien praktisch beter om WindChill en HeatIndex minder belangrijk te vinden, en meer belang te gaan hechten aan gevoelstemperatuur?
Aanpassing 04November2024:
Tekst bijgewerkt, o.a. m.b.t. grenswaardentoepassing
Dauwpunt is een afgeleide waarde met heldere ‘technische’ samenhang van temperatuur t.o.v. Rel.Vocht:
een uitvloeisel van natuurwetten, dus uitvoering is niet ter discussie, uit te rekenen op basis van beschikbare waarden in de HWA-file.
HeatIndex en WindChill zijn gevoelsmatig aspecten die worden afgeleid van diverse deel-elementen van de meteomeetwaarden en van fysiologie.
Al lang een onderwerp van studie hoe je voor HeatIndex de 'gevoelsmatigheid' vangt in een berekening:
zie Wiki(engels) of (iets korter) Wiki(nederlands)
Als de HWA-file HI-data bevat, dan wordt die gebruikt voor vulling voor de infopagina van dat HWA-station.
Ontbreekt in de inputfile de HI-waarde, dan wordt in de HWA-datavoorbewerking een eigen HI-berekening toegepast voor aanvulling van de dataset.
Gaandeweg komen we er achter dat die blijkbaar al lang gebruikte HI-berekeningen (afgeleid uit de genoemde wiki-info) toch niet kloppen, o.a. omdat ze niet intern grenswaarden bepalen.
Wat dan?
Oplossing lijkt te zijn om geen HeatIndex te berekenen onder een bepaalde drempelwaarde voor actuele temperatuur, maar dan alleen de geldende actuele temperatuur als HI te vermelden.
Jullie mening?
1. Wat zou een praktische drempelwaarde kunnen zijn voor HeatIndex-berekening?
In aangehaalde Wiki wordt 27C genoemd, maar dat betekent praktisch dat we in Nederland bijna nooit zouden hoeven rekenen, terwijl HeatIndex 'gevoelsmatig' toch wel geldig is.
Bijv. AWEKAS hanteert in hun nieuwe stationsweb-interface heel zichtbaar die grens van 27C voor de HeatIndex-berekening en -vertoning.
O.i. beter passend bij nederlandse omgeving gebruiken we voor de HWA-berekening de formule2 (in het stuk Python-script hieronder) die geldt voor een ondergrens van 21C i.c.m. 80%RV .......
Een bijpassende pragmatische invulling is om bij TAct < 21C de eindwaarde voor HeatIndex te vervangen door TAct:
die invulling zal bij HWA-script-onderhoud geleidelijk overal in de betreffende HWA-scripts worden ingevoerd.
2. Is daarnaast misschien praktisch beter om WindChill en HeatIndex minder belangrijk te vinden, en meer belang te gaan hechten aan gevoelstemperatuur?
Code: Selecteer alles
Voor WindChill geldt eigenlijk hetzelfde als voor HeatIndex, maar daar zijn t.a.v. TAct de afwijkingen uit de berekening minder opvallend, dus dat laten we maar rusten.print("\nHeat-Index calculator v0.1\n")
# Heat-Index calculator with celsius-grade
# Found at https://github.com/gregnau/heat-index-calc/blob/master/heat-index-calc.py
# Simple Python scratch meant to test the different available
# heat-index formulas with temperatures lower than 25*C/77 Fahrenheit.
# Formulas are at https://en.wikipedia.org/wiki/Heat_index#Formula
# (c) GregNau 2015
# Practically adapted for interfacing in this application
# For manual testing:
# Ask for the current temperature in celsius-grade...
# temp = int(input('Temperature(*C): '))
# ...then wait for the relative humidity in % value
# hum = int(input('Humidity(%): '))
# Linking to extracted data:
temp = int(TempC)
hum = int(RHum_SI)
# Convert celius to fahrenheit (this heat-index calc is only fahrenheit compatible)
fahrenheit = ((temp * 9/5) + 32)
# Creating multiples of 'fahrenheit' & 'hum' values for the coefficients
T2 = pow(fahrenheit, 2)
T3 = pow(fahrenheit, 3)
H2 = pow(hum, 2)
H3 = pow(hum, 3)
# Coefficients for the calculations
C1 = [ -42.379, 2.04901523, 10.14333127, -0.22475541, -6.83783e-03, -5.481717e-02, 1.22874e-03, 8.5282e-04, -1.99e-06]
C2 = [ 0.363445176, 0.988622465, 4.777114035, -0.114037667, -0.000850208, -0.020716198, 0.000687678, 0.000274954, 0]
C3 = [ 16.923, 0.185212, 5.37941, -0.100254, 0.00941695, 0.00728898, 0.000345372, -0.000814971, 0.0000102102, -0.000038646, 0.0000291583, 0.00000142721, 0.000000197483, -0.0000000218429, 0.000000000843296, -0.0000000000481975]
# Calculating heat-indexes with 3 different formula
heatindex1 = C1[0] + (C1[1] * fahrenheit) + (C1[2] * hum) + (C1[3] * fahrenheit * hum) + (C1[4] * T2) + (C1[5] * H2) + (C1[6] * T2 * hum) + (C1[7] * fahrenheit * H2) + (C1[8] * T2 * H2)
heatindex2 = C2[0] + (C2[1] * fahrenheit) + (C2[2] * hum) + (C2[3] * fahrenheit * hum) + (C2[4] * T2) + (C2[5] * H2) + (C2[6] * T2 * hum) + (C2[7] * fahrenheit * H2) + (C2[8] * T2 * H2)
heatindex3 = C3[0] + (C3[1] * fahrenheit) + (C3[2] * hum) + (C3[3] * fahrenheit * hum) + (C3[4] * T2) + (C3[5] * H2) + (C3[6] * T2 * hum) + (C3[7] * fahrenheit * H2) + (C3[8] * T2 * H2) + (C3[9] * T3) + (C3[10] * H3) + (C3[11] * T3 * hum) + (C3[12] * fahrenheit * H3) + (C3[13] * T3 * H2) + (C3[14] * T2 * H3) + (C3[15] * T3 * H3)
print("\nThe Heat index or the feels-like temperature is:")
print("Heatindex 1, to be used for 27C & > 40% [NOOA-calculation]:"),
print(round(((heatindex1 - 32) * 5/9), 0)),
print("*C")
print("Heatindex 2, to be used for 21~46C & 80%:"),
print(round(((heatindex2 - 32) * 5/9), 0)),
print("*C")
print("Heatindex 3, to be used for 32C & 85%:"),
print(round(((heatindex3 - 32) * 5/9), 0)),
print("*C")
# Take best-suitable result of the 3 calculations and convert output to Celsius
HeatIndexC0 = (heatindex2 - 32) * 5/9
HeatIndexC = round(HeatIndexC0, 1)
print('Best result from 3 calculations:')
print('HeatIndexC = ',HeatIndexC)
Aanpassing 04November2024:
Tekst bijgewerkt, o.a. m.b.t. grenswaardentoepassing
Config = TFA_Nexus/WS7000/Tempest/Ecowitt + Domoticz/GW1000/Meteobridge + DHZ
WS Hengelo_Slangenbeek
Kwaliteitsstreven, maar pragmatisch/KISS, ook voor Meteo als liefhebberij!
Moderator = ondersteunend, vrijwillig, in eigen vrije tijd, zover als passend ....
WS Hengelo_Slangenbeek
Kwaliteitsstreven, maar pragmatisch/KISS, ook voor Meteo als liefhebberij!
Moderator = ondersteunend, vrijwillig, in eigen vrije tijd, zover als passend ....