GarmiSearchAbout
Garmi

How Garmi is made

Every step of the model as a picture and one line, read from the model's own files. "How exactly" opens the working.

The forecast

65steps stored, every 3 h, from 2026-10-22 21:00 UTC to 2026-10-30 21:00 UTC

23 Oct25262728293031 65 steps · every 3 h · 8 days

ECMWF's open global forecast at 0.25°, read as files from Maplore's own Open-Meteo server. Run of 2026-10-24 18:00 UTC. The stored window starts before the run; the map shows today and the next five days.

How exactly

The IFS open data run at 00 and 12 UTC, 0.25°, three-hourly to ten days, mirrored by our Open-Meteo instance. Garmi reads 2 m temperature, 2 m relative humidity, shortwave radiation and the 10 m wind components for every cell of a 119 × 127 grid over India, data to 2026-10-30 21:00 UTC. Every run's files are recorded in the spine with their hashes, so any map can be traced to the run that made it. Source: ECMWF IFS open data (CC BY 4.0) as stored by our Open-Meteo server; wet-bulb by Stull 2011 via thermofeel; limits from PSU HEAT.

The wet-bulb

31.9 °Cwet-bulb at 35 °C, 80 % humidity

20253035 20%40%60%80%100% limit at rest, humid air air 40 °Cair 35 °C wet-bulb °C against relative humidity

Temperature and humidity folded into one number, the temperature a wet cloth settles at in the wind. Stull 2011, on every cell at every step.

How exactly

Stull's 2011 fit to the psychrometric equation, as implemented in ECMWF's thermofeel library; valid for the air temperatures and humidities India sees. Vapour pressure for the limit curves comes from the Magnus form of the saturation curve. Cells over the sea and over neighbouring countries are blanked by the district polygons, so the line and the counts are India's only.

The limits

4measured lines, one per body

222426283032 1015202530 critical wet-bulb °C · vapour pressure, mmHg (dry → humid)
  • At rest in shade
  • A woman of 40 to 64
  • A man over 65
  • Aged 65 or more (a woman)

Not a formula: the wet-bulb at which volunteers in the PSU HEAT chamber could no longer hold their core temperature. Lower in dry air, so a curve against vapour pressure.

How exactly
At rest in shade
young adults, light daily activity
°C at mmHg 25.75 at 12; 27.12 at 16; 27.82 at 20; 30.55 at 27.8
Source PSU-2022 (Vecellio et al. 2022), Table 2
Aged 65 or more (a woman)
women over 65
°C at mmHg 23.33 at 12; 27.08 at 22.1
Source PSU-2024 (Leach et al. 2024), Table 4
A woman of 40 to 64
women 40-64
°C at mmHg 24.54 at 12; 29.64 at 28
Source PSU-2024, Table 4
A man over 65
men over 65
°C at mmHg 24.7 at 12; 29.31 at 27.2
Source PSU-2024, Table 4

