3D surface charts

Kauhajoki temp highs Excel 3D chart
Excel 3D surface plot of temp highs in Kauhajoki

It has been interesting trying to chart out climate trends the way I want. I couldn’t find the kind of surface plots that I was looking for on the Internet. You can always find information about local climate, and some websites will even show an annual temperature curve, but if you want anything beyond that, you have to make it yourself! I found that I could download daily records for specific land weather stations that belong to the Global Historical Climatology Network (GHCN) through the National Oceanic and Atmospheric Administration (NOAA). I entered the data for one of the stations into Excel and made a 3D surface chart from it, shown above. I wanted to get a clear, detailed picture of climate trends where I live, because the temperature had been climbing above freezing in the coldest months of the year in Finland, where I live.

I liked to be able to go outside and play ice hockey and shuffle around the fitness trail on my cross-country skis, but that didn’t seem to be possible very much anymore. When if first arrived in Finland, in 2008, we were having proper winters, with temperatures well below 20°C, for long periods, there was snow piled up high, and there was sea ice thick enough to drive a truck on. It did not seem to be that way anymore.

The Excel chart was helpful, and it gave me a better sense of what was going on with the climate where I lived. I could almost make out a warming trend by staring at my chart, standing back, and squinting. In any case, melting snow in January is normal here, but a lot of years are pretty cold, too. I wanted to explore some of the other weather stations nearby, but it was labor intensive to copy the data into Excel for each different weather station, especially since the API was only flexible enough to send one year of data at a time for a weather station. Another option was to make a JavaScript web app that would automatically download a range of years of data through the API by recursively asking for each year separately. I was very excited when I got that working! It gave me the freedom I wanted to download all of the data for any weather station that I wanted, and then make an Excel chart. This was great, but I knew I could improve the functionality even further with a third-party JavaScript data visualization library. I found several, and from those I decided on using Plotly, because it had a good selection of 3D charts. One of them that really helped the data to pop was the contour chart, which looks like a topographic terrain map. It was another rush of success for me when I got that working, which is a little bit addicting!

The next step was to improve performance. As it stood, the performance of my web app could politely be described as glacial. It took ten to fifteen minutes just to download the data for a weather station! To improve this meant downloading the entire GHCN-daily dataset, and serving it from my own database. The performance is still, um, something to improve upon, but at least now the web app is usable. You need a PC in order to get any real mileage out of it, although it is possible to load charts on a phone, if you are sufficiently patient and determined. In reality, the bigger screen you have, the more you will get out of the charting tool, because the charts are so very highly detailed.

Today I finally got around to adding an option for viewing the data as a 3D surface plot. Here’s one showing historical temperature highs in Albuquerque, New Mexico. It’s amazing how there appears to be no climate trend at all in certain inland locations, when compared with oceanic and coastal locations, where climate trends are dramatic, with alternating warm and cold periods over the course of years. This chart for Albuquerque does not show entire years that are warmer or colder, only a very steady annual temperature wave. Head on over to the web app to view the interactive chart.

Albuquerque highs 1930-2021
Albuquerque temperature highs 1930-2021