Heat changes when you can train outside, not whether you can train. The useful question is how many weeks a year it matters where you live, and NOAA answers it: its 1991–2020 climate normals give, for each weather station, the average number of days a year that reach 90 F and the average July high.1,2
The table takes one station for each of 48 large U.S. metro areas: a station within 25 km of the Census Bureau's internal point for the metro's first-named city, preferring one with a complete record. That makes each row a reading at one spot near that city, not a metro average, so the station's name and distance are printed with it. San Francisco and San Jose have no figures, for the reasons given in their rows.
The table
Days at or above 90 F is a yearly average over 1991 to 2020; the July high is the average daily high for July over the same years. The distance is from the city's Census point to the station. A dagger (†) marks a value from a partial record, explained under the table. Each metro with a page on this site links to it, and the postal codes link to each state's page.
| Metro area | NOAA station (ID), distance | Days a year at or above 90 F | Average July high |
|---|---|---|---|
| Atlanta–Sandy Springs–Roswell, GA | Atlanta Hartsfield International Airport (USW00013874), 14.9 km | 47.1 | 90.1 F |
| Austin–Round Rock–San Marcos, TX | Austin-Camp Mabry (USW00013958), 2.5 km | 122.8 | 96.6 F |
| Baltimore–Columbia–Towson, MD | Baltimore Wash International Airport (USW00093721), 16.1 km | 33.9 | 88.8 F |
| Birmingham, AL | Birmingham Airport (USW00013876), 6.4 km | 65.0 | 91.0 F |
| Boston–Cambridge–Newton, MA-NH | Boston Logan International Airport (USW00014739), 3.1 km | 14.1 | 82.1 F |
| Charlotte–Concord–Gastonia, NC-SC | Charlotte Douglas Airport (USW00013881), 11.4 km | 49.2 | 90.3 F |
| Chicago–Naperville–Elgin, IL-IN | Chicago Midway Airport 3sw (USC00111577), 13.5 km | 20.9 | 85.2 F |
| Cincinnati, OH-KY-IN | Cincinnati Lunken Airport (USW00093812), 8.5 km | 26.7 | 86.6 F |
| Cleveland, OH | Cleveland (USW00014820), 16.7 km | 12.4 | 83.7 F |
| Columbus, OH | Columbus Port Columbus International Airport (USW00014821), 8.9 km | 20.7 | 85.4 F |
| Dallas–Fort Worth–Arlington, TX | Dallas Love Fld (USW00013960), 10.6 km | 107.5 | 96.9 F |
| Denver–Aurora–Centennial, CO | Denver-Stapleton (USW00023062), 1.0 km | 42.2 | 90.2 F |
| Detroit–Warren–Dearborn, MI | Dearborn #2 (USC00202016), 7.1 km | 17.3† | 84.1 F† |
| Grand Rapids–Wyoming–Kentwood, MI | Grand Rapids (USW00094860), 11.7 km | 9.9 | 83.1 F |
| Hartford–West Hartford–East Hartford, CT | Hartford Brainard Fld (USW00014752), 4.2 km | 17.0 | 84.6 F |
| Houston–Pasadena–The Woodlands, TX | Houston Hobby Airport (USW00012918), 19.4 km | 100.5 | 92.9 F |
| Indianapolis–Carmel–Greenwood, IN | Indianapolis (USW00093819), 13.8 km | 19.9 | 85.2 F |
| Jacksonville, FL | Jacksonville (USW00013889), 17.0 km | 80.1 | 91.9 F |
| Kansas City, MO-KS | Kansas City Downtown Airport (USW00013988), 4.0 km | 47.3 | 90.2 F |
| Los Angeles–Long Beach–Anaheim, CA | U C L A (USC00049152), 6.3 km | 10.4 | 76.9 F |
| Louisville/Jefferson County, KY-IN | Louisville International Airport (USW00093821), 8.2 km | 42.7 | 89.0 F |
| Memphis, TN-MS-AR | Memphis International Airport (USW00013893), 6.1 km | 72.1 | 91.9 F |
| Miami–Fort Lauderdale–West Palm Beach, FL | Miami International Airport (USW00012839), 10.9 km | 91.4 | 90.6 F |
| Milwaukee–Waukesha, WI | Milwaukee Mitchell Airport (USW00014839), 13.1 km | 9.1 | 81.9 F |
| Minneapolis–St. Paul–Bloomington, MN-WI | U Of Mn St Paul (USC00218450), 7.6 km | 10.5 | 81.4 F |
| Nashville–Davidson–Murfreesboro–Franklin, TN | Nashville International Airport (USW00013897), 10.4 km | 54.1 | 90.9 F |
| New York–Newark–Jersey City, NY-NJ | New York Cntrl Pk Twr (USW00094728), 13.2 km | 17.4 | 84.9 F |
| Oklahoma City, OK | Oklahoma City Will Rogers Airport (USW00013967), 11.7 km | 73.4 | 93.1 F |
| Orlando–Kissimmee–Sanford, FL | Orlando International Airport (USW00012815), 4.3 km | 109.9 | 92.0 F |
| Philadelphia–Camden–Wilmington, PA-NJ-DE-MD | Philadelphia International Airport (USW00013739), 17.8 km | 29.7 | 87.8 F |
| Phoenix–Mesa–Chandler, AZ | Phoenix Sky Harbor International Airport (USW00023183), 17.9 km | 173.4 | 106.5 F |
| Pittsburgh, PA | Pittsburgh International Airport (USW00094823), 20.8 km | 10.1 | 82.9 F |
| Portland–Vancouver–Hillsboro, OR-WA | Portland International Airport (USW00024229), 7.1 km | 14.6 | 81.9 F |
| Providence–Warwick, RI-MA | Providence T F Green Airport (USW00014765), 11.3 km | 11.9 | 83.6 F |
| Raleigh–Cary, NC | Raleigh State Univ (USC00317079), 7.0 km | 47.3 | 90.6 F |
| Richmond, VA | Richmond International Airport (USW00013740), 14.0 km | 44.9 | 89.5 F |
| Riverside–San Bernardino–Ontario, CA | Riverside Fire Stn 3 (USC00047470), 1.5 km | 110.0† | 95.3 F† |
| Sacramento–Roseville–Folsom, CA | Sacramento 5 Ese (USW00023271), 4.7 km | 89.9 | 94.4 F |
| Salt Lake City–Murray, UT | Salt Lake City International Airport (USW00024127), 3.6 km | 62.2 | 94.0 F |
| San Antonio–New Braunfels, TX | San Antonio Incarnate Word (USC00417947), 5.1 km | 111.9† | 94.0 F† |
| San Diego–Chula Vista–Carlsbad, CA | San Diego Montgomery Fld (USW00003131), 2.4 km | 16.0† | 79.8 F† |
| San Francisco–Oakland–Fremont, CA | No NOAA normals station within 25 km of San Francisco’s Census point | — | — |
| San Jose–Sunnyvale–Santa Clara, CA | None used: the one qualifying station within 25 km, Mt Hamilton (USC00045933), is at 1,282 m and doesn’t describe the valley | — | — |
| Seattle–Tacoma–Bellevue, WA | Seattle Sand Pt Wsfo (USW00094290), 10.4 km | 2.1 | 76.5 F |
| St. Louis, MO-IL | St Louis Lambert International Airport (USW00013994), 17.1 km | 47.1 | 89.6 F |
| Tampa–St. Petersburg–Clearwater, FL | Tampa International Airport (USW00012842), 6.5 km | 94.3 | 91.0 F |
| Virginia Beach–Chesapeake–Norfolk, VA-NC | Norfolk International Airport (USW00013737), 20.1 km | 36.2 | 89.4 F |
| Washington–Arlington–Alexandria, DC-VA-MD-WV | Washington Reagan Airport (USW00013743), 6.4 km | 40.0 | 89.6 F |
Download this table (CSV). Free to reuse with a link back to this page.
† Partial record: NOAA flags these values R (representative) instead of S (standard), with fewer years of record behind them. Years of record for the 90-degree days and the July high: Detroit (Dearborn #2) 13 and 14; Riverside–San Bernardino (Riverside Fire Stn 3) 15 and 18; San Antonio (San Antonio Incarnate Word) 17 and 18; San Diego (San Diego Montgomery Fld) 22 and 23. San Francisco has no NOAA normals station within 25 km of its Census point, so its row has no figures rather than a borrowed station's. San Jose has no figures either: the selection rule prefers a station with a complete record, and within 25 km the only one was Mt Hamilton, 1,282 m up, which describes a mountain, not the valley where the city is, so its climate figures were left out rather than printed from that station or swapped for another one by hand.
What stands out
- Phoenix is in a class of its own. Its Sky Harbor station averages 173.4 days a year at or above 90 F, the most of the 46 stations and 50.6 more than the next (Austin-Camp Mabry, 122.8), and a 106.5 F July high, also the highest.
- Nine stations average more than 90 days a year at or above 90 F, about three months: Phoenix, Austin, San Antonio, Riverside–San Bernardino, Orlando, Dallas–Fort Worth, Houston, Tampa and Miami. San Antonio's and Riverside's are partial records, and Sacramento (89.9) just misses.
- The same July high can mean a different summer. Atlanta (90.1 F), Denver (90.2 F), Charlotte (90.3 F) and Miami (90.6 F) have July highs within half a degree of each other, but Miami's station averages 91.4 days at or above 90 F against 42.2 to 49.2 at the other three. The July high tells you how hot the peak is; the day count tells you how many weeks you'll be planning around it.
- A station is not a metro. The Los Angeles row is the UCLA station, 6.3 km from the city's Census point: 10.4 days a year at or above 90 F. The Riverside station, in the neighboring metro to the east, averages 110.0. If you live far from your row's station, your summer may look more like another row's.
- Where 90 F is rare. Seattle's Sand Point station averages 2.1 days a year at or above 90 F, the fewest of the 46, and a 76.5 F July high, also the lowest. Milwaukee (9.1 days) and Grand Rapids (9.9) are next. Ties are common: Atlanta and St. Louis at 47.1 days, Kansas City and Raleigh at 47.3, and eight pairs on the July high, from Milwaukee and Portland at 81.9 F to San Antonio and Salt Lake City at 94.0 F.
How to read your own station's row
Read the day count as a calendar, not a forecast. A normal is a 30-year average: any given summer can run hotter or cooler, and the reading is taken at the station, not at your door. A few dozen 90-degree days means a few weeks of adjusting. A hundred or more means the summer months need their own version of your week.
What heat changes in a training week
- Move hard outdoor work to the cooler hours. Runs, hill walks, sprints and outdoor conditioning go to the early morning or the evening on the hot days, not the middle of the afternoon. Not sure which slot you'd keep? Pick the time you can repeat.
- Lifting doesn't change. If you lift indoors, the plan is the same in July as in January: same days, same sessions, same progression. Heat is a reason to move the outdoor part of your week, not to skip the gym part.
- Keep the walk; move the walk. A daily walk in a hot month goes to the morning, after sunset or indoors. Don't drop it because the afternoon is too hot.
- Plan it once. On the first hot week, decide which sessions move and where they go, and keep that schedule through the hot months. Rebuilding the week every hot day is how a summer of training turns into a summer of skipped sessions.
- Short is fine. On the worst days, a 30-minute session indoors beats an outdoor session you cut short or skip.
Related tables: winter cold at the same stations, how active your metro is by the CDC's metro survey, and commute times by state. For 40 metros, see rain by metro at the same kind of station, commute times by metro, and how active your city is.
Where the numbers come from
NOAA's National Centers for Environmental Information publish the U.S. Climate Normals for 1991 to 2020. The days at or above 90 F are the annual normal from the Annual/Seasonal Climate Normals; the July high is the July value of the normal daily maximum from the Monthly Climate Normals.1,2 Each value was read from the station's own normals file, with NOAA's completeness flag and years of record, on October 22, 2026, and checked the same day by a second, independent re-fetch: every value, flag and year count matched.
How the station was chosen: the metros are the 25 largest metropolitan statistical areas by the Census Bureau's 2024 population estimates and the 23 other metros among the 50 largest that have a page on this site. For each, up to six stations within 25 km of the Census Bureau's internal point for the first-named principal city were considered, preferring one with standard flags on every value; the distance in the table is from that point. A station describes its own spot, and normals apply less well the farther you are from the station. San Francisco has no station within 25 km of its point, and San Jose's only qualifying station is on a mountain, so neither has figures here.
If you reuse the table, cite NOAA: Palecki, M., Durre, I., Applequist, S., Arguez, A., Lawrimore, J. (2021). U.S. Climate Normals 2020: U.S. Monthly Climate Normals (1991-2020) and U.S. Annual/Seasonal Climate Normals (1991-2020). NOAA National Centers for Environmental Information. A link back here is appreciated.
If you'd rather have your week planned around your summer than rebuilt every July, apply.
General education only, not medical advice. If you have a medical condition, are pregnant, or take medication, check with your doctor before changing how you train or eat.
Sources
- Palecki M, Durre I, Applequist S, Arguez A, Lawrimore J. U.S. Climate Normals 2020: U.S. Annual/Seasonal Climate Normals (1991-2020). NOAA National Centers for Environmental Information, 2021. https://doi.org/10.25921/4ek7-fk11 (accessed October 22, 2026).
- Palecki M, Durre I, Applequist S, Arguez A, Lawrimore J. U.S. Climate Normals 2020: U.S. Monthly Climate Normals (1991-2020), v1.0.1. NOAA National Centers for Environmental Information, 2021. https://doi.org/10.25921/wck8-er13 (accessed October 22, 2026).
