The problem with averaging things together is that it hides what is really going on. Average a hot dog with a chunk of fried chicken and what have you got? Nothing that makes sense…
So we are told that CO2, a “well mixed gas”, is causing a consistent, global, and gradual rise in temperatures of about 1/2 C over the historical record.
We get this from averaging a bunch of thermometers together and then saying “Look! It is 1/2 C Hotter!”.
Yet looking at San Franciso, it HAS warmed. But is that due to a diffuse gradual CO2 warming?
Here is July and January in San Francisco California.
Look at those data slew from about 12 to 14 C in 1860 to about 17 C to 19 C now. Why that’s a good 5 C of HOTTEST EVAAAHHH!!!!
But wait! Isn’t that rather a lot more than the 1/2 C we’re supposed to find? Hmmm…. So maybe it is “something else”, like that the San Francisco airport has grown from a grass field next to the water in the 1800s to be acres of concrete, tarmac, and buildings consuming MW of electricity and burning tons of kerosene in jets and Diesel & Gasoline in cars and trucks?
Winter has less going on. Perhaps because in winter, here, we get more wind blowing the heat away and with lots of cloud cover and rain, sunshine on asphalt and concrete can’t do as much as the sunshine never reaches the ground?
So as I look at the unadjusted data for San Francisco, I don’t see a well diffused “Greenhouse Gas” causing a gentle slow warming. What I see is a large airport with lots of Urban Heat Island effect from being miles of pavement in all directions; but where that doesn’t do much under our common clouds and fog in winter.
So why would you average that in with all the other stations and think it means CO2 is doing anything?
The Technical Bits
Here’s the station:
mysql> SELECT stationID, name FROM invent3 WHERE name LIKE '%ISCO%'; +-------------+-------------------------------+ | stationID | name | +-------------+-------------------------------+ | 30984691000 | PISCO | | 40371730003 | BISCOTASING,ON | | 40778460003 | SAN FRANCISCO DE MACORIS D | | 41476423001 | FRANCISCO I. MADERO, DURANGO | | 41476556001 | MASCOTA, JALISCO | | 41476612001 | CHAPALA, JALISCO | | 41476612002 | TEPATITLAN, JALISCO | | 42572494000 | SAN FRANCISCO | | 42574506002 | SAN FRANCISCO/MISSION DOLORES | | 50998437000 | SAN FRANCISCO | +-------------+-------------------------------+
The Code:
# -*- coding: utf-8 -*- import datetime import pandas as pd import numpy as np import matplotlib.pylab as plt import math import MySQLdb plt.title("GHCN v3.3 San Francisco 42572494 July") plt.ylabel("Year") plt.xlabel("Temp C") #plt.xlim(0,20) plt.ylim(1850,2020) try: db=MySQLdb.connect("localhost","root","OpenUp!",'temps') cursor=db.cursor() 30382586000 sql="SELECT T.deg_c, T.year FROM invent3 AS I INNER JOIN temps3 as T on I.stationID=T.stationID WHERE T.stationID LIKE '42572494%' AND T.deg_c>-90 AND T.deg_c<60 AND T.month='JULY' ;" print("stuffed SQL statement") cursor.execute(sql) print("Executed SQL") stn=cursor.fetchall() data = np.array(list(stn)) print("Got data") xs = data.transpose()[0] # or xs = data.T[0] or xs = data[:,0] ys = data.transpose()[1] print("after the transpose") plt.scatter(xs,ys,s=1,color='blue',alpha=1) plt.show() plt.title("GHCN v3.San Francisco 342572494 JAN") plt.ylabel("Year") plt.xlabel("Temp C") # plt.xlim(5,25) plt.ylim(1850,2020) sql="SELECT T.deg_c, T.year FROM invent3 AS I INNER JOIN temps3 as T on I.stationID=T.stationID WHERE T.stationID LIKE '42572494%' AND T.deg_c>-90 AND T.deg_c<60 AND T.month=' JAN' ;" print("stuffed SQL statement") cursor.execute(sql) print("Executed SQL") stn=cursor.fetchall() data = np.array(list(stn)) print("Got data") xs = data.transpose()[0] # or xs = data.T[0] or xs = data[:,0] ys = data.transpose()[1] print("after the transpose") plt.scatter(xs,ys,s=1,color='red',alpha=1) plt.show() except: print "This is the exception branch" finally: print "All Done" if db: db.close()
So why would you average that in with all the other stations and think it means CO2 is doing anything?
As Matt Briggs points out, love of theory takes precedence. The evidence is assembled to support and idea rather than an idea emerging from patterns in the evidence. Why are we surprised when the order of cause and effect are confused?
E M, isn’t there a big step to the right at 1960 in the July Data?
A question about the averaging.
We know they mish mash the entire record, but do we know the code and criteria that establishes what stations influence adjustments to other stations? … and if made up records ( 61% per recent Tony H post) also influence real measurements?
@A.C. Osborn:
I think you are right! I didn’t see that, being too focused on the overall sweep of things. Wonder if there was new construction that year or a site change. (IIRC that was about the start of the Jet Age and when airports started growing a lot bigger…)
@David A:
We sort of know. I did a deep dive into GIStemp and know it well. (It applies the RSM to data that has already had it done… so you get 1200 km on 1200 km on 1200 km of “reach”). For the infilling done by NCDC (who have now changed their name to something else …) we know it is the same Reference Station Method so also 1200 km max, but we don’t know which stations and how much. When I looked the codes were not published. Perhaps they are now, years later, but I’ve not looked recently.
THE biggy from my POV is just that when you delete stations, the ‘reach’ to fabricate replacements goes up. Generally you look to the nearest stations, but as they get thinned, you look further and further away; so every incremental count reduction gives an incremental further ‘reach’ and, IMHO, incremental increase in bogus “warming” found.
After I’d complained a lot about GIStemp, they moved a bunch of what it did “upstream” into the GHCN production and out of sight… “Homogenizing” and “fixing” the data via the RSM…
Hmmm that last comment suggests an interesting plot if it is possible. Would probably have to zero in on a relatively small area to make it useful though.
Plot stations that have dropped out but are being infilled and then plot the nearest neighbor stations that the algorithm would use to infill the data.
Probably a huge project but if you could just find a few examples where they are making up numbers from stations hundreds of miles away in totally different climate zone it would be a useful teaching moment slide for people to reference.
1960 step to the right could be a swutchyonelectfonic measurement perhaps as per a Jonova blog post a while ago, ? Or a sudden expansion of the airport or other local urban changes.
From the inventory file:
That 425 is the North America / USA San Francisco. Note it is an airport.
https://en.wikipedia.org/wiki/San_Francisco_International_Airport#Domestic_expansion
What happened was a big expansion and jet aircraft burning tons more fuel when compared to piston jobs and needing 10,000 foot runways of thick concrete…
I think that matters.
@EM: My fave ‘useless average’ for an area is telephone numbers.
Pingback: GHCN v3.3 vs v4 – Top Level Entry Point | Musings from the Chiefio