Wet-Bulb Temperature, Heat Index and WBGT Calculator

Calculate wet-bulb temperature, dew point, NWS heat index and wind chill. Estimate WBGT from local wind and sunlight, with Japanese heat-risk bands.

#ASHRAE 2017 #dew point #heat index #psychrometrics #Rothfusz regression #Stull 2011 #wet-bulb temperature #wind chill

This wet bulb temperature calculator helps engineers, students and weather observers compare humid heat, evaporative cooling and moisture content. It also works as a dew point calculator and heat index calculator. A separate wet-bulb globe temperature (WBGT) estimate adds the effects of local wind and sunlight, with the Japanese Ministry of the Environment’s exercise risk bands.

Enter dry-bulb air temperature, relative humidity and absolute local station pressure. Avoid sea-level-corrected pressure from weather reports. The default pressure is 101.325 kPa. The metric/US switch converts the single temperature input with its offset, along with pressure and wind speed. Enter humidity as percent: 60 means 60%. Liquid-water RH is the default, including below freezing; select ice only for ice-referenced data. The tool rejects ice supersaturation and stops the humidity sweep at that limit.

The main thermodynamic wet bulb uses the ASHRAE moist-air balances, solving ice and liquid-water branches separately. When both phases have equilibrium roots, a warning identifies the ambiguity and the main result uses the liquid-water root. Stull’s 2011 sea-level approximation appears separately over a conservative fit range. Differences at altitude are expected because Stull’s expression has no pressure dependence.

For WBGT, enter wind near the sensors at approximately 2 m height. This is separate from the 10 m weather-station wind used for cold-weather wind chill. Choose an outdoor exposure with or without solar load. In sunlight, enter global horizontal irradiance, sun elevation and the fraction of that horizontal irradiance coming from the direct beam. These are measured or estimated environmental inputs; the illustrative defaults are not a forecast. A consistency condition rejects excessive irradiance for the sun angle.

The WBGT estimate follows Liljegren’s heat-transfer and radiation balances for an exposed wet wick and a black globe. It models a 150 mm globe, matching the geometry described by Japan’s Ministry, and retains the reference model’s reflective-ground assumption. With solar load, the weights are 70% natural wet bulb, 20% globe and 10% air temperature. Without solar load, they are 70% natural wet bulb and 30% globe. A documented correction makes latent heat decrease with temperature, consistent with NIST water data. The natural wet bulb includes radiation and ventilation, so it differs from the thermodynamic wet bulb. The wind sweep shows this sensitivity. WBGT is withheld when its inherited clear-sky emissivity fit exceeds one; numerical closure cannot justify that extrapolation.

The Japanese exercise categories start at 21, 25, 28 and 31 °C WBGT. Their lower thresholds belong to the higher category. The displayed band uses the unrounded estimate, so a rounded reading close to a boundary can look identical on either side. “Almost safe” does not mean risk-free. These exercise bands are separate from official Japanese heatstroke alerts, which use regional forecasts. Consult the official service for an alert.

The psychrometric chart shows humidity-ratio curves at local pressure, the entered air state and cooling toward the dew or frost point. Its axes and the Japanese threshold diagram explicitly use SI units. The humidity and wind sweeps follow the selected display units. NWS heat index assumes shade and light wind; wind chill applies to cold, windy conditions. Each method labels unsupported conditions.

A thermodynamic wet bulb of 35 °C is a theoretical benchmark, not a universal survivability boundary. Laboratory limits can be lower. WBGT here is an environmental estimate, not an on-site instrument reading, personal heat-tolerance assessment or work/rest prescription. Indoor radiant sources, buildings, clothing, workload, acclimatization and exposure duration need separate assessment.

How it is calculated

The main result follows the 2017 ASHRAE Handbook—Fundamentals, chapter 1, as openly implemented and documented by PsychroLib 2.5. Saturation pressure uses equations 5 and 6 in kelvin, with the ice/water switch at the water triple point (0.01 °C) to avoid an artificial inversion discontinuity. Vapor pressure is pv=RH pref/100p_v=RH\,p_{ref}/100 and humidity ratio is W=0.621945pv/(p−pv)W=0.621945p_v/(p-p_v).

The liquid-water and ice-bulb balances are bracketed separately: equation 33 on 0 °C to the dry bulb when the dry bulb is nonnegative, and equation 35 on −100 °C to min(0 °C, dry bulb). Each admissible bracket is solved independently for 32 bisections. A bracket is admissible when the target humidity ratio lies between its endpoint balances (with a 1e−12 kg/kg numerical allowance). In the liquid branch, W=[(2501−2.326Tw)Ws−1.006(T−Tw)]/[2501+1.86T−4.186Tw]W=[(2501-2.326T_w)W_s-1.006(T-T_w)]/[2501+1.86T-4.186T_w], using °C and kg/kg. The reported main result uses the liquid-water root whenever it exists, otherwise the ice-bulb root. The reported phase and both admissible candidate roots are listed in the calculation. A warning appears whenever both phase brackets admit solutions, including coincident roots at freezing; the solver does not choose a phase by its initial guess. The closure residual checks the selected phase's balance only and cannot establish uniqueness. Dew/frost point independently inverts saturation pressure between −100 °C and the dry bulb.

