↓Skip to main content

A Year In Temperatures

·2014 words·10 mins
By 
DrProton
Table of Contents

I like data. Yes, I know, I’m a nerd.

It has been a little over a year since I deployed some indoor and outdoor temperature sensors in and around my home. They have been taking a reading every 10 minutes for that entire year (except for a few brief gaps for various reasons), logging well over 250,000 readings at last count.

For this post, I am exploring different ways to look at a year’s worth of these temperature readings. Again, I’m doing this just because I have an interest in collecting, analyzing, and visualizing data. Though the data may not be as interesting to other folks, I hope this post is of at least passing interest to folks who also just like data. The post demonstrates the power of data slicing.

All plots in this post use temperature readings taken between Nov 1 2025 and Oct 31 2026. I have slightly more data than that, but I decided to limit the data used to just cover a full year, mostly because the data before Nov 1 2025 had a couple more brief outages. The temperature data for this post was collected from sensors in the following locations:

Location Description Data Points
Outside The air temperature from a sensor deployed in my backyard, away from my house, in the shade 52,547
Pool The water temperature from a floating thermometer in my backyard pool. It is tied to the side of my pool, situated to always be in the shade 51,518
Attic The air temperature from a sensor deployed in the attic of my 2-story home 52,547
Studio The air temperature from a sensor in my home studio, which is located in a second-story room in my home. 52,547

For some reason, the WiFi connection to the Pool sensor is less reliable than for the other sensors, so it has a few more gaps in the data.

The first few months of this same data were used in the Backyard Data Science series of posts. The same data science tools were used.

All the Data

Here are all the recorded temperatures for Outside, Pool, Attic, and Studio. No averaging or smoothing.

All recorded Outside, Pool, Attic, and Studio temperatures from October 9, 2025 through October 8, 2026, in degrees Fahrenheit.

Each line follows the original readings within the selected period. Missing intervals are left as gaps

At this scale, the daily rise and fall of daytime warming and nighttime cooling makes the data a bit hard to see and interpret.

The Studio is the quiet purple line through the middle. Across its entire record, it stayed between 65.3 and 82.0 degrees F, because that is the range that I had set on my upstairs thermostat. Meanwhile, my Attic (whose floor is separated from the ceiling of my upstairs Studio by about a foot of wood, drywall, and insulation) reached 120.4 degrees F, while its lowest recorded temperature was 39.7 degrees. The Pool water temperature was likewise quieter than the Outside temperatures just because a body of water has a ’thermal inertia’ that resists sudden swings in temperature. The Pool ranged only between 39.4 and 91.8 degrees F, while the Outside air temperature (taken about 6 feet from the pool) ranged from 14.9 to 110.7 degrees.

Here is a summary chart of the recorded temperature extremes:

Location Lowest reading (F) Highest reading (F) Average daily high-minus-low (F)
Studio 65.3 82.0 4.4
Attic 39.7 120.4 28.6
Outside 14.9 110.7 21.5
Pool 39.4 91.8 2.4

Daily Highs and Lows

To make the seasonal pattern easier to see, I reduced each calendar day to two numbers: its highest recorded temperature and its lowest recorded temperature, and I gave each of the four locations its own panel. A thin vertical stroke runs from each day’s low to its high. The length of the vertical line shows how much the temperature varied that day.

Daily temperature ranges in Outside, Pool, Attic, and Studio panels, from top to bottom, on identical temperature scales. Each vertical stroke spans one day’s low to high.

All four panels use the same dates and temperature scale, so their stroke lengths can be compared directly.

The main take-away from these plots is that the Outside, Attic, and Pool temperatures all follow roughly the same seasonal variation, though at different amplitudes. However, my Studio is inside my house, which has an HVAC system to keep the temperature within a narrow band even when the outside temperatures are doing something dramatic (at least when the electricity stays on, which it thankfully did this year). The variations on the Studio plot have more to do with how I’ve set my thermostat than what the outside weather is doing.

Here is the pool on its own temperature scale, rather than the wider scale needed to include all four sensors.

Daily pool temperature ranges, with each vertical stroke extending from the day’s lowest to highest recorded temperature.

The same low-to-high strokes show the pool’s comparatively small daily temperature swings on an expanded scale.

