NOTE: Part 2 of this story has been posted: see The Smoking Code, part 2
The Proof Behind the CRU Climategate Debacle: Because Computers Do Lie When Humans Tell Them To
From Cube Antics, by Robert Greiner
I’m coming to you today as a scientist and engineer with an agnostic stand on global warming.
If you don’t know anything about “Climategate” (does anyone else hate that name?) Go ahead and read up on it before you check out this post, I’ll wait.
Back? Let’s get started.
First, let’s get this out of the way: Emails prove nothing. Sure, you can look like an unethical asshole who may have committed a felony using government funded money; but all email is, is talk, and talk is cheap.
Now, here is some actual proof that the CRU was deliberately tampering with their data. Unfortunately, for readability’s sake, this code was written in Interactive Data Language (IDL) and is a pain to go through.
NOTE: This is an actual snippet of code from the CRU contained in the source file: briffa_Sep98_d.pro
[sourcecode language=”text”]
;
; Apply a VERY ARTIFICAL correction for decline!!
;
yrloc=[1400,findgen(19)*5.+1904]
valadj=[0.,0.,0.,0.,0.,-0.1,-0.25,-0.3,0.,-0.1,0.3,0.8,1.2,1.7,2.5,2.6,2.6,2.6,2.6,2.6]*0.75 ; fudge factor
if n_elements(yrloc) ne n_elements(valadj) then message,’Oooops!’
yearlyadj=interpol(valadj,yrloc,timey)
[/sourcecode]
Mouse over the upper right for source code viewing options – including pop-up window
What does this Mean? A review of the code line-by-line
Starting off Easy
Lines 1-3 are comments
Line 4
yrloc is a 20 element array containing:
1400 and 19 years between 1904 and 1994 in increments of 5 years…
yrloc = [1400, 1904, 1909, 1914, 1919, 1924, 1929, … , 1964, 1969, 1974, 1979, 1984, 1989, 1994]
findgen() creates a floating-point array of the specified dimension. Each element of the array is set to the value of its one-dimensional subscript
F = indgen(6) ;F[0] is 0.0, F[1] is 1.0….. F[6] is 6.0
Pretty straightforward, right?
Line 5
valadj, or, the “fudge factor” array as some arrogant programmer likes to call it is the foundation for the manipulated temperature readings. It contains twenty values of seemingly random numbers. We’ll get back to this later.
Line 6
Just a check to make sure that yrloc and valadj have the same number of attributes in them. This is important for line 8.
Line 8
This is where the magic happens. Remember that array we have of valid temperature readings? And, remember that random array of numbers we have from line two? Well, in line 4, those two arrays are interpolated together.
The interpol() function will take each element in both arrays and “guess” at the points in between them to create a smoothing effect on the data. This technique is often used when dealing with natural data points, just not quite in this manner.
The main thing to realize here, is, that the interpol() function will cause the valid temperature readings (yrloc) to skew towards the valadj values.
What the heck does all of this mean?
Well, I’m glad you asked. First, let’s plot the values in the valadj array.

Look familiar? This closely resembles the infamous hockey stick graph that Michael Mann came up with about a decade ago. By the way, did I mention Michael Mann is one of the “scientists” (and I use that word loosely) caught up in this scandal?
Here is Mann’s graph from 1999
As you can see, (potentially) valid temperature station readings were taken and skewed to fabricate the results the “scientists” at the CRU wanted to believe, not what actually occurred.
Where do we go from here?
It’s not as cut-and-try as one might think. First and foremost, this doesn’t necessarily prove anything about global warming as science. It just shows that all of the data that was the chief result of most of the environmental legislation created over the last decade was a farce.
This means that all of those billions of dollars we spent as a global community to combat global warming may have been for nothing.
If news station anchors and politicians were trained as engineers, they would be able to find real proof and not just speculate about the meaning of emails that only made it appear as if something illegal happened.
Conclusion
I tried to write this post in a manner that transcends politics. I really haven’t taken much of an interest in the whole global warming debate and don’t really have a strong opinion on the matter. However, being part of the Science Community (I have a degree in Physics) and having done scientific research myself makes me very worried when arrogant jerks who call themselves “scientists” work outside of ethics and ignore the truth to fit their pre-conceived notions of the world. That is not science, that is religion with math equations.
What do you think?
Now that you have the facts, you can come to your own conclusion!
Be sure to leave me a comment, it gets lonely in here sometimes.
hat tip to WUWT commenter “Disquisitive”
========================
NOTE: While there are some interesting points raised here, it is important to note a couple of caveats. First, the adjustment shown above is applied to the tree ring proxy data (proxy for temperature) not the actual instrumental temperature data. Second, we don’t know the use context of this code. It may be a test procedure of some sort, it may be something that was tried and then discarded, or it may be part of final production output. We simply don’t know. This is why a complete disclosure and open accounting is needed, so that the process can be fully traced and debugged. Hopefully, one of the official investigations will bring the complete collection of code out so that this can be fully examined in the complete context. – Anthony
Sponsored IT training links:
Join today for 646-985 exam prep and get a free newsletter for next 642-072 and 1z0-050 exams.


