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.

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.txt
17. Inserted debug statements into anomdtb.f90, discovered thata 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 softwaresuites - 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 beenintroduced, so many false references.. so many changes that aren't documented.
Every time acloud 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 asAustralia 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 havethat familiar Twilight Zone sensation.
- FOIA\documents\HARRY_READ_ME.txt
Wrote 'makedtr.for' to tackle the thorny problem of the tmin and tmax databases notbeing 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 Iimmediately found a mistake!
Scanning forward to 1951 was done with a loop that, forcompletely 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 correctingTHAT, 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 byDelaunay 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! Yetthe 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 Idiscovered 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'mhitting 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)
- 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 thata 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 softwaresuites - 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 beenintroduced, 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 asAustralia 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 havethat familiar Twilight Zone sensation.
- FOIA\documents\HARRY_READ_ME.txt
Wrote 'makedtr.for' to tackle the thorny problem of the tmin and tmax databases notbeing 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 Iimmediately 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 byDelaunay 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! Yetthe 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 Idiscovered 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'mhitting 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.
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.
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.
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?
“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.
Someone else poking through the code shows a nice graph of the “artificial adjustment”
http://esr.ibiblio.org/?p=1447
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.
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 🙂
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.
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”
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.
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.
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.
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?
the code comment fonts are too small. Enlarge them (via css?) to make them a lot more readable?
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).
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.
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
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.
Rabe @ur momisugly 02:54: Agreed; the only way this could happen is if they were calculating in integers – probably only 32 bit!
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
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.
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?
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.
“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.
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?