The Pool’s average daily high-to-low water temperature range was about 2.4 degrees F, compared with 21.5 degrees for the Outside air temperature. Water stores a great deal of heat, so a pool does not usually follow every quick change in air temperature. A body of water provides a natural high-frequency filter on the temperature data.

The Pool temperature is affected by more than just the Outside air temperature; sunlight, evaporation, wind, rain, circulation, and running the pool heater can affect the water temperature. These plots show what the sensor recorded; separating the causes takes more than a temperature graph. See the Backyard Data Science series of posts for far more details.

Smoothed Daily Temperatures

For this plot, I first averaged the actual 10-minute readings within each calendar day, then applied a centered seven-day rolling average to those daily means. Neighboring points share six days of data, so this is a smoother view - it still averages out brief hot or cold spells.

Centered seven-day rolling averages of daily mean temperatures for Studio, Attic, Outside, and Pool, plotted daily on one graph.

All four smoothed daily averages on a single temperature scale. The smoothing window covers 7 days, and moves forward one day at a time.

From this graph, you can note that during the winter months (e.g., Dec–Feb) the Outside temperature is generally coldest, the Pool is a bit warmer, then the Attic is warmer still, then the Studio (which stays nearly the same all year). But during the summer months (Jun-Aug), the Attic is warmest, the Outside air is a bit cooler, then the Pool, then the Studio. Here’s a Mermaid flowchart showing the temperature rankings in winter and summer:

flowchart TD
    subgraph WINTER["❄️ WINTER (Dec–Feb)"]
        direction TB
        W1["Coldest: Outside"]
        W2["Pool"]
        W3["Attic"]
        W4["Warmest: Studio"]
        W1 --> W2 --> W3 --> W4
    end

    subgraph SUMMER["☀️ SUMMER (Jun-Aug)"]
        direction TB
        S1["Warmest: Attic"]
        S2["Outside"]
        S3["Pool"]
        S4["Coolest: Studio"]
        S1 --> S2 --> S3 --> S4
    end

    style W1 fill:#9CCBFA,stroke:#3978B8,color:#123
    style W2 fill:#B8D9F5,stroke:#3978B8,color:#123
    style W3 fill:#F5CBA7,stroke:#C47A36,color:#123
    style W4 fill:#F9D5A7,stroke:#C47A36,color:#123

    style S1 fill:#F4A261,stroke:#C45D16,color:#123
    style S2 fill:#F6BD80,stroke:#C47A36,color:#123
    style S3 fill:#B8D9F5,stroke:#3978B8,color:#123
    style S4 fill:#D5E8F6,stroke:#3978B8,color:#123

Note: The Studio is nearly constant throughout the year, so its relative ranking changes depending on the season.

A Year, Folded

The charts above reduce many measurements to daily ranges or means. A heatmap keeps all the individual readings but lays them out by date and by time of day, making both the seasonal sweep and the daily rhythm easier to see. The data is folded day-by-day so that readings taken at the same time of day stack vertically on top of each other.

All recorded Outside, Pool, Attic, and Studio temperatures arranged by date and time of day on one shared scale.

Each colored cell represents one recorded ten-minute reading on a shared color scale; blank cells are missing readings.

The broad seasonal bands are clear, as are the repeated day-and-night cycles. The Attic’s summer colors reach hotter values than the other locations, while the pool changes more gradually. The Studio plot is very bland, the cells are almost all the same color compared to the other plots.

Here the Studio gets its own color range, so that the slight variations in the Studio temperatures stand out:

Studio temperatures for every recorded ten-minute reading, shown on a Studio-only color scale.

The scale runs from 65.3 to 82.0 degrees F, so the Studio’s smaller variations are visible.

From this plot, I can actually pick out dates when I adjusted my smart thermostat to affect the Studio temperatures. I won’t bore you with details, but the thermostat is configured to allow setting a different temperature for 4 intervals each day, with sleep, wake, daytime, and evening time periods. I can pick out the vertical bands of each time interval on the plot.

A Typical Daily Cycle, by Season

Instead of plotting every day’s traces, I grouped hourly means by season and clock hour. The shaded band spans the middle half of the observed hourly values.

Seasonal hourly temperature profiles for all four locations, with medians and middle-50-percent bands.

Each panel is a season. A wider band means more variation between observed temperatures at that time of day.

Note from this plot that during the afternoon hours, the Attic is usually warmest, no matter the season.

Attic Vs Studio

