Wet Bulb (WBGT) in 2026

183 views
Skip to first unread message

David Hathaway

unread,
Jun 10, 2026, 11:36:45 AMJun 10
to weewx-user
As the FIFA World Cup (tm) ramps up, we here in Houston are getting a load of notices about how there is a mandatory water break in matches, even though it is played indoors. :-/ As I discussed this with my friend the sports trainer, he mentioned that Texas now has a rule that they must do certain things according to the WBGT.

I have searched here for wet bulb additions to WeeWx.  I see discussions from 2024 and wonder if there is someone with a more recent idea about implementing this.  Does anyone calculate the Risk Level and provide Guidance?

I am trying out an agentic Ai to read the RSS XML feed; It loves this format.  I've not messed with the RSS export.  Is there some intrisic gotcha?  I really only care about current values.

Dave

Vince Skahan

unread,
Jun 10, 2026, 12:48:33 PMJun 10
to weewx-user
Quick search seems to say a WeatherFlow Tempest station has this, but I can't find it mentioned in any of their API so I don't see a way to get it into weewx for this one model station - https://community.tempest.earth/t/wet-bulb-globe-temperature/14386/11

Other threads and docs with the formula seem to say you need special sensors for this, so I can't speculate how WeatherFlow fakes something to generate that item.

David Hathaway

unread,
Jun 10, 2026, 1:03:28 PMJun 10
to weewx-user
There is a 'wetbulp.py' (note the p) in this group that calculates it as a xtype_service.  This conversation,

https://groups.google.com/g/weewx-user/c/FntQukhWY00/m/lM53yFt7AwAJ

Vince Skahan

unread,
Jun 23, 2026, 2:09:37 PM (8 days ago) Jun 23
to weewx-user
I recently saw mention of https://shop.ecowitt.com/products/wn38  which has a disclaimer that I didn't look into further.

"The WN38 Black Globe Thermometer measures and displays the black globe temperature only, which can be viewed on the LCD screen or through the Ecowitt or WS View Plus app.

To display WBGT (Wet Bulb Globe Temperature) data in the app, the WN38 must be used together with an Ecowitt outdoor temperature and humidity sensor from either an outdoor array or a WN32(WN31 is not feasible)."

There is a lot of discussion at https://www.wxforum.net/index.php?topic=49316.0 which might be worth a read.  Hope this helps.

David Hathaway

unread,
Jun 23, 2026, 2:38:37 PM (8 days ago) Jun 23
to weewx-user
Thanks for the discussion pointer.  I'll go snoop.

Rainer Lang

unread,
Jun 23, 2026, 3:19:25 PM (8 days ago) Jun 23
to weewx...@googlegroups.com

the story is rather simple - it refers to how WGBT is determined and what is supported by them.
The general formula for determining WBGT outdoors is:
WGBT = 0.7 x Tnwb + 0.2 x Tg + 0.1 x Ta 
where nbw is natural wet bulb, g is BGT and a is outdoor temperature
- to get  Ta  in an Ecowitt context, you need an outdoor T&H sensor (e.g. WH32)
- to get Tg  in an Ecowitt context, you need a WN38 Black Globe Temperature sensor
- to get Tnwb there is no sensor provided - therefore an approximation method is being used
only in this combination Ecowitt provides WBGT data
and as WBGT has a medical dimension, the disclaimer is on there in their (Ecowitt) web shop

there are basically two approximation methods for determining 
Tnwb and Tg
1. the so-called Stull formula which uses temperature, humidity and air pressure (and derived entities like water saturation pressure)
2. the so-called Lijlegren approximation which also uses wind speed and, depending on the accuracy targeted, also sometimes solar radiation values (direct, indirect, at different wave-lengths ...)

1. the Stull approximation implemented in the firmware now (and used by many others) can lead to a deviation of up to 3° C
2. is quite a sophisticated approach with several iterations, depending on if the approach is used for 
Tnwb only or for  Tnwb +  Tg and if solar values are included or not


to program the full Lijegren approach to reach a < 0.1% deviation from a nbw-sensor, a coding of 300 - 400 lines of code is needed due to repetetive iterations (so 'they' say)
- for so-called "medical" (health related) purposes, a simplified Lijlegren approach can be used also using wind speed and it produces a deviation of < 0.3° C - that's sufficient for the WGBT tiers/windows used in different areas
- Ecowitt is considering to replace the Stull formula used now by a simplified Llijlegren approach including wind speed to reach a higher degree of accuracy 

so, the accuracy of WBGT values provided by any piece of weather station firmware or data logging software (like weewx) will depend on the approach used.
--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/weewx-user/29861e34-51f9-4df4-86e0-c9e06cdbdda0n%40googlegroups.com.

David Hathaway

