« | »

CRU: Artificial Corrections, Fudge Factor

A programing file called ‘briffa_sept98_e.pro’ from the somewhat overlooked documents section of the CRU ‘FOI2009’ collection:

;
; PLOTS ‘ALL’ REGION MXD timeseries from age banded and from hugershoff
; standardised datasets.
; Reads Harry’s regional timeseries and outputs the 1600-1992 portion
; with missing values set appropriately.  Uses mxd, and just the
; "all band" timeseries
;****** APPLIES A VERY ARTIFICIAL 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!
;
loadct,39
def_1color,20,color=’red’
plot,[0,1]
multi_plot,nrow=4,layout=’large’
if !d.name eq ‘X’ then begin
  window, ysize=800
  !p.font=-1
endif else begin
  !p.font=0
  device,/helvetica,/bold,font_size=18
endelse
;
; Get regional tree lists and rbar
;
restore,filename=’reglists.idlsave’
harryfn=[‘nwcan’,’wnam’,’cecan’,’nweur’,’sweur’,’nsib’,’csib’,’tib’,$
  ‘esib’,’allsites’]
;
rawdat=fltarr(4,2000)
for i = nreg-1 , nreg-1 do begin
  fn=’mxd.’+harryfn(i)+’.pa.mean.dat’
  print,fn
  openr,1,fn
  readf,1,rawdat
  close,1
  ;
  densadj=reform(rawdat(2:3,*))
  ml=where(densadj eq -99.999,nmiss)
  densadj(ml)=!values.f_nan
  ;
  x=reform(rawdat(0,*))
  kl=where((x ge 1400) and (x le 1992))
  x=x(kl)
  densall=densadj(1,kl)     ; all bands
  densadj=densadj(0,kl)     ; 2-6 bands
  ;
  ; Now normalise w.r.t. 1881-1960
  ;
  mknormal,densadj,x,refperiod=[1881,1960],refmean=refmean,refsd=refsd
  mknormal,densall,x,refperiod=[1881,1960],refmean=refmean,refsd=refsd
;
; APPLY ARTIFICIAL CORRECTION
;
yearlyadj=interpol(valadj,yrloc,x)
densall=densall+yearlyadj
  ;
  ; Now plot them
  ;
  filter_cru,20,tsin=densall,tslow=tslow,/nan
  cpl_barts,x,densall,title=’Age-banded MXD from all sites’,$
    xrange=[1399.5,1994.5],xtitle=’Year’,/xstyle,$
    zeroline=tslow,yrange=[-7,3]
  oplot,x,tslow,thick=3
  oplot,!x.crange,[0.,0.],linestyle=1
  ;
endfor
;
; Restore the Hugershoff NHD1 (see Nature paper 2)
;
xband=x
restore,filename=’../tree5/densadj_MEAN.idlsave’
; gets: x,densadj,n,neff
;
; Extract the post 1600 part
;
kl=where(x ge 1400)
x=x(kl)
densadj=densadj(kl)
;
; APPLY ARTIFICIAL CORRECTION
;
yearlyadj=interpol(valadj,yrloc,x)
densadj=densadj+yearlyadj
;
; Now plot it too
;
filter_cru,20,tsin=densadj,tslow=tshug,/nan
cpl_barts,x,densadj,title=’Hugershoff-standardised MXD from all sites’,$
  xrange=[1399.5,1994.5],xtitle=’Year’,/xstyle,$
  zeroline=tshug,yrange=[-7,3],bar_color=20
oplot,x,tshug,thick=3,color=20
oplot,!x.crange,[0.,0.],linestyle=1
;
; Now overplot their bidecadal components
;
plot,xband,tslow,$
  xrange=[1399.5,1994.5],xtitle=’Year’,/xstyle,$
  yrange=[-6,2],thick=3,title=’Low-pass (20-yr) filtered comparison’
