Johannesburg thermal (heat & cold) early warning

Operational alert board

Active alerts

0 No elevated areas

Peak apparent temp

0 °C Humidity adjusted

Population exposed

0 Moderate risk or higher

Band stability

0% Mean distance from alert boundary — not model certainty

Live risk surface

Johannesburg thermal risk map

Low Guarded High Critical

Markers sit on real area centroids. Marker size is today's alert score; marker colour matches the Low / Guarded / High / Critical legend. The heading and marker labels identify heat versus cold. Your selected area's ward is outlined. Ward shading is a separate research screening layer — it does not set the alert level.

Research detail: how the score and the ward layer are built

The operational alert score is a transparent weighted index over the live forecast plus Earth-observation layers. No learned model feeds it. The 135 wards shade by the trained Aim 3 screening model, shown alongside as a separate, independent signal that deliberately does not set alert levels — applied across the Johannesburg year it predicts highest risk in winter, so driving the heat alert from it would invert the advice on the hottest days.

Selected area

Area detail

Resident or household screening

User input risk score

Health and support factors

Prioritized by impact and band stability

Alert queue

Area Risk Band stability Trigger Exposed population Lead time Action
Before you act on this board — limits to know
  • Prototype, not an operational service. Thresholds are hand-set and have not been calibrated against Johannesburg health outcomes. Treat every level as a prompt to check, not an instruction to escalate.
  • Cold matters as much as heat here. On the highveld, winter overnight lows drive most current alerts. The board reports whichever hazard is worse today, so a cold day shows cold actions.
  • Vulnerability is satellite proxy data, not a local survey — night-lights economic activity, building morphology, vegetation, built density. Bright road and CBD corridors can make a deprived township read wealthier than it is, so Alexandra in particular may be understated.
  • Planning zones are interim. The six districts here are nearest-hub groupings of the 135 MDB wards, not the City of Johannesburg's official regions. Official boundaries can be substituted without changing anything else.
  • Forecast confidence drops with lead time. Days 1–3 are most reliable; treat day 6–7 as a planning hint, not a warning.
  • Areas, not individuals. Everything mapped is a population risk surface, not a predicted number of cases. Pair any warning with how unusual today is for that area, so the same neighbourhoods are not repeatedly flagged and stigmatised.
Research detail: model status and validation caveats
  • Screening signal, not clinical prediction. The trained model is evaluated with participant-disjoint nested cross-validation. Use it to prioritise research and validation, not to diagnose.
  • Operational level vs learned model. The alert level (Low–Critical) is a threshold rule on the live forecast plus vulnerability layers; the hhews probability is shown alongside as corroboration only and never sets the level.
  • The cohort exposure–response is cold-tilted. Cold thresholds grade severity where cohort data are sparse below ~5 °C, and the released artifact behaves as a cold-and-season model.
  • Trained on reanalysis, run on forecast. Live skill may therefore be lower than the reported validation figures, which are internal and participant-disjoint rather than prospective or cross-city.
  • Deployment prerequisites. Local recalibration, a governance protocol for who issues and who acts, POPIA compliance and HREC approval all precede operational use.

Explainable ML

Risk drivers

Area thermal-risk model Heat arm: forecast + GEE + socio-economic proxies. Cold arm: overnight minimum + wind chill. The worse of the two is reported.
Individual triage model User inputs + local profile + clinical vulnerability factors.
Trusted-channel model Community-based warning principles converted into communication channel ranking.

Recommended action plan

Response playbook

Two-way community channel

WhatsApp alert and community feedback

Scalable architecture

Google Earth Engine and data pipeline

1. Detect thermal stress

Ingest SAWS or forecast API maximum temperature, overnight minimum, humidity, wind, and heatwave duration.

2. Pull Earth Engine layers

Use GEE for land surface temperature, NDVI, built-up surface, shade proxy, elevation, and ward-level zonal statistics.

3. Join socio-economic profiles

Attach Stats SA or city profiles for informal housing, water reliability, income stress, older residents, and health access.

4. Score and trigger intervention