The Stull 2011 empirical fit uses °C, relative humidity as percent and arctangents in radians; see Practical Meteorology, chapter 4, equation 4.19, attached page 9 (printed page 95). It is a sea-level comparison, not a pressure correction.

The NWS heat-index algorithm first computes the simple Steadman-consistent expression. Its average with air temperature is used only to screen whether to apply the regression. Below 80 °F for that average, return the unaveraged simple expression (Pasche et al., 2025, Appendix B, equation B5); at 80 °F or higher, use the Rothfusz regression and the low-/high-humidity adjustments. The published formula uses °F and RH in percent. NWS 2001 wind chill uses 35.74+0.6215T−35.75v0.16+0.4275Tv0.1635.74+0.6215T-35.75v^{0.16}+0.4275Tv^{0.16}, with TT in °F and vv in mph. All reported readings are converted to the displayed units. These two indices remain separate.

The chart is drawn from the same saturation-pressure and mixing-ratio equations at the selected pressure. Its temperature bounds follow the dew/frost point and dry bulb with padding; the humidity scale comes from saturation at the upper displayed temperature. Tick intervals are rounded for readability and may be fractional g/kg for cold air. This is an original simplified psychrometric chart, not a reproduced standards figure.

WBGT from wind and sunlight

Liljegren et al. (2008), DOI: 10.1080/15459620802310770, supplies the globe and natural wet-wick heat balances and heat/mass-transfer correlations. The openly published Argonne reference equations are expressed here as energy residuals, each bracketed and solved with 32 bisections. Sun elevation and direct-horizontal beam fraction are supplied explicitly, rather than inferred from a location and timestamp. Globe diameter is 0.150 m, following the Japan MoE description of its approximately 15 cm black globe; the reference C code’s 0.0508 m diameter is replaced explicitly in both this solver and the independently compiled comparison. Other sensor and surface reference values remain: wick diameter 0.007 m, wick length 0.0254 m, globe/wick emissivity 0.95, globe albedo 0.05, wick albedo 0.4, ground albedo 0.45 and ground emissivity 0.999.

For either sensor, incoming absorbed shortwave and longwave radiation balance convection; the wick also loses latent heat by evaporation. Convective coefficients use Reynolds and Nusselt correlations, with properties at the mean sensor/air temperature. The wet-wick mass-transfer balance uses the Schmidt number and the reference heat/mass-transfer relation. The WBGT model retains its own Buck liquid-water vapor-pressure relation, including the 1.004 enhancement factor. This is separate from the ASHRAE psychrometric saturation relation. Maximum absolute residual must be below 0.001 W/m²; this numerical tolerance is not a statement of prediction accuracy.

With solar load, WBGT=0.7Tnwb+0.2Tg+0.1TaWBGT=0.7T_{nwb}+0.2T_g+0.1T_a. Without solar load, WBGT=0.7Tnwb+0.3TgWBGT=0.7T_{nwb}+0.3T_g. The no-solar choice removes shortwave power while retaining the open-sky longwave balance. Natural wet bulb is the temperature of the exposed, naturally ventilated wick; it is not substituted with the thermodynamic ASHRAE or Stull result. The original C reference uses a 0.02 K iteration threshold; its separately executed globe outputs agree with the bisection values within 0.025 K. Natural wet-bulb and WBGT comparisons allow 0.08 K because of the documented latent-heat correction below as well as stopping error. This is a comparison of slightly different model implementations, not a 0.08 K prediction-accuracy claim. Those reference cases validate implementation behavior, not environmental accuracy.

A solar-input condition uses S≤0.85(1367 W/m2)sin⁡αS\le0.85(1367\,\mathrm{W/m^2})\sin\alpha, the reference model’s normalized-solar ceiling with Earth–Sun distance fixed at 1 AU. It asks for corrected inputs instead of silently clipping measured irradiance. The entered direct fraction is the direct contribution divided by global horizontal irradiance, not direct normal irradiance.

Japanese risk bands

The Ministry of the Environment’s English WBGT Guideline, crediting the Japan Sports Association’s 2019 guidebook, supplies the exercise categories: below 21 °C, Almost safe; 21 to below 25 °C, Caution; 25 to below 28 °C, Warning; 28 to below 31 °C, Severe warning; 31 °C or higher, Danger. Messages paraphrase the guidance. Thresholds use the unrounded WBGT estimate and include the lower edge in each higher band. The Ministry’s daily-life table groups values below 25 °C together; this tool explicitly labels the finer exercise classification. Guidance checked 25 October 2026. This local estimate does not issue an official alert: Japan’s ordinary Heat Stroke Alert uses a forecast WBGT of at least 33 °C at a reporting location within its regional forecast system. Follow the official service and current guidance.

Correction to the open reference’s latent-heat term

The pinned Argonne C function evap has an increasing latent heat with temperature: 2336.2 kJ/kg at 10 °C and 2407.3 kJ/kg at 40 °C. This conflicts with the decreasing physical trend and NISTIR 5078, Table 1, attached page 1: 2477.2 kJ/kg at 10 °C and 2406.0 kJ/kg at 40 °C. The present wick balance corrects the arithmetic sign while retaining the reference constants: Lv=2.4073×106+2370(313.15−Tfilm)L_v=2.4073\times10^6+2370(313.15-T_{film}) J/kg with TfilmT_{film} in kelvin. This gives 2478.4 and 2407.3 kJ/kg respectively, within 1.5 kJ/kg of the independently published values. Latent heat therefore falls with temperature, as required. The original uncorrected C outputs are retained as cross-method references with the discrepancy explicitly identified in each case’s source; they are not treated as exact physical truth.

