In prior postings I did a comparison of GHCN thermometers “now” (last year in GHCN v3.3 or 2015) vs the thermometers in the GIStemp baseline (1950-1980).
I used “inclusive” of the end years but need to verify that they used 1980 as it is supposed to be 30 years, which would be 1950-1979 inclusive.
As I’ve gotten it all running again on the Raspberry Pi M3, I figured I’d get back to using things via doing a Hadley graph for their baseline of (1960-1990). That’s what they state it is on the web site, though they fail to mention “inclusive” or “exclusive” of the end points. In any case, I “ran with it” and made a very similar Sin Perspective Global map of Hadley Baseline vs “Now”:
This is interestingly different from the GISS version. Europe and Turkey, especially, change a lot:
The two graphs use slightly different dot sizes from the looks of it. Which is odd since I didn’t change that in this copy of the code – leaving me to think the exact size of s=1 changed between Python2 and Python3. I think that ought not to matter too much, but if someone wants it, I can make a new GIStemp version with identical dot size via converting that code to Python3. I suspect that is the reason the USA SouthWest looks different. The smaller 1/2 translucent red dots letting more of the blue baseline dots show through.
I made a version of the Hadley graph using s=0.5 so the dots ought to be closer to the GIStemp one. Here it is. See what you think:
chiefio@PiM3Devuan2:~/Py$ cat HadleyBaseVsNow.py # -*- coding: utf-8 -*- import datetime import pandas as pd import numpy as np import matplotlib.pylab as plt import math import mysql.connector as MySQLdb plt.title("Global Thermometer GHCN v3.3 NOW over BASELINE Hadley") plt.xlabel("Longitude") plt.ylabel("Latitude") plt.xlim(-180,180) plt.ylim(-90,90) try: db=MySQLdb.connect(user="chiefio",password="LetMeIn!",database='temps') cursor=db.cursor() sql="SELECT I.latitude, I.coslong FROM invent3 AS I INNER JOIN temps3 as T on I.stationID=T.stationID WHERE year<1991 AND year<1959 AND I.stationID NOT IN (SELECT I.stationID FROM invent3 AS I INNER JOIN temps3 as T ON I.stationID=T.stationID WHERE year=2015)GROUP BY I.stationID;" cursor.execute(sql) stn=cursor.fetchall() data = np.array(list(stn)) xs = data.transpose() # or xs = data.T or xs = data[:,0] ys = data.transpose() plt.scatter(ys,xs,s=1,color='blue') sql="SELECT I.latitude, I.coslong FROM invent3 AS I INNER JOIN temps3 as T on I.stationID=T.stationID WHERE year=2015 GROUP BY I.stationID;" cursor.execute(sql) stn=cursor.fetchall() data = np.array(list(stn)) xs = data.transpose() # or xs = data.T or xs = data[:,0] ys = data.transpose() plt.scatter(ys,xs,s=1,color='red',alpha=0.5) plt.show() except: print ("This is the exception branch") finally: print ("All Done") if db: db.close() chiefio@PiM3Devuan2:~/Py$
I’ve bolded the places where I changed the prior version of the code to make this graph.
The only change that matters is the change of selection range for the baseline set.
The rest are for Python3 vs Python2 and the newer MariaDB. The two “print” statements at the bottom had () added as Python3 wants them and Python2 didn’t. The login credentials changed as I’m using this database as ‘me’ rather than ‘root’ due to ‘root’ having a unix_socket connector set. Then the MariaDB connection method in Python3 is different with an assignment “=” and variable name instead of positional parameters (and “localhost’ is assumed).
So there you have it. Not much difference between whatever bias is introduced from the baseline being loaded with stations and now being relatively sparse (and different stations).
I ran some other queries by hand and came up with some amusing “factoids”:
There are 7280 total stations in the inventory file.
There are 2545 total stations in the 2015 last year – current stations.
There are thus 4735 stations in the inventory that are NOT current
but used in fabricating artificial “data”.
However, an SQL query comparing GIStemp baseline to “now” gives 4446 stations while a similar one for Hadley gives 4285. So there’s some differences in the reports. Perhaps there are early stations that died off before the baseline.
In any case, there are only 4446-4285 = 161 dots difference between those two graphs. Good luck spotting them all -)