75 years of weather in 15 seconds of sound
So a few years ago while I was still at University I took a second year environmental engineering course looking at data collection and analysis of meteorological and oceanographic data. We learned a lot of signal processing techniques (Fourier transforms, spectrum analysis etc) to use when looking for/removing cyclical changes over time in the data. Sometimes we wanted to separate the the short term changes caused by ripples on the ocean from hour-long tidal waves. Sometimes we wanted to remove seasonality from temperature data.
These cyclical changes got me to start thinking about the scale differences in the cycles that we experience through our different senses. The year-long cycle of the seasons. The daily cycle of the sun. The milli-/micro-second cycles of air pressure changes that make up sound waves. The nano-second electromagnetic cycles that make up light and radiating heat. What would happen if we change the speed of these cycles and adjust them so we can experience them in a different way, with a different set of senses?
Sound is made up of short oscillating pressure changes picked up by our ear drums. But if these pressure changes take longer than a few fractions of a second our ear drums can’t pick them up, and so we cannot hear them. We can’t for example hear the much longer cycle of pressure changes that happen over the day-night cycle from the sun or the even longer days to week-long pressure cycles from weather systems that move across the landscape in the form of storms and sunny weather. But what if we could make our ears hear these things anyway?
Humans can hear pressure oscillations if they occur between 20 times and 20,000 times per second (20Hz-20kHz). Day-to-day and week-to-week pressure changes occur at ~10⁻⁵ — 10⁻⁶Hz. If we want to push this into our hearing range, we need to make them occur 200 million times faster than they do naturally, i.e. hear about 6 years of air pressure changes in one second.
I’m currently trying to teach myself programming and I’ve always been fascinated by data-driven modern art, so I thought I’d try to do this as a project in the intersection of both. I work in Python using Jupyter Notebooks and mainly use the very basic packages Pandas, NumPy and SciPy.
After some searching I found the open data portal of the Swedish Bureau of Meteorology (SMHI) where they publish all historical data for all their weather stations for free — luckily I speak Swedish. One of their stations in Northern Swedish town of Östersund (which is near where my Mother is from) has been diligently gathering data for more than 75 years starting in 1941, so I downloaded the dataset and started cleaning it in Python.
Unfortunately until the late 50’s SMHI only recorded data every 6 hours and up until 1962 they took a break between midnight and 3am and at 4am (I wonder how they were actually gathering this data — was it manual and that’s why they took a break?). To make sure we have the same number of data points per unit of time when we turn this into sound, i used linear interpolation for any hours for which data was missing before 1962.
I then shifted the data to be centred at zero by subtracting the average pressure from all data points. I also scaled the data to be between -1 and 1 (necessary for creating a .wav file) by setting the average for the negative side to be -0.5 and the average of the positive side to be 0.5. I then clipped any outliers to be -1 and +1 respectively. Since the data is hourly, using a standard sample rate of 44,100 per second for the soundfile ends up speeding up time by a factor of 158 million — within acceptable range of the 200 million needed. So I wrote my array to a .wav file.
This is what 75 years of weather in Northern Sweden sounds like:
Although I can’t say that the result is beautiful to listen to, i find it pretty cool that you can actually hear what is happening. The fast and rhythmic “Whum-whum” sound is the years passing by — the seasonal changes in air pressure (count them, there’s 75 of them). The high pitched whining sound you can hear is close to the 1.8kHz signal that we would expect from the daily variation in air pressure. The rest of the crackling is everything else, all the tiny random variations that happened in those 75 years.