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
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
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
- 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 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
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
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
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
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
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
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
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
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
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
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.
One district, both rules: Chennai, 2016–2025
- 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
- What it is like indoors. Under a tin roof the air can be hotter than outside; that needs a model of the house, not built yet.
- Anything about children. No chamber study has measured a child's limit and none will; physiology says they fail sooner. No line is drawn rather than a guessed one.
- Anything finer than a district or than three hours. City pages will go finer.
- How you in particular will fare. The limits are for healthy, acclimatised volunteers at rest; illness, medicines, pregnancy and dehydration lower them.
- Whether the sun's load is right. The working body's sun term is an approximation until the full radiation budget is in the archive.
- Whether to trust it yet. The map is public; its scoreboard is still young, and performance has not yet been established across a full season.
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.