Solar pool heating, measured — not promised.
Every number on this page is a live reading from the pool and spa at our own installation. Two nearby pools with no solar heating are logged right alongside them — one sitting in full sun, one in shade — so every comparison here is a direct measurement, not a model or a projection. No solar blanket and no pool cover are used on either the pool or the spa, and both are mostly shaded: the water sits open to the air, and every degree here came from the panels unless otherwise stated. You can download the full raw dataset below.
Browse the record
Under each date, that day's peak water temperature. Solid days are loaded · dashed days are older history — tap one to fetch it from the logger.
Our pool, open data
This is our own pool, and the record is fully open. Take the raw data and run your own analysis — or come by and experience the water in person. Either way, you don’t have to take our word for it.
⬇ Download the full dataset Every raw sensor reading behind this page, live from the logger, as a CSV spreadsheet (several MB — best on Wi-Fi).Two nearby pools with no heating at all. Ours sits in shade most of the day, so the shaded reading is the baseline every boost figure on this page is measured against — the stricter of the two. Our pool is dotted here for scale.
Daily Summary
The season so far
Measured Jul 15 – Aug 12, 2026 · 29 days of data
How these numbers are measured
Our pool. Everything on this page comes from the pool and spa at our own working installation. Sensors log a reading about once a minute, around the clock, to a public data log — and this page reads that log directly, so what you see is the raw record. Logging began June 12, 2026; the record shown here starts July 15, once sensor placement and calibration were settled — earlier readings measure the shakedown, not the system.
The controls. Two nearby unheated pools carry the same sensors — one sits in full sun, the other in shade. They show what pool water does with no heating at all. Every “boost” figure is simply the pool or spa temperature minus the shaded control’s reading at the same moment: a direct measurement, not a model or a projection.
Why we measure against the shaded control. Our pool sits in shade for most of the day, so shaded water is what this pool would actually be doing without the solar system — that’s the honest thing to compare it against. The full-sun control is still logged — it has its own chart under “Dig deeper” — but it describes a sunnier pool than ours. Note which way this cuts: unheated water in full sun warms itself more than unheated water in shade, so measuring against the shaded control makes the boost figures larger than they would be against the full-sun one. Both readings are in the downloadable data if you want to run the comparison the other way.
Our heating limits. These are the limits we set on our own system, not a ceiling on what solar can do: the controller stops heating once our pool nears — °F or our spa nears — °F. Peak temperatures are capped on purpose — on hot, sunny days the water would climb past those lines without them.
The gas heater. The system also has a gas heater. A gas burn warms water far faster than sunshine can, which makes it easy to spot in the data. Days the heater runs are flagged automatically, and its rise is never counted in any solar statistic.
No pool cover. A solar blanket is the easiest way to make a solar heating system look better than it is — it holds heat in overnight and stops the evaporation that cools a pool all day. We don’t use one, on the pool or the spa. Every figure on this page is what the panels alone did to open water, which is also what an uncovered pool of yours would see.
Data gaps. If a sensor goes quiet for more than an hour, the gap is shaded on the chart instead of being smoothed over.
Definitions. “Swim hours” are noon to 10 PM. A day counts as swim-ready when the pool averages — °F or warmer during swim hours.
Cost comparison. Each day’s measured temperature rise — minus a conservative allowance for the natural warming unheated water gets anyway — is converted to BTUs and priced at what a gas heater would burn to deliver the same heat, shown as a range from natural gas to delivered propane. On days the gas heater ran, only the solar preheat before it fired is credited, never the heater’s own rise.