RH reference below freezing

The input defaults to relative humidity over liquid water, including below freezing, as reported by common weather sensors (Campbell Scientific HygroVue 5 documentation). Select the explicit ice reference only when the source data use it. Above 0.01 °C both choices use the existing ASHRAE water saturation pressure. Below 0.01 °C the water reference uses Murphy and Koop (2005), equation 10, attached page 14, with temperature in kelvin and pressure in pascals. It is used only within its published 123–332 K range. The ASHRAE ice saturation pressure and the separate ice/liquid bulb balances remain unchanged.

Vapor pressure follows the selected reference, pv=(RH/100)prefp_v=(RH/100)p_{ref}. The solver receives the equivalent stable-phase RH, RHphase=100pv/pwsRH_{phase}=100p_v/p_{ws}, where the stable phase is ice below 0.01 °C and water above. Inputs with RHphase>100RH_{phase}>100 are rejected as unsupported ice supersaturation; no result is presented as a supercooled-cloud or supersaturated equilibrium calculation. A bounded internal RH keeps invalid-input evaluation finite while the error blocks results; it does not replace an accepted sensor reading. The displayed RH limit is 100pws/pref100p_{ws}/p_{ref}, capped at 100%. At −20 °C it is about 82.28% for water-referenced observations. The source's rounded 82% example therefore gives a frost point slightly below −20 °C. Humidity sweeps stop at that limit. Psychrometric chart curves retain the explicitly labeled stable-phase RH convention, while the entered point uses the converted vapor pressure.

Longwave-correlation guard

The inherited clear-sky fit is ϵsky=0.575ea0.143\epsilon_{sky}=0.575 e_a^{0.143} with vapor pressure eae_a in hPa from the WBGT Buck relation. WBGT is supported here only when 0<ϵsky≤10<\epsilon_{sky}\le1, in addition to the nominal input ranges. The raw fitted value is shown in How it’s calculated and is not clipped. For example, saturated 40 °C gives about 1.06435 and is rejected for both solar and no-solar exposure. The sensor solve is skipped; globe temperature, natural wet bulb, WBGT, its risk category and its closure residual are withheld, and the wind curve is blank. Other supported psychrometric results remain available. A warning identifies the radiation-model limitation. A small numerical balance residual cannot validate this empirical fit's extrapolation. Saturated no-solar checks cover the supported side near 32 °C, the excluded side at 33 °C, and the reviewer's 40 °C example.

Assumptions

Ideal moist air at uniform absolute pressure with no supersaturation relative to the stable phase. Entered RH is relative to liquid water by default, even below freezing; an explicit ice-reference choice is available below 0.01 °C. Vapor pressure is converted to the solver's stable-phase reference before the wet-bulb and dew/frost-point solves. Ice-supersaturated observations are rejected rather than interpreted as a different humidity convention. The ice-bulb branch represents an ice-covered bulb at or below 0 °C; the liquid branch represents a water-covered bulb at or above 0 °C. If both roots exist, liquid water is the stated reporting convention, not a prediction of the actual wick's phase. No supercooled liquid-water bulb or transient freezing is modeled.

The psychrometer drawing is schematic, with illustrative column heights. The main result is thermodynamic wet bulb; a real ventilated sensor can differ because of radiation, ventilation, wick condition and instrument coefficients. WBGT uses its own local wind at 2 m; NWS wind chill uses separate station wind at about 10 m. The thermodynamic wet bulb, Stull comparison and heat index do not depend on either wind input. There is no evolving time state, so animation would not describe this calculation.

WBGT assumes steady outdoor conditions, liquid water on the wick, an unobstructed sky and uniform ground at air temperature. Ground reflectance is fixed at the reference value 0.45, which represents a reflective surface and can overestimate solar loading over darker ground. Sky longwave emission follows the reference clear-sky empirical humidity relation only while its raw fitted emissivity is at most one; otherwise WBGT is unavailable. This guard is a necessary physical bound, not independent validation of the fit for every accepted state. Cloud longwave effects are not separately supplied. Globe size is 150 mm, distinct from the smaller reference-code globe. Wind below 0.13 m/s uses the reference correlation’s 0.13 m/s floor. Sun elevation and beam fraction are user estimates unless measured. Local hot walls, indoor radiant sources, body heat, clothing and activity are not modeled. The drawings are original schematics and the risk-band diagram is an original presentation of public guidance.

Where it applies

Supported inputs: −40 to 60 °C dry bulb, 1–100% relative humidity on the selected reference and 60–110 kPa absolute pressure, subject to the stable-phase saturation limit. Zero humidity is excluded because dew point would not be finite. The ASHRAE numerical solve is more precise than the source correlations and measurement inputs; extra digits are not extra accuracy. Near freezing, both ice and liquid phase solutions can exist. A warning identifies this nonunique phase choice even when each root has a tiny residual. The main result prefers liquid water whenever its nonnegative root exists; otherwise it uses the nonpositive ice-bulb root. Use the phase of the actual sensor when interpreting the candidate results. A separate closure check detects a failed numerical balance, not multiple roots.