The next two heatmaps subtract simultaneous readings. Positive values mean the first-named sensor was warmer; negative values mean it was cooler.

Attic minus Studio at matched ten-minute timestamps, with colors clipped at plus or minus 30 degrees F.

Red means the Attic reading was warmer than the Studio at the same timestamp; blue means it was cooler.

The fact that the Attic was warmer than my Studio in the afternoon stands out on this plot, especially during the summer months.

Pool Vs Outside

The same matched-reading approach shows how the pool relates to the outdoor sensor throughout the year.

Pool minus Outside at matched ten-minute timestamps, with colors clipped at plus or minus 25 degrees F.

Red means the pool reading was warmer than Outside at that instant; blue means it was cooler.

The Pool tends to be slightly warmer than Outside at night and slightly cooler during the day, no matter the season.

Pool Vs Air Across the Seasons

Each dot below compares one day’s Pool mean temperature with the Outside mean temperature, both calculated from the same timestamps. The dotted diagonal marks equal temperatures.

Daily pool mean versus simultaneous Outside mean, with points colored by season and a line for equal temperatures.

Points below the diagonal mean the Pool was cooler than Outside; points above it mean the Pool was warmer. Season colors show the annual pattern.

On average, the Pool was about 1.0 to 1.8 degrees F warmer than Outside in winter, spring, and autumn, and about 0.8 degrees F cooler in summer. The seasonal change is modest next to the much larger daily swings in the air temperature.

One Fast Change, Up Close

This close-up marks the largest observed 24-hour drop in hourly average Outside temperature.

All four temperature records around the largest observed 24-hour Outside drop, with that interval highlighted.

From December 28 to December 29, 2025, the Outside hourly mean fell 40.8 degrees F in 24 hours, from 85.1 to 44.3 degrees F. The shaded interval marks the endpoints used for that comparison.

The other traces make the different responses visible over the same event. The Pool moves less abruptly than the air, while the Attic follows the Outside but not by the full swing, and Studio only changed a bit because my HVAC was working.

Who Has the Larger Daily Swing?

Here we compare each location’s daily high-minus-low range with Outside’s range on the same day.

Matched daily temperature ranges for Pool, Attic, and Studio compared with Outside, with a diagonal for equal swings.

A point above the diagonal has a larger daily range than Outside; one below it has a smaller range. All three panels use the same axes and seasonal colors.

The Attic’s temperature range exceeded Outside’s on about 88% of days. The Pool’s range did not exceed Outside’s on any day, and the Studio’s did so only rarely. But interestingly, the temperature ranges were generally smaller (more smashed to the bottom) for the Pool than for the Studio. The thermal inertia of the Pool was greater than the thermal inertia of my Studio (as provided by my HVAC system).

A Clock for Each Month

These polar charts put clock time around a circle, with midnight at the top and the hours moving clockwise. Each monthly line follows the mean temperature at each hour; all panels use the same radial temperature scale.

Monthly hourly temperature profiles for all four sensors, drawn as seasonal temperature clocks on one shared radial scale.

Increasing temperature grows ‘outward’. The curves close at midnight to make the daily cycle easier to see.

The shape shows the typical within-day cycle for each month, while the radius reflects its temperature level. It is a compact way to compare both season and time of day.

Summary

Outside has large daily and seasonal changes. The Attic often amplifies the daytime heat. The Studio stays within a comparatively narrow range. And the Pool responds on a slower schedule, carrying yesterday’s weather into today.

None of that is especially surprising in principle. But there is something satisfying about watching familiar physical ideas emerge from months of measurements taken around your own home.

And yes, I still like data.

Author
DrProton
Retired software developer, ex-physicist, wannabe musician and lifelong learner.

Comments

Tags

Projects Technology Physics Temperature Data Visualization Data Science Sensors

Related

Physics vs AI
·2259 words·11 mins
By 
DrProton
Projects Coding Technology Physics
Pool Temperature Physics
·2624 words·13 mins
By 
DrProton
Projects Coding Technology Physics
Weather Data Science
·2221 words·11 mins
By 
DrProton
Projects Coding Technology Physics
Backyard Data Science
·3018 words·15 mins
By 
DrProton
Projects Coding Technology Physics
Vibe Drum Mapping
·2836 words·14 mins
By 
DrProton
AI Projects Coding Technology