Climategate: hide the decline – codified

WUWT blogging ally Ecotretas writes in to say that he has made a compendium of programming code segments that show comments by the programmer that suggest places where data may be corrected, modified, adjusted, or busted. Some the  HARRY_READ_ME comments are quite revealing. For those that don’t understand computer programming, don’t fret, the comments by the programmer tell the story quite well even if the code itself makes no sense to you.

http://codyssey.files.wordpress.com/2009/02/software_bug.jpg

To say that the CRU code might be “buggy” would be…well I’ll just let CRU’s programmer tell you in his own words.

  • FOIA\documents\osborn-tree6\mann\oldprog\maps12.proFOIA\documents\osborn-tree6\mann\oldprog\maps15.proFOIA\documents\osborn-tree6\mann\oldprog\maps24.pro; Plots 24 yearly maps of calibrated (PCR-infilled or not) MXD reconstructions

    ; of growing season temperatures. Uses "corrected" MXD - but shouldn't usually

    ; plot past 1960 because these will be artificially adjusted to look closer to

    ; the real temperatures.

  • FOIA\documents\harris-tree\recon_esper.pro; Computes regressions on full, high and low pass Esper et al. (2002) series,

    ; anomalies against full NH temperatures and other series.

    ; CALIBRATES IT AGAINST THE LAND-ONLY TEMPERATURES NORTH OF 20 N

    ;

    ; Specify period over which to compute the regressions (stop in 1960 to avoid

    ; the decline

  • FOIA\documents\harris-tree\calibrate_nhrecon.pro;

    ; Specify period over which to compute the regressions (stop in 1960 to avoid

    ; the decline that affects tree-ring density records)

    ;

  • FOIA\documents\harris-tree\recon1.pro

    FOIA\documents\harris-tree\recon2.proFOIA\documents\harris-tree\recon_jones.pro;

    ; Specify period over which to compute the regressions (stop in 1940 to avoid

    ; the decline

    ;

  • FOIA\documents\HARRY_READ_ME.txt17. Inserted debug statements into anomdtb.f90, discovered that

    a sum-of-squared variable is becoming very, very negative! Key

    output from the debug statements:

    (..)

    forrtl: error (75): floating point exception

    IOT trap (core dumped)

    ..so the data value is unbfeasibly large, but why does the

    sum-of-squares parameter OpTotSq go negative?!!

  • FOIA\documents\HARRY_READ_ME.txt22. Right, time to stop pussyfooting around the niceties of Tim's labyrinthine software

    suites - let's have a go at producing CRU TS 3.0! since failing to do that will be the

    definitive failure of the entire project..

  • FOIA\documents\HARRY_READ_ME.txtgetting seriously fed up with the state of the Australian data. so many new stations have been

    introduced, so many false references.. so many changes that aren't documented. Every time a

    cloud forms I'm presented with a bewildering selection of similar-sounding sites, some with

    references, some with WMO codes, and some with both. And if I look up the station metadata with

    one of the local references, chances are the WMO code will be wrong (another station will have

    it) and the lat/lon will be wrong too.

  • FOIA\documents\HARRY_READ_ME.txtI am very sorry to report that the rest of the databases seem to be in nearly as poor a state as

    Australia was. There are hundreds if not thousands of pairs of dummy stations, one with no WMO

    and one with, usually overlapping and with the same station name and very similar coordinates. I

    know it could be old and new stations, but why such large overlaps if that's the case? Aarrggghhh!

    There truly is no end in sight.

  • FOIA\documents\HARRY_READ_ME.txt28. With huge reluctance, I have dived into 'anomdtb' - and already I have

    that familiar Twilight Zone sensation.

  • FOIA\documents\HARRY_READ_ME.txtWrote 'makedtr.for' to tackle the thorny problem of the tmin and tmax databases not

    being kept in step. Sounds familiar, if worrying. am I the first person to attempt

    to get the CRU databases in working order?!!

  • FOIA\documents\HARRY_READ_ME.txtWell, dtr2cld is not the world's most complicated program. Wheras cloudreg is, and I

    immediately found a mistake! Scanning forward to 1951 was done with a loop that, for

    completely unfathomable reasons, didn't include months! So we read 50 grids instead

    of 600!!! That may have had something to do with it. I also noticed, as I was correcting

    THAT, that I reopened the DTR and CLD data files when I should have been opening the

    bloody station files!!

  • FOIA\documents\HARRY_READ_ME.txtBack to the gridding. I am seriously worried that our flagship gridded data product is produced by

    Delaunay triangulation - apparently linear as well. As far as I can see, this renders the station

    counts totally meaningless. It also means that we cannot say exactly how the gridded data is arrived

    at from a statistical perspective - since we're using an off-the-shelf product that isn't documented

    sufficiently to say that. Why this wasn't coded up in Fortran I don't know - time pressures perhaps?

    Was too much effort expended on homogenisation, that there wasn't enough time to write a gridding

    procedure? Of course, it's too late for me to fix it too. Meh.

  • FOIA\documents\HARRY_READ_ME.txtHere, the expected 1990-2003 period is MISSING - so the correlations aren't so hot! Yet

    the WMO codes and station names /locations are identical (or close). What the hell is

    supposed to happen here? Oh yeah - there is no 'supposed', I can make it up. So I have :-)

  • FOIA\documents\HARRY_READ_ME.txtWell, it's been a real day of revelations, never mind the week. This morning I

    discovered that proper angular weighted interpolation was coded into the IDL

    routine, but that its use was discouraged because it was slow! Aaarrrgghh.

    There is even an option to tri-grid at 0.1 degree resolution and then 'rebin'

    to 720x360 - also deprecated! And now, just before midnight (so it counts!),

    having gone back to the tmin/tmax work, I've found that most if not all of the

    Australian bulletin stations have been unceremoniously dumped into the files

    without the briefest check for existing stations.

  • FOIA\documents\HARRY_READ_ME.txtAs we can see, even I'm cocking it up! Though recoverably. DTR, TMN and TMX need to be written as (i7.7)./code>
  • FOIA\documents\HARRY_READ_ME.txtOH FUCK THIS. It's Sunday evening, I've worked all weekend, and just when I thought it was done I'm

    hitting yet another problem that's based on the hopeless state of our databases. There is no uniform

    data integrity, it's just a catalogue of issues that continues to grow as they're found.

  • FOIA\documents\osborn-tree6\mann\mxdgrid2ascii.proprintf,1,’Osborn et al. (2004) gridded reconstruction of warm-season’

    printf,1,’(April-September) temperature anomalies (from the 1961-1990 mean).’

    printf,1,’Reconstruction is based on tree-ring density records.’

    printf,1

    printf,1,’NOTE: recent decline in tree-ring density has been ARTIFICIALLY

    printf,1,’REMOVED to facilitate calibration. THEREFORE, post-1960 values’

    printf,1,’will be much closer to observed temperatures then they should be,’

    printf,1,’which will incorrectly imply the reconstruction is more skilful’

    printf,1,’than it actually is. See Osborn et al. (2004).’

  • FOIA\documents\osborn-tree6\summer_modes\data4sweden.pro

    FOIA\documents\osborn-tree6\summer_modes\data4sweden.proprintf,1,'IMPORTANT NOTE:'

    printf,1,'The data after 1960 should not be used. The tree-ring density'

    printf,1,'records tend to show a decline after 1960 relative to the summer'

    printf,1,'temperature in many high-latitude locations. In this data set'

    printf,1,'this "decline" has been artificially removed in an ad-hoc way, and'

    printf,1,'this means that data after 1960 no longer represent tree-ring

    printf,1,'density variations, but have been modified to look more like the

    printf,1,'observed temperatures.'

  • FOIA\documents\osborn-tree6\combined_wavelet_col.pro;

    ; Remove missing data from start & end (end in 1960 due to decline)

    ;

    kl=where((yrmxd ge 1402) and (yrmxd le 1960),n)

    sst=prednh(kl)

  • FOIA\documents\osborn-tree6\mann\mxd_pcr_localtemp.pro; Tries to reconstruct Apr-Sep temperatures, on a box-by-box basis, from the

    ; EOFs of the MXD data set. This is PCR, although PCs are used as predictors

    ; but not as predictands. This PCR-infilling must be done for a number of

    ; periods, with different EOFs for each period (due to different spatial

    ; coverage). *BUT* don’t do special PCR for the modern period (post-1976),

    ; since they won’t be used due to the decline/correction problem.

    ; Certain boxes that appear to reconstruct well are “manually” removed because

    ; they are isolated and away from any trees.

  • FOIA\documents\osborn-tree6\briffa_sep98_d.pro;mknormal,yyy,timey,refperiod=[1881,1940]

    ;

    ; 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

    (...)

    ;

    ; APPLY ARTIFICIAL CORRECTION

    ;

    yearlyadj=interpol(valadj,yrloc,x)

    densall=densall+yearlyadj

  • FOIA\documents\osborn-tree6\summer_modes\pl_decline.pro;

    ; Plots density ‘decline’ as a time series of the difference between

    ; temperature and density averaged over the region north of 50N,

    ; and an associated pattern in the difference field.

    ; The difference data set is computed using only boxes and years with

    ; both temperature and density in them – i.e., the grid changes in time.

    ; The pattern is computed by correlating and regressing the *filtered*

    ; time series against the unfiltered (or filtered) difference data set.

    ;

    ;*** MUST ALTER FUNCT_DECLINE.PRO TO MATCH THE COORDINATES OF THE

    ; START OF THE DECLINE *** ALTER THIS EVERY TIME YOU CHANGE ANYTHING ***

  • FOIA\documents\osborn-tree6\mann\oldprog\maps12.pro;

    ; Plots 24 yearly maps of calibrated (PCR-infilled or not) MXD reconstructions

    ; of growing season temperatures. Uses “corrected” MXD – but shouldn’t usually

    ; plot past 1960 because these will be artificially adjusted to look closer to

    ; the real temperatures.

    ;

  • FOIA\documents\osborn-tree6\mann\oldprog\calibrate_correctmxd.pro; We have previously (calibrate_mxd.pro) calibrated the high-pass filtered

    ; MXD over 1911-1990, applied the calibration to unfiltered MXD data (which

    ; gives a zero mean over 1881-1960) after extending the calibration to boxes

    ; without temperature data (pl_calibmxd1.pro). We have identified and

    ; artificially removed (i.e. corrected) the decline in this calibrated

    ; data set. We now recalibrate this corrected calibrated dataset against

    ; the unfiltered 1911-1990 temperature data, and apply the same calibration

    ; to the corrected and uncorrected calibrated MXD data.

  • FOIA\documents\osborn-tree6\summer_modes\calibrate_correctmxd.pro; No need to verify the correct and uncorrected versions, since these

    ; should be identical prior to 1920 or 1930 or whenever the decline

    ; was corrected onwards from.

  • FOIA\documents\osborn-tree5\densplus188119602netcdf.pro; we know the file starts at yr 440, but we want nothing till 1400, so we

    ; can skill lines (1400-440)/10 + 1 header line

    ; we now want all lines (10 yr per line) from 1400 to 1980, which is

    ; (1980-1400)/10 + 1 lines

    (...)

    ; we know the file starts at yr 1070, but we want nothing till 1400, so we

    ; can skill lines (1400-1070)/10 + 1 header line

    ; we now want all lines (10 yr per line) from 1400 to 1991, which is

    ; (1990-1400)/10 + 1 lines (since 1991 is on line beginning 1990)

  • FOIA\documents\osborn-tree6\mann\oldprog\maps12.pro

    FOIA\documents\osborn-tree6\mann\oldprog\maps15.pro

    FOIA\documents\osborn-tree6\mann\oldprog\maps24.pro

    ; Plots 24 yearly maps of calibrated (PCR-infilled or not) MXD reconstructions

    ; of growing season temperatures. Uses "corrected" MXD - but shouldn't usually

    ; plot past 1960 because these will be artificially adjusted to look closer to

    ; the real temperatures.

  • FOIA\documents\harris-tree\recon_esper.pro

    ; Computes regressions on full, high and low pass Esper et al. (2002) series,

    ; anomalies against full NH temperatures and other series.

    ; CALIBRATES IT AGAINST THE LAND-ONLY TEMPERATURES NORTH OF 20 N

    ;

    ; Specify period over which to compute the regressions (stop in 1960 to avoid

    ; the decline

  • FOIA\documents\harris-tree\calibrate_nhrecon.pro

    ;

    ; Specify period over which to compute the regressions (stop in 1960 to avoid

    ; the decline that affects tree-ring density records)

    ;

  • FOIA\documents\harris-tree\recon1.pro

    FOIA\documents\harris-tree\recon2.proFOIA\documents\harris-tree\recon_jones.pro

    ;

    ; Specify period over which to compute the regressions (stop in 1940 to avoid

    ; the decline

    ;

  • FOIA\documents\HARRY_READ_ME.txt

    17. Inserted debug statements into anomdtb.f90, discovered that

    a sum-of-squared variable is becoming very, very negative! Key

    output from the debug statements:

    (..)

    forrtl: error (75): floating point exception

    IOT trap (core dumped)

    ..so the data value is unbfeasibly large, but why does the

    sum-of-squares parameter OpTotSq go negative?!!

  • FOIA\documents\HARRY_READ_ME.txt

    22. Right, time to stop pussyfooting around the niceties of Tim's labyrinthine software

    suites - let's have a go at producing CRU TS 3.0! since failing to do that will be the

    definitive failure of the entire project..

  • FOIA\documents\HARRY_READ_ME.txt

    getting seriously fed up with the state of the Australian data. so many new stations have been

    introduced, so many false references.. so many changes that aren't documented. Every time a

    cloud forms I'm presented with a bewildering selection of similar-sounding sites, some with

    references, some with WMO codes, and some with both. And if I look up the station metadata with

    one of the local references, chances are the WMO code will be wrong (another station will have

    it) and the lat/lon will be wrong too.

  • FOIA\documents\HARRY_READ_ME.txt

    I am very sorry to report that the rest of the databases seem to be in nearly as poor a state as

    Australia was. There are hundreds if not thousands of pairs of dummy stations, one with no WMO

    and one with, usually overlapping and with the same station name and very similar coordinates. I

    know it could be old and new stations, but why such large overlaps if that's the case? Aarrggghhh!

    There truly is no end in sight.

  • FOIA\documents\HARRY_READ_ME.txt

    28. With huge reluctance, I have dived into 'anomdtb' - and already I have

    that familiar Twilight Zone sensation.

  • FOIA\documents\HARRY_READ_ME.txt

    Wrote 'makedtr.for' to tackle the thorny problem of the tmin and tmax databases not

    being kept in step. Sounds familiar, if worrying. am I the first person to attempt

    to get the CRU databases in working order?!!

  • FOIA\documents\HARRY_READ_ME.txt

    Well, dtr2cld is not the world's most complicated program. Wheras cloudreg is, and I

    immediately found a mistake! Scanning forward to 1951 was done with a loop that, for

    completely unfathomable reasons, didn't include months! So we read 50 grids instead

    of 600!!! That may have had something to do with it. I also noticed, as I was correcting

    THAT, that I reopened the DTR and CLD data files when I should have been opening the

    bloody station files!!

  • FOIA\documents\HARRY_READ_ME.txt

    Back to the gridding. I am seriously worried that our flagship gridded data product is produced by

    Delaunay triangulation - apparently linear as well. As far as I can see, this renders the station

    counts totally meaningless. It also means that we cannot say exactly how the gridded data is arrived

    at from a statistical perspective - since we're using an off-the-shelf product that isn't documented

    sufficiently to say that. Why this wasn't coded up in Fortran I don't know - time pressures perhaps?

    Was too much effort expended on homogenisation, that there wasn't enough time to write a gridding

    procedure? Of course, it's too late for me to fix it too. Meh.

  • FOIA\documents\HARRY_READ_ME.txt

    Here, the expected 1990-2003 period is MISSING - so the correlations aren't so hot! Yet

    the WMO codes and station names /locations are identical (or close). What the hell is

    supposed to happen here? Oh yeah - there is no 'supposed', I can make it up. So I have :-)

  • FOIA\documents\HARRY_READ_ME.txt

    Well, it's been a real day of revelations, never mind the week. This morning I

    discovered that proper angular weighted interpolation was coded into the IDL

    routine, but that its use was discouraged because it was slow! Aaarrrgghh.

    There is even an option to tri-grid at 0.1 degree resolution and then 'rebin'

    to 720x360 - also deprecated! And now, just before midnight (so it counts!),

    having gone back to the tmin/tmax work, I've found that most if not all of the

    Australian bulletin stations have been unceremoniously dumped into the files

    without the briefest check for existing stations.

  • FOIA\documents\HARRY_READ_ME.txt

    As we can see, even I'm cocking it up! Though recoverably. DTR, TMN and TMX need to be written as (i7.7)./code>

  • FOIA\documents\HARRY_READ_ME.txt

    OH FUCK THIS. It's Sunday evening, I've worked all weekend, and just when I thought it was done I'm

    hitting yet another problem that's based on the hopeless state of our databases. There is no uniform

    data integrity, it's just a catalogue of issues that continues to grow as they're found.

  • FOIA\documents\osborn-tree6\mann\mxdgrid2ascii.pro

    printf,1,’Osborn et al. (2004) gridded reconstruction of warm-season’

    printf,1,’(April-September) temperature anomalies (from the 1961-1990 mean).’

    printf,1,’Reconstruction is based on tree-ring density records.’

    printf,1

    printf,1,’NOTE: recent decline in tree-ring density has been ARTIFICIALLY

    printf,1,’REMOVED to facilitate calibration. THEREFORE, post-1960 values’

    printf,1,’will be much closer to observed temperatures then they should be,’

    printf,1,’which will incorrectly imply the reconstruction is more skilful’

    printf,1,’than it actually is. See Osborn et al. (2004).’

  • FOIA\documents\osborn-tree6\summer_modes\data4sweden.pro

    FOIA\documents\osborn-tree6\summer_modes\data4sweden.pro

    printf,1,'IMPORTANT NOTE:'

    printf,1,'The data after 1960 should not be used. The tree-ring density'

    printf,1,'records tend to show a decline after 1960 relative to the summer'

    printf,1,'temperature in many high-latitude locations. In this data set'

    printf,1,'this "decline" has been artificially removed in an ad-hoc way, and'

    printf,1,'this means that data after 1960 no longer represent tree-ring

    printf,1,'density variations, but have been modified to look more like the

    printf,1,'observed temperatures.'

  • FOIA\documents\osborn-tree6\combined_wavelet_col.pro

    ;

    ; Remove missing data from start & end (end in 1960 due to decline)

    ;

    kl=where((yrmxd ge 1402) and (yrmxd le 1960),n)

    sst=prednh(kl)

  • FOIA\documents\osborn-tree6\mann\mxd_pcr_localtemp.pro

    ; Tries to reconstruct Apr-Sep temperatures, on a box-by-box basis, from the

    ; EOFs of the MXD data set. This is PCR, although PCs are used as predictors

    ; but not as predictands. This PCR-infilling must be done for a number of

    ; periods, with different EOFs for each period (due to different spatial

    ; coverage). *BUT* don’t do special PCR for the modern period (post-1976),

    ; since they won’t be used due to the decline/correction problem.

    ; Certain boxes that appear to reconstruct well are “manually” removed because

    ; they are isolated and away from any trees.

  • FOIA\documents\osborn-tree6\briffa_sep98_d.pro;mknormal,yyy,timey,refperiod=[1881,1940]

    ;

    ; 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

    (...)

    ;

    ; APPLY ARTIFICIAL CORRECTION

    ;

    yearlyadj=interpol(valadj,yrloc,x)

    densall=densall+yearlyadj

  • FOIA\documents\osborn-tree6\summer_modes\pl_decline.pro

    ;

    ; Plots density ‘decline’ as a time series of the difference between

    ; temperature and density averaged over the region north of 50N,

    ; and an associated pattern in the difference field.

    ; The difference data set is computed using only boxes and years with

    ; both temperature and density in them – i.e., the grid changes in time.

    ; The pattern is computed by correlating and regressing the *filtered*

    ; time series against the unfiltered (or filtered) difference data set.

    ;

    ;*** MUST ALTER FUNCT_DECLINE.PRO TO MATCH THE COORDINATES OF THE

    ; START OF THE DECLINE *** ALTER THIS EVERY TIME YOU CHANGE ANYTHING ***

  • FOIA\documents\osborn-tree6\mann\oldprog\maps12.pro

    ;

    ; Plots 24 yearly maps of calibrated (PCR-infilled or not) MXD reconstructions

    ; of growing season temperatures. Uses “corrected” MXD – but shouldn’t usually

    ; plot past 1960 because these will be artificially adjusted to look closer to

    ; the real temperatures.

    ;

  • FOIA\documents\osborn-tree6\mann\oldprog\calibrate_correctmxd.pro

    ; We have previously (calibrate_mxd.pro) calibrated the high-pass filtered

    ; MXD over 1911-1990, applied the calibration to unfiltered MXD data (which

    ; gives a zero mean over 1881-1960) after extending the calibration to boxes

    ; without temperature data (pl_calibmxd1.pro). We have identified and

    ; artificially removed (i.e. corrected) the decline in this calibrated

    ; data set. We now recalibrate this corrected calibrated dataset against

    ; the unfiltered 1911-1990 temperature data, and apply the same calibration

    ; to the corrected and uncorrected calibrated MXD data.

  • FOIA\documents\osborn-tree6\summer_modes\calibrate_correctmxd.pro

    ; No need to verify the correct and uncorrected versions, since these

    ; should be identical prior to 1920 or 1930 or whenever the decline

    ; was corrected onwards from.

  • FOIA\documents\osborn-tree5\densplus188119602netcdf.pro

    ; we know the file starts at yr 440, but we want nothing till 1400, so we

    ; can skill lines (1400-440)/10 + 1 header line

    ; we now want all lines (10 yr per line) from 1400 to 1980, which is

    ; (1980-1400)/10 + 1 lines

    (...)

    ; we know the file starts at yr 1070, but we want nothing till 1400, so we

    ; can skill lines (1400-1070)/10 + 1 header line

    ; we now want all lines (10 yr per line) from 1400 to 1991, which is

    ; (1990-1400)/10 + 1 lines (since 1991 is on line beginning 1990)


Sponsored IT training links:

Join 70-291 training program to pass 642-446 test plus get free practice files for next 70-643 exam.


The climate data they don't want you to find — free, to your inbox.
Join readers who get 5–8 new articles daily — no algorithms, no shadow bans.
5 2 votes
Article Rating
445 Comments
Inline Feedbacks
View all comments
JimInIndy
November 25, 2009 7:33 pm

Nicholas Alexander (15:24:49) :
“Free, clean energy is available if we invest in the right things and create solutions. The oil industry is not interested in free energy. But humanity will evolve more quickly.”
Nick, TANSTAAFL! (There ain’t no such thing as a free lunch.) Free? Even with slaves at pedal-power generators, you must feed, clothe, warm, and house your power source. Ain’t free! Everything that produces power demands investment, development, and management.
Reality is that hydrocarbons (coal, oil, gas) provide extremely dense power sources. Wind, wave, tide and solar are defuse, requiring concentration. Basic physics. Access effeciency depends on density. Only nukes can compete with fossil fuels, but nukes cannot run planes, trucks, trains and cars. (NO! Batteries cannot compete with gasoline without subsidies.)
Clean? If you weren’t an urban dweller in the1940s and ’50s in the U.S., you don’t know what dirty is. Compare today’s US cities to China, India, or even Central Europe. Your comment reveals your energy and economic ignorance.

Glenn
November 25, 2009 8:06 pm

crosspatch (17:39:28) :
Anyone have any idea of the purpose of the variable called “Cheat” in
cru-code/linux/mod/ghcnrefiter.f90 ??”
Look up a few lines. It’s a variable.

crosspatch
November 25, 2009 8:12 pm

Glenn:
I meant the purpose of the variable. I know it is a variable. That is why I asked:
“Anyone have any idea of the purpose of the variable called ‘Cheat'”
As in: has anyone looked yet at that portion of the code and decided what Cheat does?

Jeff C.
November 25, 2009 8:21 pm

“A site in Finland suggests master.src.com is temperature related, but there’s a lot of speculation flying around the Internet regarding the leaked files at the moment, so can’t be certain.”
Apologies if this was addressed earlier as I didn’t read every comment, but I believe that “master.dat.com” is the temp file, not master.src.com. The format looks standard to what is seen with GISS and NCDC. The temps are degrees Celsius multiplied by ten. For instance, 222 is 22.2 deg C (72.0 F). Most of the values appear to range between -250 and 320 or so, consistent with measured temp values.
Thanks for your other comments regarding the code. Anyone know if there is a thread somewhere dedicated to the CRUt code? It would be nice to pool information without having to wade through 300+ comments.

crosspatch
November 25, 2009 8:35 pm

Someone else poking through the code shows a nice graph of the “artificial adjustment”
http://esr.ibiblio.org/?p=1447

Robert Wood of Canada
November 25, 2009 8:40 pm

Holy Carp! I’ve been going through some of the files, but haven’t been able to devote the time like Ecotratus. Good work; and shocking in the depravity of the people who wrote this carp and presented the results as the work of the very most Tip-Top Climate Scientists; their own work!
I work for a mere commercial oprganisation that must make a profit from the products we sell. We would be unemployed tomorrow producing carp like this.

crosspatch
November 25, 2009 8:55 pm

See, here’s the thing about that “Cheat” variable. The comment for the subroutine says:
!*******************************************************************************
! adjusts the Addit(ional) vector to match the characteristics of the corresponding
! Stand(ard), for ratio-based (not difference-based) data, on the
! assumption that both are gamma-distributed
! the old (x) becomes the new (y) through y=ax**b
! b is calc iteratively, so that the shape parameters match
! then a is deduced, such that the scale parameters match
And:
New=Cheat+(Multi*(Addit(XYear)**Power)) looks a lot like y=ax**b except there is something being added to the result of ax**b to increase its value. In the context of what we have already seen with “Fudge”, I am curious of the purpose of “Cheat” and what influence it is having.
And I can’t help but wonder if “Harry” was a bit upset over his pay slip and decided to go back and rename certain variables to what they REALLY did 🙂

Robert Wood of Canada
November 25, 2009 9:19 pm

Rattus Norvegicus (18:27:52) :
You’re missing the point with that publication. It isn’t about “cooling”; it’s about “reduced sensitivty” (to warming?).
I haven’t read the paper but I suspect it argues for ramping up, or explaining away the lack of, the warming signal.
Hey, I’m not only an engineer who understands mass, length and time, but also language usage. And, if you really insist, I’ll dig the article out at the local University.

Glenn
November 25, 2009 9:25 pm

crosspatch (20:12:57) :
Glenn:
I meant the purpose of the variable. I know it is a variable. That is why I asked:
“Anyone have any idea of the purpose of the variable called ‘Cheat’”
As in: has anyone looked yet at that portion of the code and decided what Cheat does?”
Oops. You might have to explain that to me again. 🙂
Well after a quick look, I’d say it modifies “addit”;
“adjusts the Addit(ional) vector to match the characteristics of the corresponding Stand(ard), for ratio-based (not difference-based) data, on the assumption that both are gamma-distributed”
in the subroutine “MregeForRatio”, which is then called in another routine, eventually ending in “Trustworthy”.
Bet you’re overjoyed with my insight! Hey, whadda ya expect, I’m a VB guy.
I got lost trying to find out what the heck the product was (look at the Trustworthy comments), thought that if I could see that I could begin to see what some of the variables represented.
No such luck. I learned long ago I couldn’t even follow my own code unless I named things plainly, even if it took more characters it’s worth it. That also eliminates some doc coding, and that’s another story itself.
Before I understood what is being processed (other than a guess of station selections based on database values of temperature and such, I’d have to have the data and run the program to see the output.
Figure this out?
“if Omit AND Need/Force are set, the default is to allow Omit missing values in the needed/forced period; if this is undesirable set MakeAll if MakeMore AND Need/Force are set, no ref ts will be calc unless > than N/F”

Glenn
November 25, 2009 9:31 pm

Robert Wood of Canada (21:19:23) :
Rattus Norvegicus (18:27:52) :
You’re missing the point with that publication. It isn’t about “cooling”; it’s about “reduced sensitivty” (to warming?).
I haven’t read the paper but I suspect it argues for ramping up, or explaining away the lack of, the warming signal.
Hey, I’m not only an engineer who understands mass, length and time, but also language usage. And, if you really insist, I’ll dig the article out at the local University.”
If you do, get the supplemental pages on Mann’s 1998 hockey stick paper.
The Briffa 1998 paper is referenced.

Glenn
November 25, 2009 9:42 pm

crosspatch (20:55:42) :
And I can’t help but wonder if “Harry” was a bit upset over his pay slip and decided to go back and rename certain variables to what they REALLY did :)”
Can’t blame you for that. “Cheat” doesn’t sound like a short form of a bigger word, like “Addit” for “Additional” vector(?). It makes no sense except in the obvious sense. Even a temp value used for local calculating purposes wouldn’t be called “Cheat”, I’d use “locval” or something. It’s Cheat on the brain.

Pamela Gray
November 25, 2009 9:48 pm

Is there any code in the leaked file that allows for fudge factors related to degrees of freedom? The degrees of freedom statistic (+ or – whatever) could allow you to write code that allows you to input the top end of the band (add warming in later years and subtract warming in earlier years) so that statistically you could still be within the margin of error in the hockey stick. Legal yes, ethical, hell no.

W W
November 25, 2009 9:50 pm

Here is the article refered by RealClimate on the issue of divergence:
http://www.nature.com/nature/journal/v391/n6668/full/391678a0.html
It says:
“The cause of this increasing insensitivity of wood density to temperature changes is not known, but if it is not taken into account in dendroclimatic reconstructions, past temperatures could be overestimated.”
I don’t get it. Why does the code increase the temperature if it is already overestimated?

tensorized lurker
November 25, 2009 10:40 pm

the code comment fonts are too small. Enlarge them (via css?) to make them a lot more readable?

Raredog
November 26, 2009 12:15 am

James Hastings-Trew (09:16:45) :
“For the current temperature records pains would have to be made to either use only station data that is free of UHI effect, or (somehow) to figure out what the heat signature of each station is in relation to the rural surroundings, and use that as an offset of some kind.”
Inspection of long-term land surface temperature record averages derived from raw temperature data (unaffected by data alteration or recalibrations – this is very important) for long-term sites measured in Stevenson screens not influenced by resiting or surrounding development – for instance, sites located on coastal headlands or rural sites well away from any development or heat absorbing surface (airport weather stations, mostly, will not do) – clearly shows temperature oscillations or cycles in accord with natural climate variability (and possibly, a very small atmospheric CO2 component consistent with measurable CO2 increases, both natural and anthropogenic) such that average temperatures at these sites today are somewhat similar to those recorded over the last eighty or ninety years, ie they lie within the bounds of normal variability. Most of these unaffected sites show no signs of global warming.
Surface temperature increases that can be associated with anthropogenic warming are derived from measurements affected by the urban heat island effect, changing land uses, altered albedos, deforestation or simply bad temperature sensor placement, such as near air conditioning outlets, asphalt pavements, buildings, etc – it is these affected temperature records, by being included in the climate models, that suggest we are heading for catastrophic global warming or runaway climate change.
Of course, it is suggested that the affected sites’ measurements are recalibrated to take these affects into account, which simply suggests that the figures are unreliable – all these recalibrations needed to be independently tested. If the recalibrations were accurate then they should accord with the raw data taken from sites unaffected by any change in their surrounds. In other words, unaffected long-term sites show an oscillation; affected sites show an increase – if anthropogenic CO2 was truly driving runaway global warming then the unaffected sites should show a similar increase.
This would be a good exercise for high school geography students. The biggest problem though is that raw temperature data is increasingly hard to access. NASA GISS Temp had raw figures from around the world presented numerically and as graphs, which made this an easy exercise but they took those pages down some time ago (they could be up again).

Ed Zuiderwijk
November 26, 2009 1:19 am

You cannot make it up. What a shambles … A sum of squares going negative big time? Have these guys ever heard of overflow?
It seems to me that we are witnessing the undressing of the AGW emperor: code that isn’t even wrong. One might as well use random number generators.

Rabe
November 26, 2009 2:54 am

re: negative squares
Floating point numbers don’t “overflow” this way. They just stay at (+)INF in case of about 10^300 even in fortran (real*8).
You need a very big number of big numbers to add up to INF.
http://en.wikipedia.org/wiki/Floating_point#Infinities

November 26, 2009 3:44 am

WW @21:50: Yes, I’m confused by that as well. I thought the logic went that if trees were “peak clipping” the warm temperatures now (for example, because some other factor, such as moisture, becomes limiting), then the transfer function from temperature to ring width/wood density is non-linear (like a gamma curve, gamma<1). If you then reconstruct the historical temperature still assuming it is linear, you will *underestimate* the temperature during warm periods when the trees were clipping before.

November 26, 2009 3:45 am

Rabe 02:54: Agreed; the only way this could happen is if they were calculating in integers – probably only 32 bit!

bill
November 26, 2009 3:51 am

I absolutely love this comment:
Mark Wagner (10:01:51) :
The tree-ring density’
printf,1,’records tend to show a decline after 1960 relative to the summer’
printf,1,’temperature in many high-latitude locations. In this data set’
printf,1,’this “decline” has been artificially removed in an ad-hoc way, and’
printf,1,’this means that data after 1960 no longer represent tree-ring
printf,1,’density variations, but have been modified to look more like the
printf,1,’observed temperatures.’
they have committed fraud. plain and simple

Using a print statement to hide a bodge isn’t a good way, Looks to mas if they are being open with the change

samuellhall
November 26, 2009 3:54 am

Eric (11:26:56) :
I also wondered why they didn’t use an existing database system. One that is spatially aware would make their job much simpler.
My guess is that they aren’t programmers and don’t know any better.
I am currently converting such a “homemade” database. The difference is that this one works, but is a real pain to maintain.

harpo
November 26, 2009 4:17 am

Am I stupid????
If you square a real number it is always positive…. and if you sum the squares then the sum of the squares must also be positive….
Do we have imaginary temperature?
Holy cow… what is with these guys?

Patrick Davis
November 26, 2009 4:20 am

This reeks of a disgruntled employee (The very worst kind from a data security perspective in any organisation), someone who has been working under challenging conditions for sometime. Or was a pinhead and too cocky, maybe thought s/he was worth more, or someone, as suggested, who knew what was going on (Fudging).
But it could just be a scam/rouse as I have suggested before in another thread. The timing is just too coincidental IMO.
y’know
But then when one considers NIWA did the same as CRU, well…y’know, it sounds too good to be true.

3iff
November 26, 2009 4:21 am

“The tree-ring density records tend to show a decline after 1960 relative to the summer temperature in many high-latitude locations.”
Could this be because the temperature measurements were higher than they should have been (due to UHI effects?). Why should tree rings suddenly start behaving differently from 1960? I would suggest that the tree ring data is as reliable as it’s always been but recorded raw temperatures have been inflated by some means.

cranston
November 26, 2009 4:21 am

I know it is still early days but it really is important to identify the papers which relied on this code.
Thanks, and good luck to all who are working so hard on this.
This is reminiscent not so much of Piltdown Man as it is of Lysenko. Who said it could never happen here?

1 11 12 13 14 15 18