Design Temperature Calculator

Pick a site and get the ambient temperatures an outdoor battery installation has to be designed around: the absolute maximum on record, the values exceeded 0.1% and 0.4% of hours, and how many hours a year each threshold is actually passed — including the worst single year, which is usually the number that decides the cooling design.

Weather data by Open-Meteo.com (CC BY 4.0), from its historical reanalysis archive. Reanalysis is a gridded model reconstruction rather than a station reading, so verify against local records before using a value in a contractual design document. How this is computed, and where it stops holding.

What the tool computes

Every figure comes from the same set of hourly dry-bulb temperatures for the period you select. Nothing is modelled or extrapolated — the tool sorts the record and reads values out of it.

FigureDefinitionWhat it is for
Absolute maximumThe highest single hourly value in the record, with the date it occurred. A survival check: equipment must not fail here, even if it derates.
0.1% exceedanceThe temperature exceeded by 0.1% of all hourly values in the record — about nine hours in an average year.A conservative sizing basis where downtime is expensive.
0.4% exceedanceThe temperature exceeded by 0.4% of all hourly values — about thirty-five hours in an average year. This is the ASHRAE-style cooling design condition.The usual basis for sizing cooling to a design condition.
Exceedance tableSix thresholds stepping down in 1 °C from the record maximum, each with the average hours per year above it and the worst single year.Turns a design temperature into a duration: how long, and how often, the plant sits above it.
Monthly maximaThe highest value recorded in each calendar month across the period.Shows the shape of the hot season, and whether it has one peak or two.

How it works

The method is deliberately plain, so that any figure it produces can be reproduced from the same source data.

  1. Fetch. Hourly 2 m air temperature for the site is requested from Open-Meteo's historical archive with the ERA5 reanalysis pinned, covering the last twenty complete calendar years in the site's own local time. Pinning matters: the archive's default blends ECMWF's 9 km operational model for recent years with ERA5 for older ones, which would put a change of model in the middle of the record — right where an extreme is read. One consistent product across twenty years is worth more here than a sharper one for the last eight.
  2. Select the period. You can narrow the record to a shorter recent span. Every figure below is then recomputed from that period alone, so a 10-year and a 20-year answer are directly comparable.
  3. Sort and read. All hourly values in the period are sorted. The 0.4% figure is the value with 0.4% of the record above it; the 0.1% figure likewise. These are read positions in a sorted list, not fitted distributions.
  4. Count exceedances. For six thresholds stepping down from the record maximum, the tool counts hours at or above each threshold in every individual year, then reports the average across years and the single worst year.

One difference from the published ASHRAE tables is worth stating plainly: this tool pools every hour in the selected period and takes the percentile once. That is why the 0.4% figure here is called ASHRAE-style rather than ASHRAE — it answers the same question from a different data source, and it is not a substitute for the tabulated value for a station where one exists.

A worked example

Phoenix, Arizona, 2006–2025 — 175,320 hourly values. The absolute maximum is 48.5 °C, the 0.1% value 45.7 °C, and the 0.4% value 44.5 °C.

ThresholdAverage hours per yearWorst single year
≥ 48 °C0.44 h in 2016
≥ 47 °C2.214 h in 2017
≥ 46 °C7.424 h in 2017
≥ 45 °C22.471 h in 2023
≥ 44 °C55.1133 h in 2023
≥ 43 °C114209 h in 2023

Two things fall out of this that a single number would hide. The absolute maximum sits 4.0 °C above the 0.4% value, so designing to the record maximum buys a margin that is only ever needed for a handful of hours. And the spread between the average year and the worst one is large: the plant sees 45 °C for about 22.4 hours in a typical year but 71 hours in 2023. If the cooling design has no margin, the worst year is the one that finds it.

Assumptions, and where they stop holding

  • This is reanalysis, not a weather station.The 2 m temperature is a screen-level field diagnosed by a forecast model, not a thermometer reading. ERA5 is produced near 31 km and distributed on a 0.25° grid, and the archive returns one whole grid cell rather than interpolating to your coordinate — so the value describes an area, not a point. It is then shifted for the elevation difference between that cell and your site at roughly 6.5 °C per kilometre, which is the one respect in which it is tuned to you.
  • Cities, valleys and coastlines are where it diverges.Urban heat island, sheltered terrain and land–sea contrast all act at a scale finer than the grid. A site inside a city or in complex terrain deserves a station comparison before the number is trusted.
  • Air temperature only.No solar gain, no wind, no humidity, and nothing about the enclosure. A container in full sun runs hotter than the air around it; that step is the thermal design, not this figure.
  • The record is history, not a forecast.Twenty past years describe the climate that was. For an asset with a twenty-year life, treat the result as a floor to reason from rather than a bound.

When not to use this

Do not paste a figure from here into a contractual design document, a guarantee, or a performance model that someone is signing. Use it to set the design basis, to sanity check a number a supplier has given you, and to see how much of the year sits near the limit. Where a value has to be defensible, take it from the recognised source for the jurisdiction — the tabulated design conditions for a nearby station, or a purchased dataset — and use this to check that number is plausible rather than to replace it. The published guidance on using reanalysis for planning and engineering is to adjust it against in-situ observations first, which is a step this tool does not perform.

Weather data by Open-Meteo.com, used under CC BY 4.0. Contains modified Copernicus Climate Change Service information (ERA5); neither the European Commission nor ECMWF is responsible for any use of it here.