Stull's published range is −20 to 50 °C and 5–99% RH, with an exception for cold, dry conditions; this tool conservatively shows it only at 0–50 °C and 5–99% RH. The reported mean absolute fit error is below 0.3 °C at standard sea level, with larger errors possible. It has no pressure dependence.

Heat index is shown only for air at 80–112 °F and a calculated heat index at or below 137 °F, a conservative subset of the NWS charts. Cooler conditions and extreme extrapolations show “Outside range.” It assumes shade and light wind and does not include solar load or an entered-wind correction. Wind chill requires air at or below 50 °F and wind above 3 mph; this tool additionally limits it to 60 mph, the published chart extent. Elsewhere it shows “Not applicable.”

The 35 °C wet-bulb figure is a theoretical heat-balance benchmark, not a safe/unsafe boundary. Vecellio et al. (2022) measured uncompensable heat stress below it in young healthy adults. This tool supplies environmental quantities and an estimated WBGT, not medical advice, safe exposure durations or occupational work/rest limits. Check applicable workplace guidance separately.

WBGT is deliberately displayed only for 20–50 °C air, at least 5% RH and 80–110 kPa pressure. Local 2 m wind is 0–20 m/s (correlation floor 0.13 m/s), solar irradiance 0–1200 W/m², sun elevation 5–90° and direct-horizontal fraction 0–0.9; irradiance must also satisfy the angle-dependent ceiling. Outside the nominal warm-weather domain, or whenever the raw clear-sky emissivity fit exceeds 1, the WBGT cards state that it is unavailable while supported psychrometric results remain available. The wind curve is deliberately blank there. Use the no-solar choice at night; its open-sky assumptions do not represent indoors or a shaded street canyon. Uncertainty in radiation, ground reflectance, local wind and sensor exposure can move an estimate across a Japanese risk threshold. Use an appropriate on-site WBGT instrument for operational decisions. The listed Japanese exercise bands are guidance as accessed on 25 October 2026, not a claim that workplace, military or sports rules are interchangeable. Check the rules in force for the intended activity.

Below freezing, common liquid-water-referenced observations must not be entered as ice RH. The adjacent input help and reference selector specify this convention. The admissible maximum water RH is temperature-dependent (about 82.28% at −20 °C for these saturation correlations). Higher readings may describe real metastable ice supersaturation, but that condition and supercooled liquid-water bulbs are outside this equilibrium tool. Check the sensor reference and reading; do not switch the reference merely to make an out-of-domain state pass. The displayed humidity sweep is restricted to the admissible maximum. The WBGT sky-fit guard applies in sunlight as well as without solar load; numerical closure is checked only after that model-domain test.

References

  • Stull, R. (2011). Wet-Bulb Temperature from Relative Humidity and Air Temperature. DOI: https://doi.org/10.1175/JAMC-D-11-0143.1
  • Stull, Practical Meteorology, chapter 4, pp. 92 and 95 (attached PDF pages 6 and 9): https://www.eoas.ubc.ca/books/Practical_Meteorology/prmet102/Ch04-watervapor-v102b.pdf
  • PsychroLib 2.5, open implementation of ASHRAE Handbook—Fundamentals (2017), chapter 1: https://psychrometrics.github.io/psychrolib/_modules/psychrolib.html
  • PsychroLib SI regression tests, including its earlier convergence issue and ASHRAE table values: https://raw.githubusercontent.com/psychrometrics/psychrolib/master/tests/test_psychrolib_si.py
  • NWS Weather Prediction Center, heat index algorithm: https://www.wpc.ncep.noaa.gov/html/heatindex_equation.shtml
  • NWS Binghamton, published heat-index example (90 °F, 70% → 106 °F): https://www.weather.gov/bgm/briefingMain
  • NWS wind chill, equation and example (0 °F, 15 mph → −19 °F): https://www.weather.gov/safety/cold-wind-chill-chart
  • Vecellio et al. (2022), Evaluating the 35 °C wet-bulb temperature adaptability threshold. DOI: https://doi.org/10.1152/japplphysiol.00738.2021 ; open text https://pmc.ncbi.nlm.nih.gov/articles/PMC8799385/
  • Pasche et al. (2025), Appendix B, equation B5 and heat-index branch selection: https://doi.org/10.1175/AIES-D-24-0033.1
  • Liljegren, J. C. et al. (2008). Modeling the Wet Bulb Globe Temperature Using Standard Meteorological Measurements. DOI: https://doi.org/10.1080/15459620802310770
  • Liljegren Argonne WBGT reference C and constants, pinned commit cd672a886880b67f3f27bdbf75038d8f7ff0bac2: https://raw.githubusercontent.com/mdljts/wbgt/cd672a886880b67f3f27bdbf75038d8f7ff0bac2/src/wbgt.c ; https://raw.githubusercontent.com/mdljts/wbgt/cd672a886880b67f3f27bdbf75038d8f7ff0bac2/src/wbgt.h
  • Japan Ministry of the Environment, WBGT exercise guideline, Japan Sports Association 2019 bands, accessed 2026-10-25: https://www.wbgt.env.go.jp/en/wbgt.php
  • Japan Ministry of the Environment, observation geometry and WBGT definitions: https://www.wbgt.env.go.jp/doc_observation.php
  • Japan Ministry of the Environment and JMA, ordinary heatstroke alert forecast criterion, accessed 2026-10-25: https://www.wbgt.env.go.jp/en/alert.php
  • Harvey, A. H. (1998), NISTIR 5078, Table 1, IAPWS-95 water saturation properties, printed p. 4 / attached page 1: https://www.nist.gov/document/nistir5078-tab1pdf
  • Campbell Scientific HygroVue 5, Measurement below 0 °C, water-based sensor RH and the rounded −20 °C / 82% ice-saturation example: https://help.campbellsci.com/hygrovue5/hygrovue/appendices/environmental-performance/measurement-below-0.htm
  • Murphy, D. M. and Koop, T. (2005). Review of the vapour pressures of ice and supercooled water for atmospheric applications. DOI: https://doi.org/10.1256/qj.04.94 ; equation 10, printed p. 1552 / attached p. 14: https://patarnott.com/atms360/pdf_atms360/class2017/VaporPressureIce_SupercooledH20_Murphy.pdf