Remember when Steve reanalyzed the NASA temp records and found that the thirties were the warmer decade? The warmists answer was the CRU didn’t reflect the warming. Well, in light of all this, that wasn’t much of an answer was it?
Something seems to be missing in this explanation at the end. Showing an example of how the interpol() function actually adjusts a table of number would help.
What becomes apparent is that the subtle allure of modeling has crept into the simple display of basic data. Models let you tweak the data to get an expected output. It isn’t a big leap to apply the same rationale to adjusting the data because it’s not up to your expectations. When the practice becomes standard operating procedure, you no longer see its flaws.
Gotta love this comment from cloudcorr.pro
——
; program to construct cloud correlation coefficients (with DTR)
; method approximately follows New et al 2000
; this program is required because Mark New has lost both
; the correlation data file, and construction files
is this a joke?
“I’m coming to you today as a scientist and engineer with an agnostic stand on global warming.”
then,
“It just shows that all of the data that was the chief result of most of the environmental legislation created over the last decade was a farce.”
Then,
“I tried to write this post in a manner that transcends politics. ”
unbelievable. As a long time ‘skeptic’ and avid supporter of S. McIntyre, Lucia L., and the likes, all I can say is this dialog has reached a new ‘low’.
Time for Interpol (ICPO) perhaps?
What’s really hilarious is how blatant the programmer was…
Apply a VERY artificial adjustment for decline!!
Really??? This is just completely bizarre
Anthony, Please dig into this one example and flesh it out even more. It is absolutely the most damning piece of evidence of climate fraud that I have seen to date.
It is clearly a smoking gun.
This code fragment is meaningless unless without the context in which it was used. You need to have evidence that it was used to unjustifyably distort temperature data which was subsequently published. PS. I’m a sceptic, but without context this code is definately NOT a smoking gun.
TV TV TV. Anthony, we need you and other experts on TV TV TV….
It just shows that all of the data that was the chief result of most of the environmental legislation created over the last decade was a farce.
I’m having trouble parsing this. “All of the data”? What? All climate data is keystoned off tree-ring data? I had no idea. “that was the chief result of most of the environmental legislation created over the last decade”? What? I thought the chief result of environmental legislation was stuff like cleaner air and cleaner water.
By the way, the following lines of this file are:
;filter_cru,5.,/nan,tsin=yyy+yearlyadj,tslow=tslow
;oplot,timey,tslow,thick=5,color=20
;
filter_cru,5.,/nan,tsin=yyy,tslow=tslow
oplot,timey,tslow,thick=5,color=21
“;” indicates a comment line. So in this file, yearlyadj isn’t used in the version of this file. Huh.
(It does appear to be used in briffa_sep98_e.pro.)
Newsflash: Bob Ward (policy and communications director at the Grantham Research Institute on Climate Change and the Environment at the London School of Economics and Political Science ) just announced on Sky News that “the climate science was setted 200 years ago”. His interview, with Frasier Nelson (Editor of Spectator) was interesting in that Ward did everything he could do to shout down Frasier. Hopefully, the piece will be on skynews.com later.
This code is too well documented. It must be fake. Line 2 is such a nice description
Real scientists, citizen scientists UNITE!!!
We need a made in the light of day, open source temperature reconstruction. Since the “professionals” (I use the term loosely) can’t even recreate their own products there is no choice but to throw them out and start over
Here’s a link to the released documents in case you haven’t seen it elsewhere.
http://junkscience.com/FOIA/
Replication is not the key here. If you have the original code and raw data set, and can replicate it, it will follow the GIGO principle. Falsifiability is the key here. Running the raw data with a different filter, using a different set of raw data, looking through the code for errors that bias the outcome, etc, are ways to falsify the theory. Replication is what got us to this point in the first place and is the preferred biased approach of “teams”. But falsifiability is the necessary (but missing?) step prior to replication. I don’t believe this step was done by the “team”. And is probably rarely done by any scientific team with any kind of publicity attached to it. No one publishes research that came to a dead end and turned out to be false. Labs that want to be known for something often fall into the trap of wanting to “prove”, not “falsify” their experiments. The former garners money, the later does not. Therefore the incentive to be right is far greater than the incentive to be wrong. It is a disease of science that has plagued the ages and we seem to be in the middle of a pandemic.
TJA (06:38:59) :
Remember when Steve reanalyzed the NASA temp records and found that the thirties were the warmer decade
At least get it right: ‘Steve reanalyzed the NASA temp records and confirmed Hansen’s previous finding that the thirties were the warmer decade’!
See Bishop Hill’s blog for summary comments on The Code
Phil. (06:59:09),
I seem to recall something about a connection between Hansen and NASA…
You see? After all the flak in the air, we have evidence that it was Mann made GW. (or at least he helped)
The author of the post has done what the lab should have done. Made every attempt to falsify their conclusion. Once they have made every effort to do that, only then should they publish the raw data and code for others to replicate. This blog and the above post, and other blogs, have done the work for them. Now let them return to their labs and try again (maybe with one or two pink slips in the mail boxes?).
Excellent article. Thanks for explaing the code for the layman. This is earth shattering.
Also, I think you meant to use the word cause, not result in this sentence:
“all of the data that was the chief result of most of the environmental legislation”
What would be interesting is to compare the “value added data” and the raw data. If the difference between the two came very close to “valadj” then you might have a smoking gun.
Wait, wait, wait!, That “interpol() function” we can call itThe cherry picking function…
Call the Interpol!
OK, there’s no way they left this on an open directory for someone to find. This had to be a hack or a whistleblower. No way in hell I’d let anything this incriminating out in an FOI request.
When can we start using the f-word?
So one might say global warming is “Mann made”?