dry protocols at 12, 16 and 20 mmHg; the humid mean 30.55 from 27.8 mmHg (the humid protocols' lowest vapour pressure) upward; linear between 20 and 27.8 dry: T_crit 40.1 °C at 12 mmHg; humid: P_crit 22.1 mmHg at 35 °C (27.08 °C wet-bulb); linear between, flat beyond dry: 44.4 °C at 12 mmHg; humid: 28.0 mmHg at 35 °C (29.64 °C) dry: 45.0 °C at 12 mmHg; humid: 27.2 mmHg at 35 °C (29.31 °C) Drawn straight between the measured points and flat beyond them. No chamber study exists for children, so no line is drawn for them; the Guide says why.

From a cell to a district to a day

what one number on the map stands for

The working body

27.8 °CWBGT, NIOSH's limit for continuous moderate work

wet-bulb 70% sun (globe) 20% air 10%

A different measure, the WBGT in sun, which adds the sun's load. Our sun term is an approximation stated as such, so this field runs warm.

How exactly

farm laborer, mason, delivery rider (moderate work ~300 W). WBGT-in-sun (shortwave-only MRT approximation; the full radiation budget reduces the MRT error but requires ERA5 strd/strr not yet in the archive). Acclimatised workers, continuous work at ~300 W (moderate class). Limit: 27.8 °C WBGT. Source: NIOSH (2016) Publication 2016-106, Figure 8-2 / Table 5-1, p.4 and p.70. The globe temperature comes from the forecast's shortwave radiation only; the full radiation budget (longwave down and up) is not in the archive yet, and until it is the WBGT carries that error. The map's key says so under the working body.

The district

783districts

the filled cells are averaged · 0.25° ≈ 27 km

The mean of the cells whose centres fall inside the district, at every step. The map's field is drawn from the cells themselves, so a hot corner shows even when the district's number is milder.

How exactly

A 0.25° cell is about 27 km on a side; a district holds between one and a few hundred cell centres. Where none falls inside (the smallest districts and the city districts), the cell under the district's centroid stands in; the model's evidence file lists them by name. District polygons are Maplore's set from the Local Government Directory.

The day

worst 3 hof each IST day

0 h12 h worst of eight 3-hour stepsusually 12–18 h IST (marked);its hour and wet-bulb are kept

For each day, per cell and per district, the step with the largest margin to the line, its hour and its wet-bulb. That is the number under each name on the map.

How exactly

Days are IST (UTC+5:30), so a step at 21:00 UTC belongs to the next day. The hours over the line per day are stored in the spine as separate indicators for each body, with the run that made them, so yesterday's forecast stays beside what happened.

Scored against stations, every night

2.48 °Cmean error, same-day forecast, bias -2.18 °C, 2,509 district-days

same day2.48 °C · bias -2.18 · n 25091 day ahead2.50 °C · bias -2.17 · n 22182 days ahead2.51 °C · bias -2.17 · n 21243 days ahead2.53 °C · bias -2.20 · n 20274 days ahead2.52 °C · bias -2.19 · n 19325 days ahead2.51 °C · bias -2.19 · n 18336 days ahead3.08 °C · bias -2.89 · n 17337 days ahead1.85 °C · bias -1.53 · n 15368 days ahead1.82 °C · bias -1.48 · n 14449 days ahead1.81 °C · bias -1.46 · n 1344

At 03:20 UTC the district's forecast daily maximum wet-bulb is compared with what its 134 airport stations measured. Per-station errors are published beside the mean so nothing hides in it.

How exactly

Each station's hourly temperature and humidity are paired by timestamp and turned into its daily maximum wet-bulb (at least 12 pairs a day, else the day is dropped); a district's observation is the mean of its stations. Error, bias and pooled skill (1 − Σ forecast error² / Σ baseline error²) against persistence and against the same calendar window of 2024 and 2025 are computed per lead and shown on this page. IMD's heat-wave codes are tabulated against the stations' crossings of the resting limit in the same file; that table fills from March.

Model 2: corrected to the airports

0.86 °Cmean same-day error after correction, against 2.48 °C before it; 104 districts corrected from their own airports, 620 borrowing the nearest within 150 km, 53 left uncorrected

same day · model 12.48 °C · bias -2.18 · n 2509same day · model 20.86 °C · bias +0.06 · n 23161 day ahead · model 12.50 °C · bias -2.17 · n 22181 day ahead · model 21.33 °C · bias -0.05 · n 20272 days ahead · model 12.51 °C · bias -2.17 · n 21242 days ahead · model 21.41 °C · bias -0.09 · n 19323 days ahead · model 12.53 °C · bias -2.20 · n 20273 days ahead · model 21.43 °C · bias -0.17 · n 18334 days ahead · model 12.52 °C · bias -2.19 · n 19324 days ahead · model 21.43 °C · bias -0.23 · n 17335 days ahead · model 12.51 °C · bias -2.19 · n 18335 days ahead · model 21.44 °C · bias -0.22 · n 16346 days ahead · model 13.08 °C · bias -2.89 · n 17336 days ahead · model 21.56 °C · bias -0.58 · n 15367 days ahead · model 11.85 °C · bias -1.53 · n 15367 days ahead · model 21.09 °C · bias +0.33 · n 13418 days ahead · model 11.82 °C · bias -1.48 · n 14448 days ahead · model 21.16 °C · bias +0.37 · n 12529 days ahead · model 11.81 °C · bias -1.46 · n 13449 days ahead · model 21.18 °C · bias +0.43 · n 1154

Model 1 minus its mean error at the district's airports over the last 10 scored days (at least 3). A district without an airport borrows the nearest scored district's correction and is marked extrapolated: tap a district on the map and the second sentence says where its correction came from. Read the score with care: until the window has rolled past the days being scored, the correction is fitted on the very days it is judged on, so the number above flatters it. The honest figure is the one a fortnight from now.

How exactly

The correction runs at :55 after each model 1 run. For each district and lead it takes the score table's errors (forecast minus the mean of the district's stations' observed daily maximum wet-bulb) over the last 10 scored days, needs at least 3, and subtracts the mean from model 1's current forecast. A lead with too few days borrows the nearest shorter lead's bias from the same place. A district with no scored station takes the correction of the nearest scored district by centroid distance, up to 150 km, and carries flag 2 (imputed) and that district's name; further than that, model 1 stands. Rows go to the spine as garmi.wbt_max_c_m2 citing model 1's run, and the scoreboard scores both slugs against the same observations on the same days. Only the wet-bulb bodies are corrected; the working body's WBGT is not.

Where sources disagree

  • Our field against Copernicus. On 28 May 2024 our UTCI from the archive differed from ERA5-HEAT by 3.27 °C RMS with our sun term, 1.67 °C with theirs. Half the gap is the sun; the rest is open. Bears on the working body.
  • The forecast runs cool at the airports. Part is grain: a station is a point, the district an area mean; in Leh or Papum Pare the mean sits far above the airport.
  • The chamber limits against the 35 °C rule. The textbook figure assumed perfect sweating; the measured limits are several degrees lower. Garmi uses the measured ones.

Sun on skin: the UV index

the map's second reading, from a different forecast

The forecast

45 kma cell of the Copernicus atmosphere forecast

UV: about 45 km heat: 27 km a town, 10 km

The UV index comes ready-made from the Copernicus Atmosphere Monitoring Service's global forecast, with cloud and without, stored on Maplore's own server. Its cells are 0.4° across, coarser than the heat forecast's, and its steps are three hours; the hours between are filled in.

The day

1the day's peak in Chamarajanagar, 11 without cloud

lowmoderatehighvery highextreme 036811 with cloud: 1 without: 11 05:3008:3011:3014:3017:30

Per district, the mean of its cells hour by hour from 05:30 to 17:30; then the peak as a whole number, its hour, and the hours at 3, 6, 8 and 11 or more. The dashes are the same day without cloud.

The reach

5 daystoday and the next four; heat has six

heat: today and the next five daysUV: today and the next four

A run of this forecast ends on its fifth day, so the last day button drops away when you switch to Sun on skin. Two runs a day; the map says which one it is showing.

The bands

LowModerateHighVery highExtreme 012345678910111213+ None neededstay outsideProtection requiredshade at midday; shirt, sunscreen, hatExtra protectionindoors at midday; shade, shirt, sunscreen, hat

The World Health Organization's five bands and the protection it attaches to them (today: 3 low, 172 moderate, 424 high, 184 very high). The guide fixes the colours by print reference (green, yellow, orange, red, purple); the screen colours are our match, graded lighter to fuller within a band, which the guide allows.

What this reading leaves out, and why

  • Minutes to burn. The guide says “Reporting burn times is not recommended”, because people read a burn time as a safe time. None is given, for any skin.
  • A separate scale for darker skin. There is none. The guide's basic messages were written for fair skin that burns, and it adds that dark-skinned people “are nevertheless susceptible to the damaging effects of UV radiation, especially to the effects on the eye and immune system”.
  • A scoreboard. Heat is scored every night against airport stations. No open, timely record of measured UV index across India was found to score this against, so it is unscored and says so.
  • Mountains, snow and single clouds. A 45 km cell averages a valley with its ridge; snow and height raise the real index, so the high Himalaya is likely to read low. A large, steep district spans several bands: its number is a mean, the map is the field.

Comfortable days: the long record

the map's third reading, from 36 years of hourly weather

The record

36 yearsevery hour from 1990 to 2025, for 783 districts

05010015020019901995200020052010201520202025Indian ruleInternational

Air temperature, humidity, wind and sun are read hour by hour from the European reanalysis (ERA5), on cells about 25 km across, and averaged over each district. The lines are the average district's comfortable days in each year under the two rules. Two ten-year means are compared on the map: 1990–1999 and 2016–2025.

The Indian rule

162comfortable days a year now; 185 in the 1990s

15°20°25°30°35°15°20°25°30°mean temperature of the last 30 dayscomfortable

From the India Model for Adaptive Comfort: 6,330 answers from people in 16 naturally ventilated, mixed and air-conditioned offices in five cities. The temperature people call neutral is 0.54 × the mean of the last 30 days + 12.83 °C, and four in five accept 4.1 °C either side. A day counts when its mean temperature is inside that band for its own district.

The guard

3 °Cbelow the body's limit, at every hour

Chennai, days a yearthe band alone365with the guard138

The survey model has no humidity in it, and on its own it calls Chennai comfortable on every day of the year. So a day inside the band is still counted too hot if at any hour the air came within 3 °C of what a resting adult can shed heat into: the same limit the Heat reading draws. The guard is Maplore's, not the survey's.

The international rule

147comfortable days a year now; 167 in the 1990s

A day counts when its mean felt temperature (the Universal Thermal Climate Index, which adds humidity, wind and sun to the air temperature) lies between 9 and 26 °C, the band with no thermal stress. The same numbers everywhere on Earth: it does not move with what people are used to. The map opens on the Indian rule; the strip above it switches between the two.

0°9°26°32°38°46°no thermal stressstrong heat stress from 32°

One district, both rules: Chennai, 2016–2025

Indian ruleJan31Feb27Mar14Apr0May0Jun0Jul1Aug1Sep1Oct9Nov24Dec30InternationalJan15Feb3Mar0Apr0May0Jun0Jul0Aug0Sep0Oct1Nov7Dec18
  • comfortable day
  • too cold
  • too hot

A row a month, a dot a day. Too cold is below the band (Indian rule) or below 9 °C felt (international); too hot is above it, or inside the Indian band but near the body's limit.

What this reading leaves out, and why

  • Hill districts. A district's number was first the mean of its 25 km cells, peaks and valleys together. Against 101 airport stations over 1990 to 2025 that read 3.8 °C too cold where the land rises 600 m or more inside a district. So 86 districts are now counted at the height where their people live, 6.5 °C warmer for each kilometre lower, with the humidity kept: that brings the error to 2.5 °C (1.5 °C leaving out Leh, which stays far too cold). Flat districts were and are within 0.6 °C. Check of 13 October 2026.
  • One number for a district that is two places. Where people live across more than 500 m of height, a plain below and a hill town above, no single count fits. The district's card draws the spread and says it varies.
  • Outdoors, as people report it. The Indian rule comes from people at their desks indoors; it is applied here to the day outside. No survey of outdoor comfort across Indian cities was found to set it by.
  • Coasts. At 17 coastal airports the record's afternoon high is 0.9 °C too low on average (Port Blair and Chennai by about 2 °C) and its night low 0.4 °C too low, so the day's mean, which the Indian rule counts with, is 0.6 °C out: no worse than the inland plains. The counts are left as they are; the afternoon peak on a shore is the part to read with care.
  • Rain. A day of heavy rain can still count as comfortable; neither rule looks at it.

What it can't tell you

Sources

Every number on this page is read at build from the same published results the map draws, so the page cannot drift from the map.