Inputs

InputSymbolUnitDefault
Air temperature (dry bulb)
Measured air temperature in shade. The display switch converts this single input to °F or K.
T_air°C35
Reference for subzero relative humidity
Common sensors reference liquid water even below freezing: ice-saturated air at −20 °C reads about 82% water RH. Select ice only when your data explicitly use it; above 0.01 °C both choices use liquid water.
RH_basisLiquid water — usual weather sensors
Relative humidity (%)
Percent on the selected reference: liquid water by default, including below freezing. Below 0.01 °C, choose ice only for explicitly ice-referenced data. Ice-supersaturated states are not supported.
RH60
Local atmospheric pressure
Use absolute station pressure at the site, not sea-level-corrected pressure. Standard sea level is 101.325 kPa.
P_kPakPa101.325
Wind speed at standard station height
Weather-station wind at about 10 m (33 ft). NWS wind chill is displayed only above 3 mph and up to the chart limit of 60 mph.
v_windm/s5
WBGT solar exposure
Uses 0.7 natural wet bulb + 0.2 globe + 0.1 air with sunlight; 0.7 natural wet bulb + 0.3 globe without it. The longwave model assumes an open sky; this is not an indoor model.
exposureOutdoors with solar load
Wind speed at 2 m for WBGT
Local wind at approximately 2 m, near the exposed sensors. Do not enter a 10 m station speed without an appropriate site correction. The Liljegren correlation uses a minimum of 0.13 m/s.
v_sitem/s1
Global horizontal solar irradiance
Total direct plus diffuse sunlight on a horizontal surface. Use a measured value. Its maximum must agree with the entered sun elevation; choose no solar load for night or fully shaded shortwave conditions.
S_solarW/m^2800
Sun elevation above the horizon
5–90°. The sun angle changes how the globe and vertical wick intercept direct sunlight. This is supplied directly instead of being computed from location and time.
a_sundeg60
Direct-beam fraction of horizontal sunlight
The fraction of the global horizontal irradiance supplied by the direct beam, not direct normal irradiance. Enter 0 for diffuse sky, about 0.8 for the illustrative clear-sky default. Use observations when available.
f_direct0.8

Results

With the default inputs above, the calc gives:

ResultValue
Wet bulb — ASHRAE28.17 °C
Estimated WBGT — Liljegren36.9 °C
Japan MoE exercise band (estimate)Danger
Response for this estimated bandAvoid exercise except in special cases
Dew / frost point26.07 °C
Heat index — NWS, shade45.1 °C
Wet bulb — Stull, sea level28.49 °C
Water vapor per dry air21.44 g/kg
Wind chill — NWSNot applicable
Reported wet-bulb phaseLiquid-water bulb

Checked against sources

Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).

Stull textbook: 20 °C, 50% → 13.7 °C

Source: Stull Practical Meteorology, printed p. 95, sample application. The independent textbook gives the sea-level Stull approximation as 13.7 °C, rounded to 0.1 °C.

Inputs: Air temperature (dry bulb) = 20 °C; Relative humidity (%) = 50; the others as above.

ResultSourceThis calc
Wet bulb — Stull, sea level13.7 ± 0.05 °C13.699 °C

PsychroLib earlier convergence issue: 7 °C, 61%, 100 kPa

Source: PsychroLib 2.5 published SI test test_TWetBulb_RelHum: https://raw.githubusercontent.com/psychrometrics/psychrolib/master/tests/test_psychrolib_si.py . Its expected value was 3.92667433781955 °C. This independent implementation solves the same ASHRAE relationship to a tighter bracket than PsychroLib's default, giving about 3.92635 °C; the 0.00033 K difference is numerical tolerance, not a correction to the physics.

Inputs: Air temperature (dry bulb) = 7 °C; Relative humidity (%) = 61; Local atmospheric pressure = 100 kPa; the others as above.

ResultSourceThis calc
Wet bulb — ASHRAE3.927 °C3.926 °C

NWS worked heat index: 90 °F, 70% → 106 °F

Source: NWS Binghamton published worked example, https://www.weather.gov/bgm/briefingMain : 90 °F air and 70% RH gives 106 °F heat index. Tolerance is 0.5 °F for whole-degree chart rounding.