Generate area and user risk scores, store the per-factor driver breakdown, and route alerts to clinics, EMS, ward teams, and community partners.

Earth Engine Code Editor starter

Johannesburg heat layer extraction

Predictive model — open framework (Objective 3)

Heat–health early-warning model

Reproducible research export

Area feature and score table

Every value behind the current forecast day, with its source. GEE-tagged columns are real Earth observation (a static seasonal/annual snapshot, identical across forecast days); the live column changes per day. Export carries the forecast date and GEE provenance in the file header.

Area Risk score Level LST C GEE NDVI GEE Built GEE Air poll GEE Pop density GEE Income proxy GEE Bldg ht m GEE Forecast max live Exposed pop. Band stability

About this prototype

Methods, data and references

What this model can and cannot do read first
  • It is a screening signal for prioritising research and validation — not a clinical prediction and not a diagnosis for any individual.
  • Validation is internal only: unseen participants in Johannesburg cohorts. It has never been tested in another city or in a later time period.
  • Discrimination is modest: ROC AUC 0.532, average precision 0.268 against a 0.250 prevalence baseline — close to chance.
  • The operational alert level comes from the transparent weighted index of live forecast + Earth-observation layers, not from the trained model.
  • Across the Johannesburg year it predicts its highest risk in winter and lowest in midsummer: it behaves as a cold-and-season model, which is why it never sets the alert level.
  • Spatial outputs are risk surfaces, not predicted case counts, and describe populations rather than individuals.

Joburg HeatWatch is a research prototype for a Johannesburg heat-health early warning system, aligned with the HE2AT Center (NIH Fogarty U54TW012083). It links real Earth-observation exposure, socio-economic proxies, and a model trained on real clinical-cohort biomarkers to demonstrate an end-to-end warning pipeline. It is a method demonstration, not a clinical or operational system.

Research framework: how the three research aims connect

This application is the implementation layer for Aim 3: develop, tune and evaluate a machine-learning heat–health early-warning model. Aims 1 and 2 supply the upstream science — Aim 1 contributes the Johannesburg vulnerability construct and its portable Earth-observation proxies; Aim 2 contributes the multi-system biomarker outcome and candidate heat-exposure measures. Aim 3 tests whether those inputs support useful out-of-sample prediction.

Issue-time exposure features

The ML feature set uses information available when a warning is issued: apparent temperature, wet-bulb globe temperature (WBGT), humidex, heat index, Excess Heat Factor, recent heat accumulation, daily range, overnight minimum, seasonal position, forecast anomalies, and exposure-by-vulnerability interactions. Weather inputs are computed from ERA5 during development and from the live forecast in the app.

Earth observation via Google Earth Engine

  • Land surface temperature: MODIS MOD11A1 [4]
  • Vegetation (NDVI): Sentinel-2 surface reflectance
  • Built-up surface and population density: GHSL GHS-BUILT-S, GHS-POP [5]
  • Informal-housing morphology proxy: GHSL GHS-BUILT-V building volume ÷ surface ≈ mean building height [5]
  • Economic-activity proxy: VIIRS night-time lights [6, 7]
  • Air pollution co-exposure: Sentinel-5P TROPOMI tropospheric NO₂ [8]

Socio-economic and health

The area risk score is computed from real data only: live forecast + GEE exposure, plus two GEE socio-economic proxies — a night-lights-derived income-stress proxy and a building-morphology informal-housing proxy. Informal/low-rise dwellings (often metal-roofed) can overheat indoors beyond outdoor air temperature, so the morphology proxy (≈ mean building height from GHSL building volume) contributes to the portable vulnerability layer. Both proxies are buffer-mean estimates with documented limits and are labelled as proxies, not census measures. The trained development model can use the GCRO Quality of Life indicators, demographics, and a heat-vulnerability index; the browser-deployable profile uses only forecast and open Earth-observation inputs.

Research detail: trained model status and tuning