oplot,x,tshug,thick=3,color=20
oplot,!x.crange,[0.,0.],linestyle=1
;
; Now overplot their 50-yr components
;
filter_cru,50,tsin=densadj,tslow=tshug,/nan
filter_cru,50,tsin=densall,tslow=tslow,/nan
plot,xband,tslow,$
  xrange=[1399.5,1994.5],xtitle=’Year’,/xstyle,$
  yrange=[-6,2],thick=3,title=’Low-pass (50-yr) filtered comparison’
oplot,x,tshug,thick=3,color=20
oplot,!x.crange,[0.,0.],linestyle=1
;
; Now compute the full, high and low pass correlations between the two
; series
;
perst=1400.
peren=1992.
;
openw,1,’corr_age2hug.out’
thalf=[10.,30.,50.,100.]
ntry=n_elements(thalf)
printf,1,’Correlations between timeseries’
printf,1,’Age-banded vs. Hugershoff-standardised’
printf,1,’     Region    Full   <10   >10   >30   >50  >100′
;
kla=where((xband ge perst) and (xband le peren))
klh=where((x ge perst) and (x le peren))
ts1=densadj(klh)
ts2=densall(kla)
;
r1=correlate(ts1,ts2)
rall=fltarr(ntry)
for i = 0 , ntry-1 do begin
  filter_cru,thalf(i),tsin=ts1,tslow=tslow1,tshigh=tshi1,/nan
  filter_cru,thalf(i),tsin=ts2,tslow=tslow2,tshigh=tshi2,/nan
  if i eq 0 then r2=correlate(tshi1,tshi2)
  rall(i)=correlate(tslow1,tslow2)
endfor
;
printf,1,’ALL SITES’,r1,r2,rall,$
  format='(A11,2X,6F6.2)’
;
printf,1,’ ‘
printf,1,’Correlations carried out over the period ‘,perst,peren
;
close,1
;
end

Yes, this sure sounds like objective science to us.

This article was posted by Steve on Friday, December 11th, 2009. Comments are currently closed.

6 Responses to “CRU: Artificial Corrections, Fudge Factor”

  1. Reality Bytes says:

    “Out here in da perimeter, we is all stoned, Immaculate.” – Jim Morrison (yes a liberal too)

  2. Laree says:

    But today they are negotiating our tax dollars to go to the third world – Global Wealth Redistribution.

    http://www.politico.com/news/stories/1209/30484.html

    The thing is that money isn’t ever going to be used for Climate Change – even if it is allocated for it. The money will go into the pockets of whatever 3rd World Toilet Bureaucrat has presently got their mouth located, under the money drain :) So not only will it not improve the climate there is a chance guns will be bought and shaky governments will be over thrown. That’s not Progress Folks or Hope or Change. That’s business as usual.

    This is a Scam of Global proportion, it’s socialism, it’s population control, the UN pulling another Scam, on the International Community. Bigger than Oil for Food. It’s a Slush Fund,you name it, this Man Made Global Warming Hoax reeks.

    There is NO consensus, and even if there were that isn’t how science works by consensus. Ask Galileo ;)

  3. BigOil says:

    The CRU translation for “fudge factor” and “artificial correction” to the general public was “homogenized data”.

    When translated in a court of law – it becomes “fraud”.

  4. puhiawa says:

    you lay people and skeptics are simply too stupid to understand that terms like “yearly adjustment” simply refer to inconsequential calendar values for plotting purposes. Phil Jones

  5. proreason says:

    The weather lies. It is trying to con us into thinking Global Warming is a myth.

    We can’t allow that.

  6. U NO HOO says:

    I’ve had two semesters of computer programming and I know enough about how to hide SWAG Factors.

    Did you ever hear one of those math teasers, where you are told to multiply your secret number by 2, divide by ten, multiply by 5 and wow you are back to your original number. At least these guys could have thrown in few of those steps to try to dazzle us.

    And never ever use artificial or fudge in the body of the code.

    Geess, Leweese.


« Front Page | To Top
« | »