Inputs: Air temperature (dry bulb) = 32.222 °C; Relative humidity (%) = 70; the others as above.

ResultSourceThis calc
Heat index — NWS, shade41.111 ± 0.28 °C41.068 °C

NWS worked wind chill: 0 °F, 15 mph → −19 °F

Source: NWS Understanding Wind Chill, https://www.weather.gov/safety/cold-wind-chill-chart : 0 °F at 15 mph gives −19 °F. The equation gives about −19.398 °F, so tolerance is 0.5 °F for rounding.

Inputs: Air temperature (dry bulb) = -17.778 °C; Wind speed at standard station height = 6.706 m/s; the others as above.

ResultSourceThis calc
Wind chill — NWS-28.333 ± 0.28 °C-28.554 °C

ASHRAE table pressure at 25 °C

Source: 2017 ASHRAE Fundamentals chapter 1 table 3, value 3169.7 Pa at 25 °C, transcribed in PsychroLib's test_GetSatVapPres. Its stated correlation agreement is 300 ppm; 1 Pa allows that rounding and correlation difference. https://raw.githubusercontent.com/psychrometrics/psychrolib/master/tests/test_psychrolib_si.py

Inputs: Air temperature (dry bulb) = 25 °C; Relative humidity (%) = 100; the others as above.

ResultSourceThis calc
Saturation vapor pressure — ASHRAE 20173,170 Pa3,169 Pa

ASHRAE table pressure over ice at −20 °C

Source: 2017 ASHRAE Fundamentals chapter 1 table 3, value 103.24 Pa at −20 °C, transcribed in PsychroLib's test_GetSatVapPres. Tolerance is 300 ppm, as stated with the published correlation. https://raw.githubusercontent.com/psychrometrics/psychrolib/master/tests/test_psychrolib_si.py

Inputs: Air temperature (dry bulb) = -20 °C; Relative humidity (%) = 100; Reference for subzero relative humidity = Ice — only for ice-referenced data; the others as above.

ResultSourceThis calc
Saturation vapor pressure — ASHRAE 2017103.2 Pa103.3 Pa

Stull textbook dew point: 20 °C, 54.3% → about 10.6 °C

Source: Stull Practical Meteorology, printed p. 92, sample application: 20 °C, 80 kPa and 10 g/kg gives approximately 54.3% RH and 10.6 °C dew point. This case enters the published rounded RH. The textbook uses an approximate constant-latent-heat equation and a different approximate saturation table; ASHRAE gives a slightly different dew point. A 0.3 K cross-method tolerance preserves that distinction.

Inputs: Air temperature (dry bulb) = 20 °C; Relative humidity (%) = 54.3; Local atmospheric pressure = 80 kPa; the others as above.

ResultSourceThis calc
Dew / frost point10.6 ± 0.3 °C10.503 °C

Simple heat-index fallback: 80 °F, 20% → 78.64 °F

Source: Independent review supplied 78.64 °F at 80 °F and 20% RH. Pasche et al. (2025), Appendix B, equation B5 and following algorithm, https://doi.org/10.1175/AIES-D-24-0033.1, explicitly retains the simple result when the average used for screening is below 80 °F. Evaluating B5 gives 78.64 °F; the screening average 79.32 °F is not the fallback result.

Inputs: Air temperature (dry bulb) = 26.667 °C; Relative humidity (%) = 20; the others as above.

ResultSourceThis calc
Heat index — NWS, shade25.911 °C25.911 °C

Independent review: both bulb phases at 5 °C and 35% RH

Source: Independent reviewer supplied separately bracketed ASHRAE roots for 5 °C, 35% RH and 101.325 kPa: ice −0.165553 °C and liquid +0.182216 °C. These are supplied regression references, not experimental measurements. The ASHRAE 2017 equations are documented by PsychroLib, https://psychrometrics.github.io/psychrolib/_modules/psychrolib.html . The check verifies both roots, the liquid reporting convention and the root count that triggers the ambiguity warning.

Inputs: Air temperature (dry bulb) = 5 °C; Relative humidity (%) = 35; the others as above.

ResultSourceThis calc
Ice-bulb solution (when a nonpositive root exists)-0.1656 °C-0.1656 °C
Liquid-water bulb solution (when a nonnegative root exists)0.1822 °C0.1822 °C
Wet bulb — ASHRAE0.1822 °C0.1822 °C
Number of admissible bulb-phase solutions22

Liljegren reference solver — humid heat, strong sun

Source: Independent gcc execution of Liljegren's published Argonne C sensor routines, commit cd672a886880b67f3f27bdbf75038d8f7ff0bac2 (attached s12/s13). Only D_GLOBE was changed to 0.150 m for these expected values. Inputs: 35 °C, 60% RH, 1013.25 hPa, 1 m/s, 800 W/m², 60° sun elevation, direct-horizontal fraction 0.8; solar WBGT weighting. These are reference-code predictions, not measurements. The original evap expression has a physically reversed temperature trend: 2336.2 kJ/kg at 10 °C versus NIST's 2477.2. This tool corrects that sign; original expected values are retained with a 0.08 K cross-method tolerance for wet bulb/WBGT, including the reference's 0.02 K stopping error. Globe tolerance stays 0.025 K. See Method and NIST checks for the correction; this is not field-accuracy validation. https://www.nist.gov/document/nistir5078-tab1pdf

