GHCN San Francisco – CO2?

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.

GHCN v3.3 San Francisco July

GHCN v3.3 San Francisco July

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?

GHCN v3.3 San Francisco January

GHCN v3.3 San Francisco January

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()

Subscribe to feed

Advertisements

About E.M.Smith

A technical managerial sort interested in things from Stonehenge to computer science. My present "hot buttons' are the mythology of Climate Change and ancient metrology; but things change...
This entry was posted in AGW Science and Background, NCDC - GHCN Issues and tagged , . Bookmark the permalink.

8 Responses to GHCN San Francisco – CO2?

  1. Gary says:

    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?

  2. A C Osborn says:

    E M, isn’t there a big step to the right at 1960 in the July Data?

  3. David A says:

    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?

  4. E.M.Smith says:

    @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…

  5. Larry Ledwick says:

    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.

  6. J Martin says:

    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.

  7. E.M.Smith says:

    From the inventory file:

    mysql> SELECT name, stationID, airport FROM invent3 WHERE name LIKE 'SAN FRANCISCO';
    +---------------+-------------+---------+
    | name          | stationID   | airport |
    +---------------+-------------+---------+
    | SAN FRANCISCO | 42572494000 | A       |
    | SAN FRANCISCO | 50998437000 | x       |
    +---------------+-------------+---------+
    2 rows in set (0.01 sec)
    
    mysql> 
    

    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

    Jet age

    The jet age arrived at SFO in March 1959 when TWA introduced Boeing 707-131 jetliners with nonstop service to New York Idlewild Airport (which was subsequently renamed JFK Airport in 1963). United then constructed a large maintenance facility at San Francisco for its new Douglas DC-8 jets, which were also flying nonstop service to New York. In July 1959 the first jetway bridge was installed at SFO, which was one of the first in the United States. The cover of the January 3, 1960 American Airlines system timetable contained this message: “NOW! 707 JET FLAGSHIP SERVICE – NONSTOP SAN FRANCISCO – NEW YORK: 2 FLIGHTS DAILY” [34] Also in 1960, Western Airlines was operating “champagne flights” with Boeing 707 jets and Lockheed L-188 Electra propjets to Los Angeles, Seattle, San Diego and Portland, OR.[35]

    In 1961, the airport had helicopter service operated by San Francisco and Oakland Helicopter Airlines (known as SFO Helicopter Airlines and also as SFO Helicopter) with 68 flights a day. Helicopter flights were operated from the airport to downtown heliports in San Francisco and Oakland, to a new heliport located near the Berkeley Marina and also to Oakland Airport (OAK). In its timetable, SFO Helicopter Airlines, which was based at the airport, described its rotorcraft as “modern, jet turbine powered Sikorsky S-62 ten passenger amphibious helicopters”.

    By 1962, Delta Air Lines was operating Convair 880 jetliners into the airport on one its first international jet services
    with a routing of San Francisco – Dallas Love Field – New Orleans – Montego Bay, Jamaica – Caracas, Venezuela. Also in 1962, National Airlines began operating multistop transcontinental jet service with Douglas DC-8s flying a routing of San Francisco – Houston Hobby Airport – New Orleans – Miami.

    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.

  8. Steven Fraser says:

    @EM: My fave ‘useless average’ for an area is telephone numbers.

Anything to say?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.