Climate
The same pool in 44 places
Hold everything constant — same dimensions, same water temperature, same season, same cover, same equipment — and change only where the pool is. The season heat requirement moves by a factor of several across the United States, and it does not move the way most people expect, because air temperature is only one of the four things that matter.
Four climate variables, not one
Pool heat loss depends on air temperature, on relative humidity, on wind, and on how much sun arrives. Two of those work against intuition:
- Dry air costs you. Evaporation is driven by the vapour-pressure difference between the water surface and the air. Phoenix in July is hot, and it is also extremely dry, which keeps that gap wide even when the air is warmer than the pool. Humid Miami at a similar temperature loses less to evaporation.
- Clear skies cost you at night. A cloudless desert night radiates the pool's heat away to an effective sky temperature far below the air. The same air temperature under overcast loses much less. This is why the model derives cloud fraction from measured all-sky against clear-sky irradiance rather than ignoring it.
Sun and wind then push in opposite directions on top of that. It is a four-way trade, which is why the table below is not simply sorted by latitude.
Your pool, ranked across every location
Set your own pool and season; the ranking underneath is recomputed for it.
Easiest location in the set Jacksonville, FL62.36 million Btu for the season
Hardest location in the set Chicago, IL478.70 million Btu for the season
Spread across the country 7.7×same pool, same temperature, same season
Your selected location Phoenix, AZ196.18 million Btu for the season
Season heat requirement by location
| Location | July mean air | July humidity | July sun (kWh/m²/day) | Season heat | Heat-pump cost |
|---|---|---|---|---|---|
| Jacksonville, FL | 81.7 °F | 79% | 6.13 | 62.36 million Btu | $571 |
| Birmingham, AL | 81.0 °F | 72% | 5.98 | 90.10 million Btu | $991 |
| Miami, FL | 83.7 °F | 76% | 5.88 | 92.97 million Btu | $767 |
| Orlando, FL | 81.2 °F | 81% | 5.71 | 93.96 million Btu | $817 |
| Tampa, FL | 82.0 °F | 79% | 5.93 | 94.85 million Btu | $824 |
| Houston, TX | 83.3 °F | 75% | 6.12 | 98.42 million Btu | $975 |
| Little Rock, AR | 83.0 °F | 68% | 6.30 | 100.03 million Btu | $954 |
| Charleston, SC | 82.0 °F | 76% | 6.32 | 103.87 million Btu | $1,049 |
| Raleigh, NC | 80.1 °F | 70% | 6.20 | 119.14 million Btu | $1,221 |
| Charlotte, NC | 80.7 °F | 69% | 6.11 | 126.05 million Btu | $1,262 |
| New Orleans, LA | 83.3 °F | 77% | 5.64 | 127.86 million Btu | $1,066 |
| Atlanta, GA | 80.4 °F | 71% | 6.02 | 152.92 million Btu | $1,576 |
| Austin, TX | 85.1 °F | 64% | 6.73 | 157.55 million Btu | $1,542 |
| San Antonio, TX | 84.1 °F | 65% | 6.69 | 160.25 million Btu | $1,539 |
| Richmond, VA | 80.0 °F | 68% | 6.13 | 163.75 million Btu | $1,977 |
| Phoenix, AZ | 93.0 °F | 30% | 7.49 | 196.18 million Btu | $1,662 |
| Nashville, TN | 78.9 °F | 74% | 6.09 | 196.50 million Btu | $1,920 |
| Hartford, CT | 73.2 °F | 74% | 6.02 | 197.40 million Btu | $3,020 |
| Dallas, TX | 85.7 °F | 61% | 6.73 | 197.49 million Btu | $2,009 |
| Memphis, TN | 82.1 °F | 69% | 6.39 | 204.44 million Btu | $1,923 |
| Boston, MA | 72.4 °F | 75% | 5.96 | 233.41 million Btu | $3,771 |
| Newark, NJ | 75.9 °F | 73% | 6.03 | 247.02 million Btu | $2,987 |
| Louisville, KY | 76.1 °F | 77% | 6.04 | 248.56 million Btu | $2,629 |
| St. Louis, MO | 78.4 °F | 74% | 6.28 | 254.55 million Btu | $2,442 |
| Tucson, AZ | 84.9 °F | 42% | 6.91 | 263.17 million Btu | $2,354 |
| Los Angeles, CA | 74.1 °F | 52% | 7.93 | 267.95 million Btu | $5,782 |
| Philadelphia, PA | 76.3 °F | 75% | 6.17 | 269.58 million Btu | $4,233 |
| Riverside, CA | 77.8 °F | 41% | 7.38 | 271.63 million Btu | $5,759 |
| Oklahoma City, OK | 83.8 °F | 60% | 6.90 | 280.35 million Btu | $2,446 |
| Seattle, WA | 64.7 °F | 77% | 6.33 | 280.99 million Btu | $2,591 |
| Portland, OR | 66.1 °F | 70% | 6.82 | 284.36 million Btu | $2,830 |
| Sacramento, CA | 78.0 °F | 41% | 8.24 | 287.95 million Btu | $6,144 |
| Las Vegas, NV | 92.3 °F | 22% | 7.56 | 304.04 million Btu | $2,385 |
| San Diego, CA | 72.5 °F | 58% | 6.14 | 306.52 million Btu | $6,726 |
| Baltimore, MD | 76.9 °F | 70% | 6.17 | 310.56 million Btu | $4,881 |
| Kansas City, MO | 79.1 °F | 71% | 6.46 | 318.60 million Btu | $3,099 |
| Salt Lake City, UT | 74.7 °F | 39% | 7.53 | 338.33 million Btu | $1,764 |
| Columbus, OH | 74.1 °F | 74% | 5.92 | 347.78 million Btu | $5,009 |
| Indianapolis, IN | 74.1 °F | 78% | 6.10 | 349.18 million Btu | $4,672 |
| Albuquerque, NM | 79.2 °F | 40% | 7.21 | 351.71 million Btu | $3,388 |
| San Jose, CA | 67.4 °F | 62% | 8.20 | 353.23 million Btu | $8,318 |
| Denver, CO | 72.2 °F | 45% | 7.00 | 450.75 million Btu | $3,019 |
| Long Island (Islip), NY | 73.7 °F | 83% | 6.18 | 469.79 million Btu | $7,386 |
| Chicago, IL | 72.6 °F | 78% | 6.16 | 478.70 million Btu | $6,418 |
The cost column moves for a second reason: electricity prices differ by state, sometimes by more than the climate does. A pool in a mild, expensive-electricity state can cost more to heat than the same pool in a harsher, cheaper one. The energy prices page separates those two effects.
Monthly detail for Phoenix, AZ
| Month | Mean air | Relative humidity | Wind at 2 m | Sun, all sky | Sun, clear sky |
|---|---|---|---|---|---|
| January | 52.5 °F | 46% | 4.3 mph | 3.43 | 3.95 |
| February | 55.2 °F | 44% | 4.2 mph | 4.43 | 5.09 |
| March | 62.3 °F | 38% | 4.3 mph | 5.89 | 6.52 |
| April | 69.1 °F | 29% | 4.9 mph | 7.28 | 7.79 |
| May | 78.7 °F | 22% | 4.9 mph | 8.17 | 8.56 |
| June | 89.5 °F | 15% | 4.9 mph | 8.50 | 8.76 |
| July | 93.0 °F | 30% | 4.5 mph | 7.49 | 8.13 |
| August | 91.3 °F | 35% | 3.9 mph | 6.91 | 7.47 |
| September | 85.9 °F | 31% | 4.3 mph | 6.16 | 6.55 |
| October | 74.2 °F | 30% | 4.3 mph | 5.01 | 5.35 |
| November | 62.3 °F | 34% | 4.4 mph | 3.78 | 4.17 |
| December | 51.8 °F | 45% | 4.1 mph | 3.08 | 3.60 |
The last two columns are what the cloud-fraction derivation uses. Where all-sky irradiance sits close to clear-sky, the month is mostly cloudless and the night-sky radiation term is large. Where it falls well below, the sky is holding heat in.
The wind figure is the weakest column in that table
Air temperature, humidity and irradiance from a reanalysis are good enough for this job. Wind is not, and the reason is visible in the data itself. A reanalysis reports wind for a grid cell, and the cell's surface roughness dominates the answer: a cell containing open water reads high, a cell of forest or dense building reads low, at the same real exposure.
That is not a criticism of the dataset. It is what the dataset says it is, in the project's own documentation:
All of the MERRA-2 parameters represent the average value over the spatial grid. The wind speed is at 2 m, 10 m, and 50 m above the average elevation of the grid and precipitation surface value averaged over the grid. The remaining parameters are taken from the model at 2 m above the average elevation of the grid box.
What it settles here Every wind figure on this site is a grid-cell average measured two metres above the cell's mean elevation — an average of open ground, roofs, trees and water over an area far larger than a garden — so it is the right input for a regional comparison and the wrong input for your fence line, which is why the wind exposure setting on every calculator here is a control you set rather than a number the model quietly takes on trust.
The consequence is worth being blunt about. Evaporation is the largest single term in a pool's heat balance, evaporation scales with wind, and wind is the input this site knows least well. Everything else on this page is a comparison you can trust to rank locations correctly. The absolute cost figures inherit the wind uncertainty, and that uncertainty is larger than the difference between two nearby metros.
| Location | July mean wind at 2 m | What the cell is mostly made of |
|---|---|---|
| Miami, FL | 7.2 mph | coastal or lakeside water |
| Chicago, IL | 6.9 mph | coastal or lakeside water |
| Phoenix, AZ | 4.5 mph | mixed |
| Atlanta, GA | 2.2 mph | inland, high surface roughness |
| Boston, MA | 0.8 mph | inland, high surface roughness |
| Raleigh, NC | 0.5 mph | inland, high surface roughness |
Miami and Raleigh are not twenty times windier than each other in July. The difference is mostly roughness, not weather. That is why the wind exposure control on every calculator here is a visible input with a plain-language default rather than a number quietly taken from the dataset, and why the honest advice is: if the regional figure looks wrong for your yard, override the exposure setting.
Where these numbers come from
NASA Langley Research Center, POWER Project, POWER Climatology API v2.9.7 — 20-year monthly climatology, January 2001 to December 2020 (parameters T2M, RH2M, WS2M, ALLSKY_SFC_SW_DWN, CLRSKY_SFC_SW_DWN). Retrieved 2026-08-06.
Limitation, stated plainly: A reanalysis on a coarse grid, not a weather station reading. It resolves a metropolitan area, not a back yard, and a 20-year mean says nothing about the cold week that will actually decide whether you swim in April.
A second, independent source is used as a cross-check on air temperature only: NOAA National Centers for Environmental Information, U.S. Climate Normals 1991-2020, monthly, station access files. Retrieved 2026-08-06. Station normals cover a different 30-year window than the reanalysis and are measured at an airport. Where the two disagree the methodology page reports the gap rather than picking a winner. The methodology page reports the measured gap between the two rather than choosing one.
The official normals are calculated for a uniform 30 year period, and consist of annual/seasonal, monthly, daily, and hourly averages and statistics of temperature, precipitation, and other climatological variables from almost 15,000 U.S. weather stations.
What it settles here The cross-check is a thirty-year station average and the climate record driving the calculators is a twenty-year model reanalysis, so the two are not measuring the same thing over the same years and a disagreement of a few tenths of a degree in a July mean is the expected result rather than a fault in either — which is why the gap is published instead of quietly averaged away.
There is a second reason the two are kept apart rather than blended. A station normal is a thermometer at an airport; a reanalysis value is a model estimate for an area. Blending them would produce a number with no defensible provenance at all, and the moment a figure has no provenance it cannot be checked, corrected or argued with. Two sources reported separately, with the size of their disagreement stated, is less tidy and considerably more useful.