Inputs: the default inputs above.

ResultSourceThis calc
Modeled 150 mm black-globe temperature60.221 °C60.213 °C
Modeled natural wet-bulb temperature30.495 ± 0.08 °C30.443 °C
Estimated WBGT — Liljegren36.891 ± 0.08 °C36.853 °C

Liljegren reference solver — diffuse sun and stronger wind

Source: Independent gcc execution of Liljegren's published Argonne C sensor routines, commit cd672a886880b67f3f27bdbf75038d8f7ff0bac2 (attached s12/s13). Only D_GLOBE was changed to 0.150 m for these expected values. Inputs: 30 °C, 70% RH, 1013.25 hPa, 3 m/s, 200 W/m², 60° sun elevation, direct-horizontal fraction 0.1; solar WBGT weighting. These are reference-code predictions, not measurements. The original evap expression has a physically reversed temperature trend: 2336.2 kJ/kg at 10 °C versus NIST's 2477.2. This tool corrects that sign; original expected values are retained with a 0.08 K cross-method tolerance for wet bulb/WBGT, including the reference's 0.02 K stopping error. Globe tolerance stays 0.025 K. See Method and NIST checks for the correction; this is not field-accuracy validation. https://www.nist.gov/document/nistir5078-tab1pdf

Inputs: Air temperature (dry bulb) = 30 °C; Relative humidity (%) = 70; Wind speed at 2 m for WBGT = 3 m/s; Global horizontal solar irradiance = 200 W/m²; Direct-beam fraction of horizontal sunlight = 0.1; the others as above.

ResultSourceThis calc
Modeled 150 mm black-globe temperature35.438 °C35.428 °C
Modeled natural wet-bulb temperature26.03 ± 0.08 °C25.984 °C
Estimated WBGT — Liljegren28.309 ± 0.08 °C28.274 °C

Liljegren reference sensors — no solar-load weighting

Source: Independent gcc execution of Liljegren's published Argonne C sensor routines, commit cd672a886880b67f3f27bdbf75038d8f7ff0bac2 (attached s12/s13). Only D_GLOBE was changed to 0.150 m for these expected values. Inputs: 30 °C, 70% RH, 1013.25 hPa, 1 m/s and zero solar; no-solar weighting 0.7 natural wet bulb + 0.3 globe. These are reference-code predictions, not measurements. The original evap expression has a physically reversed temperature trend: 2336.2 kJ/kg at 10 °C versus NIST's 2477.2. This tool corrects that sign; original expected values are retained with a 0.08 K cross-method tolerance for wet bulb/WBGT, including the reference's 0.02 K stopping error. Globe tolerance stays 0.025 K. See Method and NIST checks for the correction; this is not field-accuracy validation. https://www.nist.gov/document/nistir5078-tab1pdf

Inputs: Air temperature (dry bulb) = 30 °C; Relative humidity (%) = 70; WBGT solar exposure = Outdoors without solar load; the others as above.

ResultSourceThis calc
Modeled 150 mm black-globe temperature28.992 °C29.002 °C
Modeled natural wet-bulb temperature25.484 ± 0.08 °C25.443 °C
Estimated WBGT — Liljegren26.536 ± 0.08 °C26.511 °C

Japan MoE exercise bands: thresholds enter the higher band

Source: Japan Ministry of the Environment WBGT Guideline, exercise bands credited to Japan Sports Association 2019: below 21, 21 to below 25, 25 to below 28, 28 to below 31 and 31 or higher °C. The boundary probe is [20.999,21,25,28,31] °C; categories are encoded 1 through 5 in increasing order. The official site's table defines the lower-inclusive thresholds, even where English prose loosely says 'above'. https://www.wbgt.env.go.jp/en/wbgt.php

Inputs: the default inputs above.

ResultSourceThis calc
Japan exercise threshold boundary probe [1]11
Japan exercise threshold boundary probe [2]22
Japan exercise threshold boundary probe [3]33
Japan exercise threshold boundary probe [4]44
Japan exercise threshold boundary probe [5]55

NIST water latent heat at 10 °C — corrected physical trend

Source: NISTIR 5078, Table 1, printed page 4 / attached page 1, enthalpy difference Δh at 10 °C = 2477.2 kJ/kg. The simple corrected linear correlation gives 2478.4 kJ/kg; 1.5 kJ/kg tolerance represents its approximate property fit, not table rounding. The uncorrected pinned C expression gives 2336.2 kJ/kg, which is outside this check by 141 kJ/kg. https://www.nist.gov/document/nistir5078-tab1pdf

Inputs: the default inputs above.

ResultSourceThis calc
Independent latent-heat comparison at 10 and 40 °C [1]2,477,200 J/kg2,478,400 J/kg

NIST water latent heat at 40 °C

Source: NISTIR 5078, Table 1, printed page 4 / attached page 1, enthalpy difference Δh at 40 °C = 2406.0 kJ/kg. The reference-anchored linear approximation gives 2407.3 kJ/kg. The 1.5 kJ/kg tolerance is the disclosed property-correlation error. This value is independent of either WBGT solver. https://www.nist.gov/document/nistir5078-tab1pdf

Inputs: the default inputs above.