The outcome is a multi-biomarker physiological-strain score (creatinine, systolic blood pressure, heart rate and haemoglobin), with every visit compared only with that participant's earlier measurements. Optuna's tree-structured Parzen estimator tunes and selects among XGBoost, elastic-net logistic regression and a multilayer perceptron inside participant-disjoint nested cross-validation. The primary metric is average precision; ROC AUC, Brier score, calibration and vulnerability-stratified prediction-set coverage are secondary evaluations. The final browser artifact contains fitted parameters and aggregate validation metadata only. It is cohort research evidence and a screening signal, not an individual clinical diagnosis.

Dissemination

Channel ranking and the two-way feedback loop follow people-centred early-warning guidance and community-based warning practice, with WhatsApp click-to-chat for trusted-messenger delivery.

Limitations

  • Map markers are area centroids on OpenStreetMap; the ward layer is a planning surface, not patient geography.
  • The forecast is live per-area data from Open-Meteo for the next 7 days; there are no simulated scenarios.
  • Validation is internal and participant-disjoint, not prospective or cross-city. Operational use requires temporal and external validation, local recalibration, POPIA governance and HREC approval.
Research detail: optimised machine-learning model (development run)

Sources

References

  1. Collins GS, Moons KGM, Dhiman P, et al. TRIPOD+AI statement: updated guidance for reporting clinical prediction models that use regression or machine learning methods. BMJ. 2024;385:e078378.
  2. Akiba T, Sano S, Yanase T, Ohta T, Koyama M. Optuna: a next-generation hyperparameter optimization framework. KDD. 2019:2623–2631.
  3. Nairn JR, Fawcett RJB. The Excess Heat Factor: a metric for heatwave intensity and its use in classifying heatwave severity. International Journal of Environmental Research and Public Health. 2015;12(1):227–253.
  4. Hersbach H, Bell B, Berrisford P, et al. The ERA5 global reanalysis. Quarterly Journal of the Royal Meteorological Society. 2020;146(730):1999–2049.
  5. Wan Z, Hook S, Hulley G. MODIS/Terra Land Surface Temperature/Emissivity Daily L3 Global 1 km (MOD11A1). NASA EOSDIS Land Processes DAAC.
  6. European Commission Joint Research Centre. Global Human Settlement Layer: GHS-BUILT-S, GHS-BUILT-V (building volume) and GHS-POP (release P2023A). 2023.
  7. Elvidge CD, Baugh K, Zhizhin M, Hsu FC, Ghosh T. VIIRS night-time lights. International Journal of Remote Sensing. 2017;38(21):5860–5879.
  8. Henderson JV, Storeygard A, Weil DN. Measuring economic growth from outer space. American Economic Review. 2012;102(2):994–1028.
  9. Veefkind JP, Aben I, McMullan K, et al. TROPOMI on the ESA Sentinel-5 Precursor. Remote Sensing of Environment. 2012;120:70–83.
  10. Gorelick N, Hancher M, Dixon M, et al. Google Earth Engine: planetary-scale geospatial analysis for everyone. Remote Sensing of Environment. 2017;202:18–27.
  11. Gauteng City-Region Observatory (GCRO). Quality of Life Survey. gcro.ac.za.
  12. World Health Organization & World Meteorological Organization. Heatwaves and Health: Guidance on Warning-System Development. 2015.
  13. OpenStreetMap contributors. © OpenStreetMap. openstreetmap.org/copyright.
  14. Open-Meteo. Open-source weather forecast API. open-meteo.com.
  15. Naicker N, Teare J, Balakrishna Y, Wright CY, Mathee A. Indoor temperatures in low cost housing in Johannesburg, South Africa. International Journal of Environmental Research and Public Health. 2017;14(11):1410.

With thanks

Acknowledgements

HE2AT Center (Heat and Health African Transdisciplinary Center); NIH Fogarty International Center award U54TW012083; the Global Heat Health Information Network (GHHIN); the contributing Johannesburg research cohorts; Google Earth Engine; and OpenStreetMap contributors. Local-language alert templates are prototype copy and must be reviewed with local speakers and community health workers before use.

For residents and households

Check your heat & cold risk today

Where are you?

Tap the map where you live, or pick an area below.
Your result updates as you change any answer.