unread,
Jun 23, 2026, 3:35:59 PM (8 days ago) Jun 23
to weewx-user
Very interesting!  I have been asking an AI agent to estimate the WBGT for me, and now I asked it what it was using.  It uses the Stull formula and then a crude radiant heat adjustment.  I think it is close enough for me to caution my wife to come in frequently so she doesn't perish.  I'm frequently surprised that the WBGT is lower than our actual temperature and far below the "feel's like" that we are accustomed to.

The agent says:

WBGT Calculation – Full Explanation

The process follows the weather-wbgt-safety skill, which uses local WeeWX data and standard approximations suitable for practical heat-stress assessment.

Step 1: Data Source
- The local RSS file at /www/rss.xml is read directly.
- Current values extracted:
– Outside Temperature (T): 95.4 °F
– Outside Humidity (RH): 65 %
– Wind: calm (not used in the WBGT formula here)
– Timestamp: 13:40 CDT (used to determine daylight)

Step 2: Wet-Bulb Temperature (Tw)
Wet-bulb temperature is calculated using Stull’s approximation (a reliable, widely used empirical formula that avoids needing a full psychrometric chart).

1. Convert T from °F to °C.
2. Apply Stull’s formula (all temperatures in °C, RH in %):

Tw = T × atan(0.151977 × √(RH + 8.313659)) + atan(T + RH) − atan(RH − 1.676331) + 0.00391838 × (RH¹·⁵) × atan(0.023101 × RH) − 4.686035

3. Convert the resulting Tw back to °F.

Result: Wet-bulb temperature = 85.3 °F

Step 3: Daylight Adjustment for WBGT
- Daylight is defined locally as approximately 6:30 AM – 8:15 PM in summer for Sugar Land, TX.
- Because it is daytime and the sun is contributing radiant heat, the following adjustment is applied:

WBGT ≈ Tw + ((T − Tw) × 0.35) + 3.5

This accounts for the additional heat load from direct sunlight.

Result: WBGT = 92.3 °F

Step 4: Risk Classification
The value is compared against standard thresholds (in °F):

- < 80 → Low
- 80–85 → Moderate
- 85–88 → High
- 88–90 → Very High
- > 90 → Extreme

At 92.3 °F the conditions fall into the Extreme category, triggering the safety guidance.

This method gives a practical, conservative estimate without requiring specialized instruments (black-globe thermometer, etc.). It is intended for personal decision-making rather than official occupational safety compliance.

gary....@gmail.com

unread,
Jun 26, 2026, 12:44:29 PM (5 days ago) Jun 26
to weewx-user
I added this to the new-belchertown skin.
Straightforward.
Add user.wetbulb.WetBulbService to data_services line
Add wetbulb.py to your weewx-data/bin/user directory
Drop index_hook_after_charts.inc into /skins/new-belchertown
Restart weewx and then weectl reports run

Look at the bottom of the page and you should see the status


wetbulb.py
index_hook_after_charts.inc

David Hathaway

unread,
Jun 26, 2026, 4:53:00 PM (5 days ago) Jun 26
to weewx-user
Very cool to see it in python!  I only note that the AI agent added a daylight adjustment:


Step 3: Daylight Adjustment for WBGT
- Daylight is defined locally as approximately 6:30 AM – 8:15 PM in summer for Sugar Land, TX.
- Because it is daytime and the sun is contributing radiant heat, the following adjustment is applied:

WBGT ≈ Tw + ((T − Tw) × 0.35) + 3.5

This accounts for the additional heat load from direct sunlight.

Result: WBGT = 92.3 °F


That added 7 degrees, which ain't nothing.  Not sure if it is valid, but it gets it closer to how I feel outside.  95F at mid day here in the Gulf Coast doesn't feel like a comfy 85F, it feels way hotter.

The other suggestion is to add the warning text.  The whole reason I started looking at WBGT was because my sports trainer friend said that based on those categories, sports teams are mandated different things.  Like maybe a cooler with ice and a tarp, so that if a player falls out because it is Extreme they are wrapped in an ice cocoon.

Dave

Vince Skahan

unread,
Jun 26, 2026, 5:19:08 PM (5 days ago) Jun 26
to weewx-user
You know sunrise sunset from weewx so it’s possible to tweak the code accordingly too…

gary....@gmail.com

unread,
Jun 29, 2026, 11:07:38 AM (2 days ago) Jun 29
to weewx-user
I updated my method to include a factor from my VP2 radiation sensor.
wetbulb.py
Risk.png
index_hook_after_charts.inc

David Hathaway

unread,
Jun 29, 2026, 11:16:43 AM (2 days ago) Jun 29
to weewx-user
That looks excellent!  Thanks for sharing!
Reply all
Reply to author
Forward
0 new messages