Wet Bulb Globe Temperature (WBGT) is an important indicator of heat stress and is used by the military, sports and occupational health authorities. More info here:
https://en.wikipedia.org/wiki/Wet-bulb_globe_temperature.
It needs a black globe thermometer to be measured accurately as it takes into account solar radiation, sun position and wind speed as well as temperature and humidity. I have tried to create a program in python to simulate WBGT using standard weather station data. The main source for the maths is here:
https://www.weather.gov/media/tsa/pdf/WBGTpaper2.pdf. (I don't pretend to understand all the maths!)
import math
from math import log
from math import atan
from math import exp
from math import cos
from math import radians
# Temperature in °C
# Humidity in %
# Pressure Sea Level in mbars
# WindSpeed in Km/h
# SolarRad in w/m3
# SunAltitude in degrees above horizon
# Cloudcover in %
# Enter the data
Temperature = 29.7
Humidity = 27
Pressure = 1014
WindSpeed = 0
SolarRad = 780
SunAltitude = 45
Cloudcover = 0
T = Temperature
RH = Humidity
P = Pressure
W = WindSpeed
S = SolarRad
Alt = SunAltitude
f = Cloudcover
u = W * 1000
if u == 0:
u = 500
z = radians(90 - Alt)
a = 17.368
b = 238.88
g = log(RH/100) + ((a*T)/(b+T))
# Calculate Dew Point DP
DP = (b * g)/(a-g)
# Calculate Wet Bulb WB
WB = T * atan(0.151977 * (RH + 8.313659)**0.5) + atan(T + RH) - atan(RH - 1.676331) + 0.00391838 * RH**1.5 * atan(0.023101 * RH) - 4.686035
ea = exp(17.67 * (DP - T)/(DP + 243.5)) * (1.0007 + 0.00000346 * P) * 6.112 * exp(17.502 * T / (240.97 + T))
eb = 0.575 * ea**0.142857
fdif = (100 - f)/100
fdb = 1 - fdif
B = S * ((fdb / ((4*(5.67*10**-8)) * cos(z))) + (1.2/(5.67*10**-8)) * fdif) + eb * T**4
C = (0.315*u**0.58)/(5.3865*10**-8)
# Calculate Globe Temperature GT
GT = (B + C * T + 7680000)/(C+256000)
# Calculate Wet Bulb Globe Temperature WBGT
WBGT = 0.7*WB + 0.2*GT + 0.1*T
print(round(WBGT, 2))
Has anybody else tried to do this?
Does anybody have access to real WBGT data to test it?
The program is running live on my site using my own data (in the Temperature box)
http://moonappreciationsociety.com/Meteo/VillarPerosa/index.php