Here’s a comment on handling of Preisendorfer’s Rule N in the code dump; I’ll post some further comments on Preisendorfer on Preisendorfer’s Rule N in a few days. There is NO source code showing the application of Preisendorfer’s Rule N to tree ring networks – a battleground issue, if you will. There is some source code showing the application of a procedure described as "Rule N" to determine the number of temperature PCs to retain, but the procedure in the source code is not consistent either with Rule N of Preisendorfer  or with the procedure illustrated for tree ring networks at realclimate here
Preisendorfer’s Rule N is a simulation procedure (see footnote here for exact quotation) establishing necessary conditions for significance under some restrictive assumptions described in Preisendorfer . As I’ve noted before here and amusingly here with the dot.com hockey stick , contrary to realclimate claims , Preisendorfer’s Rule N is not a method of establishing sufficient conditions for statistical significance, bit only for necessary conditions. The difference is fundamental.
Preisendorfer  has some very explicit language on this, which I’ll post up in a couple of days. One wonders whether Ammann and Schmidt, the authors of the realclimate Dummies Guide have actually read Preisendorfer. Perhaps the title of their post may describe it more accurately than they intended. The use of Preisendorfer’s Rule N for tree ring networks is not mentioned in MBH98 and tree ring networks do not meet the specific network conditions of Preisendorfer  (although gridded temperature series do.)
The first published mention of the application of Preisendorfer’s Rule N to tree ring networks was at realclimate here, together with an example here. The purpose was to rationalize the inclusion of bristlecones in the NOAMER network if they were dominating the PC4 instead of the PC1. The reason for the intense battle over the esoteric issue of PC retention is that, as long as the bristlecones dominate one of the PCs in the network, they will impart a hockey stick shape to the reconstruction. It doesn’t matter whether it’s the PC1 or the PC4. The main issues are, of course, whether the bristlecones are valid temperature proxies and whether one should rely on a reconstruction which is not robust to the presence/absence of bristlecones.
But an interesting side issue was whether Preisendorfer’s Rule N according to the December 2004 realclimate example was actually used in MBH98 itself. I was able to accurately replicate the diagram at realclimate on the AD1400 NOAMER network and then applied this methodology to every other network/calculation step combination. I was unable to replicate the demonstrated retentions (which were only archived in July 2004) using this supposed procedure, as reported here. The discrepancies in other networks was quite remarkable: it was impossible to demonstrate the selection of 9 PCs for the AD1700 Stahle/SWM network or 2 PCs in the AD1600 Vaganov network. The actual procedure for retaining tree ring PCs was one of the issues that I listed as outstanding in my June 2005 review (# 11 here ). So it was one of the first things that I looked for in the source code dump.
First, there is nothing in the source code that shows the application of Preisendorfer’s Rule N to tree ring networks. I’ve looked top to bottom through the code and state this categorically. Given the importance attributed to this procedure at realclimate in December 2004 as a battleground issue, critical to rebutting us, one would have supposed that this important source code would have been produced. While there is no code demonstrating the application of Preisendorfer’s Rule N to tree ring networks, there is some very curious code around page 15 (Notepad printout) referring to "rule N" in the context of temperature PCs (as one alternative method of selection). The comment states:
now determine suggested number of EOFs in training based on rule N applied to the proxy data alone during the interval t > iproxmin (the minimum year by which each proxy is required to have started, note that default is iproxmin = 1820 if variable proxy network is allowed (latest begin date in network) we seek the n first eigenvectors whose eigenvalues exceed 1/nproxy’. nproxy’ is the effective climatic spatial degrees of freedom spanned by the proxy network (typically an appropriate estimate is 20-40)
What does Mann do to implement this? First, he counts the number of proxy series M0 in the calculation step (112 in the 1820 step; 22 in the AD1400 step) and divides this by two to get the value np3. He also uses two other values for np1 and np2 which are said to be:
taking into account spatial dependence between different proxy records, estimate number of climatic spatial degrees of freedom sampled (actually, estimate reasonable range)
We see the following code: np1 = 60 np2 = 40 np3 = M0/2 ruleN1 = one/float(np1) ruleN2 = one/float(np2) ruleN3 = one/float(np3) ruleN3 is the parameter that counts: it is 2 / # of proxies in the network i.e 2/112 in the AD1820 network and 2/22 in the AD1400 network. Then Mann does a SVD on the proxy network (this, as elsewhere is a weird method in which he transforms all variables into complex numbers and then uses a 1969 Fortran routine; other than being weird, it isn’t incorrect). The code call is: call CSVD(AA,nmax1,mmax,N0,M0,IP0,NU0,NV0,S,UU,VV) Next he calculates the total variance as the sum of squares of the eigenvalues (variables partsum and sumtot). Next he counts the number of eigenvalues that have a share of total variance exceeding 2/M0 (i.e. 2/112 in the AD1820 network and 2/22 in the AD1400 network) up to a maximum of 30. I don’t know where the 30 comes from.
The retention policy of 2/M0 is not documented here or in MBH98 itself. It’s possible that that this comes from some unpublished simulations, tying in somehow to Preisendorfer’s Rule N. I haven’t tried to replicate the retention of temperature PCs at here according to this procedure, but I would be simply dumbfounded if the selections evidenced at this link can be obtained from this calculation. The rule exemplified here is obviously a different calculation than the calculation illustrated at realclimate here. I have not checked whether this procedure applied to tree ring networks will yield the strange retention pattern of PCs – I doubt it. I am actually baffled as to how any objective methodology can get 2 PCs for the AD1600 Vaganov network and 9 PCs for the AD1700 Stahle/SWM network?
Does this matter? Well, they said that their PC retention policy was the "mathematically correct" way to do the calculations. I can’t replicate their calculations. Wahl and Ammann didn’t show a replication of these calculations and I can’t imagine that they could (or else it would be reported). They didn’t report that they couldn’t replicate them; they reported the opposite – that they had replicated MBH98 top-to-bottom.