2009/12/04

Defunct code found in Stolen data

Robert Greiner you state (on wattsupwiththat):

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.



Lets look at a bit more of that code:
; 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)
;
;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

yearlyadj=interpol(valadj,yrloc,timey)
Does not this line give a yearly adjustment value interpolated from the 20 year points?

filter_cru,5.,/nan,tsin=yyy,tslow=tslow oplot,timey,tslow,thick=5,color=21
Does not this line plot data derived from yyy

;filter_cru,5.,/nan,tsin=yyy+yearlyadj,tslow=tslow
;oplot,timey,tslow,thick=5,color=20

The smoking gun line!!!!
Does not his line plot data derived from yyy+yearlyadj The FUDGED FIGURE
BUT............
IT'S COMMENTED OUT!!

This is further backed up by the end of file:
plot,[0,1],/nodata,xstyle=4,ystyle=4
;legend,['Northern Hemisphere April-September instrumental temperature',$
; 'Northern Hemisphere MXD',$
; 'Northern Hemisphere MXD corrected for decline'],$
; colors=[22,21,20],thick=[3,3,3],margin=0.6,spacing=1.5
legend,['Northern Hemisphere April-September instrumental temperature',$
'Northern Hemisphere MXD'],$
colors=[22,21],thick=[3,3],margin=0.6,spacing=1.5


To me this looks as if 'Northern Hemisphere MXD corrected for decline' would have been printed in colour 20 - just the same as the smoking gun line. HOWEVER you will note that this section is commented out also.

This code was written in 1998. If it had been implemented in any document then there would have been no leaked emails about hiding the decline!

So in my view this is code left in after a quick look-see.

Remember engineers ans scientist are human and play if bored and do not always tidy up.
have a look at:
http://micro.magnet.fsu.edu/creatures/index.html

Additional
From wuwt and woodfortrees
....
Here’s Gavin of RC on the subject (which was quoted by “Norman” in comments on your previous posting):

“It was an artificial correction to check some calibration statistics to see whether they would vary if the divergence was an artifact of some extra anthropogenic impact. It has never been used in a published paper (though something similar was explained in detail in this draft paper by Osborn). It has nothing to do with any reconstruction used in the IPCC reports.”

And indeed, in the same set of comments, “Morgan” pointed out that the Osborn et al. paper explicitly describes this step:

“To overcome these problems, the decline is artificially removed from the calibrated tree-ring density series, for the purpose of making a final calibration. The removal is only temporary, because the final calibration is then applied to the unadjusted data set (i.e., without the decline artificially removed). Though this is rather an ad hoc approach, it does allow us to test the sensitivity of the calibration to time scale, and it also yields a reconstruction whose mean level is much less sensitive to the choice of calibration period.”

I’m not sure which one of these your particular code snippet is doing, but either seem perfectly reasonable explanations to me – and both require the code to be added and them removed again. The lazy programmer’s way of doing this is by commenting and uncommenting.


If some hacker accessed some code illegally which contains commented out sections:
1. you do not know the status of the code - development or an issue or final issued. How can you criticise it?
2. Presence of commented out code or separate programme (that this thread is about) does not prove intent to commit fraud. As someone else commented the presence of unwritten code written by the invisible pink unicorn that says invisibly "this code creates a hockey stick" will not stand up in a court of law. To use use the argument here that "it could have been used so it must show intent to commit fraud" is disengenious to say the least.
Mike
20/2/11


WUWT entry

briffa_sep98_e.pro
Line 4:
; Reads Harry’s regional timeseries and outputs the 1600-1992 portion
Line 10:
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


========================

Notice that phrase "fudge factor" doesn't sound like hiding to me!

========================
Lines 53-70
; APPLY ARTIFICIAL CORRECTION

I feel that briffa_sep98_e.pro is the encoding of a lie.

did you notice this:

;****** APPLIES A VERY ARTIFICIAL CORRECTION FOR DECLINE*********
Hiding????
Next file calibrate_nhrecon
; Specify period over which to compute the regressions (stop in 1960 to avoid
; the decline that affects tree-ring density records)
next file recon_overpeck
; Specify period over which to compute the regressions (stop in 1940 to avoid
; the decline
(I think they mean 1960 !! to agree with the code that follows)
Next File recon_esper.pro
recon_mann.pro
recon2.pro
recon_jones.pro
recon_tornyamataim.pro
All the same comment added in the header

Hiding?? I do not think so

recon_tornyamataim.pro
Seems to be the later version of your files:
densadj=reform(rawdat(2:3,*))
ml=where(densadj eq -99.999,nmiss)
densadj(ml)=!values.f_nan

Note no yearlyadj no valadj
So which programme was used to publish??

No comments:

Post a Comment