ResultSourceThis calc
Independent latent-heat comparison at 10 and 40 °C [2]2,406,000 J/kg2,407,300 J/kg

Campbell sensor example: −20 °C, approximately 82% water RH

Source: Campbell Scientific HygroVue 5, Measurement below 0 °C: at −20 °C ice-saturated air gives approximately 82% liquid-water-referenced sensor RH. The source rounds RH to whole percent; converting its 82% with Murphy–Koop water pressure and ASHRAE ice pressure gives about 99.66% ice RH, so frost point is slightly below −20 °C. Tolerances preserve the source's rounding rather than force exact equality. https://help.campbellsci.com/hygrovue5/hygrovue/appendices/environmental-performance/measurement-below-0.htm

Inputs: Air temperature (dry bulb) = -20 °C; Relative humidity (%) = 82; the others as above.

ResultSourceThis calc
Dew / frost point-20 ± 0.1 °C-20.035 °C
Wet bulb — ASHRAE-20 °C-20.005 °C
RH relative to ice below 0.01 °C / water above (%)100 ± 0.599.664
Highest selected-reference RH without ice supersaturation (%)82 ± 0.582.276

Explicit ice RH: −20 °C and 100% ice RH

Source: ASHRAE Fundamentals 2017 ch. 1 table 3 gives ice saturation pressure 103.24 Pa at −20 °C, independently transcribed by PsychroLib SI test_GetSatVapPres. At 100% RH relative to ice, vapor pressure equals that saturation value and frost/ice-bulb temperature equals air temperature by equilibrium. This case explicitly selects the ice reference. https://raw.githubusercontent.com/psychrometrics/psychrolib/master/tests/test_psychrolib_si.py

Inputs: Air temperature (dry bulb) = -20 °C; Relative humidity (%) = 100; Reference for subzero relative humidity = Ice — only for ice-referenced data; the others as above.

ResultSourceThis calc
Water-vapor partial pressure103.2 Pa103.3 Pa
Dew / frost point-20 °C-20 °C
Wet bulb — ASHRAE-20 °C-20 °C

Reviewer boundary: saturated 40 °C, no sun — WBGT withheld

Source: Independent reviewer supplied raw sky emissivity 1.06435 at 40 °C / 100% RH for the pinned Liljegren C reference correlation. A value above 1 is outside this tool's supported longwave-fit domain, so the support flag must be zero, regardless of numerical root closure. At saturation the independent thermodynamic wet bulb remains 40 °C. https://raw.githubusercontent.com/mdljts/wbgt/cd672a886880b67f3f27bdbf75038d8f7ff0bac2/src/wbgt.c

Inputs: Air temperature (dry bulb) = 40 °C; Relative humidity (%) = 100; Wind speed at 2 m for WBGT = 0 m/s; WBGT solar exposure = Outdoors without solar load; the others as above.

ResultSourceThis calc
Raw clear-sky emissivity — must not exceed 11.0641.064
WBGT domain support flag00
Wet bulb — ASHRAE40 °C40 °C

Saturated 32 °C, no sun — supported side of emissivity boundary

Source: Independent gcc execution of the pinned Liljegren C reference, with D_GLOBE explicitly set to 0.150 m: emis_atm at 305.15 K / RH 1 gives 0.9994535380806847. With 1013.25 hPa, zero wind (0.13 m/s correlation floor) and zero sun, Tglobe=31.95610223 °C and no-solar WBGT=31.97498315 °C. The expected values are reference-code predictions, not measurements. Tolerances are 0.025 K for its 0.02 K globe stopping error, and 0.08 K for WBGT including this tool's documented latent-heat sign correction. The raw sky fit remains below 1, so this case must stay supported. https://raw.githubusercontent.com/mdljts/wbgt/cd672a886880b67f3f27bdbf75038d8f7ff0bac2/src/wbgt.c

Inputs: Air temperature (dry bulb) = 32 °C; Relative humidity (%) = 100; Wind speed at 2 m for WBGT = 0 m/s; WBGT solar exposure = Outdoors without solar load; the others as above.

ResultSourceThis calc
Raw clear-sky emissivity — must not exceed 10.99950.9995
Modeled 150 mm black-globe temperature31.956 °C31.963 °C
Estimated WBGT — Liljegren31.975 ± 0.08 °C31.985 °C
WBGT domain support flag11

Saturated 33 °C, no sun — unsupported side of emissivity boundary

Source: Independent gcc execution of emis_atm in the pinned Liljegren C reference at 306.15 K / RH fraction 1 gives 1.0075460565756034. This exceeds unit emissivity, so the calculator must exclude the longwave model and withhold its WBGT despite any numerical root convergence. No extrapolated reference-code globe or WBGT number is accepted as a physical reference for this case. https://raw.githubusercontent.com/mdljts/wbgt/cd672a886880b67f3f27bdbf75038d8f7ff0bac2/src/wbgt.c

Inputs: Air temperature (dry bulb) = 33 °C; Relative humidity (%) = 100; Wind speed at 2 m for WBGT = 0 m/s; WBGT solar exposure = Outdoors without solar load; the others as above.

ResultSourceThis calc
Raw clear-sky emissivity — must not exceed 11.0081.008
WBGT domain support flag00

Related Resources

Responses

Your email address will not be published. Required fields are marked *

L ading...