#LOEHLE COLLATION #COLLATE SUMMARY url<-"http://www.ncasi.org/programs/areas/climate/LoehleE&E2007.csv" test=read.csv(url,skip=2) recon=ts(test[,2],start=test[1,1]) #17 to 1980 mean(recon[(1902:1980)-16]) # 0.01586732 delta=mean(CRU[(1902:1980)-1849]);delta # -0.1592278 f=function(x) f=filter.combine.pad(x,truncated.gauss.weights(21))[,2] nf=layout(array(1:2,dim=c(1,2)),widths=c(3,1)) par(mar=c(3,3,2,1));ylim0=c(-.62,.62) plot(c(time(recon)),recon,type="h",xlab="",ylab="",ylim=ylim0,las=1) title(main="Loehle 2007 Reconstruction") par(mar=c(3,2,2,1)); plot(c(time(recon)),recon,type="l",xlab="",ylab="",las=1,xlim=c(1850,2000),xaxs="i",lwd=2) temp=(time(CRU)<=1980) lines(c(time(CRU))[temp],f(CRU-delta)[temp],col="red",lwd=2) #this returns a list of length 18 in which each item is a table with two columns c("year","t") #bp s have been converted to year using 1950. For ocean sediments, this may or may not yield consistent results as authors weren't thinking in terms of the type of synchronoization discussed here proxy<-rep(list(NA),18) id<-c("GRIP","conroy","chesapeake","sargasso","caribbean","tsuolb", "shihua", "yang", "mangini", "demonocal","holmgren","calvo","viau","stott1","stott2", "ge","farmer","kim") names(proxy)=id #1) GRIP borehole temperature (Dahl-Jensen et al., 1998); See Moberg Nature site supplementary material #2) Conroy Lake pollen (Gajewski, 1988); ftp://ftp.ncdc.noaa.gov/pub/data/paleo/pollen/recons/liadata.txt #3) Chesapeake Bay Mg/Ca (Cronin et al., 2003); ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/cronin2003/ #4) Sargasso Sea 18O (Keigwin, 1996); ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/keigwin1996/ #5) Caribbean Sea 18O (Nyberg et al., 2002); ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/nyberg2002/ converted to temperature on the Moberg article nature site suppl material #6) Lake Tsuolbmajavri diatoms (Korhola et al., 2000); See Moberg Nature site supplementary material #7) Shihua Cave layer thickness (Tan et al., 2003); ftp://ftp.ncdc.noaa.gov/pub/data/paleo/speleothem/china/shihua_tan2003.txt use col 7 temp #8.) China composite (Yang et al., 2002) which does use tree ring width for two out of the eight series that are averaged to get the composite, or 1.4% of the total data input to the mean computed below;ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/yang2002/china_temp.txt #9) Spannagel Cave (Central Alps) stalagmite oxygen isotope data (Mangini et al., 2005). ftp://ftp.ncdc.noaa.gov/pub/data/paleo/speleothem/europe/austria/spannagel2005.txtmean SST for northern Pacific site SSDP-102 (Latitude 34.9530, Longitude 128.8810) from #10) SST variations (warm season) off West Africa (deMenocal et al., 2000); ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/demenocal2000/ #11)speleothem data from a South African cave (Holmgren et al., 1999); from author—email sent for archive link #12) SST reconstruction in the Norwegian Sea (Calvo et al., 2002); http://doi.pangaea.de/10.1594/PANGAEA.438810?format=html #13-14) SST from two cores in the western tropical Pacific (Stott et al., 2004); ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/stott2004/ #15) mean temperature for North America based on pollen profiles (Viau et al.,2006); http://www.lpc.uottawa.ca/data/reconstructions/index.html #16) a phenology-based reconstruction from China (Ge et al., 2003); ftp://ftp.ncdc.noaa.gov/pub/data/paleo/historical/china/china_winter_temp.txt #17) SST from the southeast Atlantic (Farmer et al., 2005); ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/farmer2005/ #18) annual mean SST for northern Pacific site SSDP-102 (Latitude 34.9530, Longitude 128.8810) from Kim et al. (2004); http://doi.pangaea.de/10.1594/PANGAEA.438838 #1. GRIP BOREHOLE #I have archived version emailed from Jones in July 2004 from Jones and Mann [2004] djgrip<-read.table("http://www.climate2003.com/data/moberg/djgrip.txt",skip=1) #from 1 to 2001 proxy[[1]]=djgrip names(proxy[[1]])=c("year","t") proxy[[1]]=proxy[[1]][!is.na(proxy[[1]]$t),] #2. CONROY LAKE url<-"ftp://ftp.ncdc.noaa.gov/pub/data/paleo/pollen/recons/liadata.txt" #fred<-readLines(url) test<-read.table(url,skip=50,nrow=(118-50)) test[,1]<-1975-test[,1] #goes from 35 to 1968 test<-test[nrow(test):1,1:2] range(test[,1])#[1] 35 1968 proxy[[2]]=test names(proxy[[2]])=c("year","t") #also Hells Kitchen a candidate #3 CHESAPEAKE BAY #from -183 to 1996 url<-"ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/cronin2003/cronin2003.txt" fred<-readLines(url) g<-read.fwf(url,skip=77,widths=c(9,10,11,10,10,10),fill=TRUE,nrow=530-77) dimnames(g)[[2]]<-c("Core","Depth","ModelYear","Mg/Ca","T.Est.","T.Est.Smooth") #from -183 to 1995.8 g=g[!is.na(g[,1]),] g[order(g[,1],g[,2]),] #f<-approxfun(g[,3], g[,5]) #plot(g[,3],g[,5],type="l") #range(g[,3])#[1] -183.88 1995.88 proxy[[3]]=g[g[,3]> -100,c(3,5)] names(proxy[[3]])=c("year","t") #4. SARGASSO SEA #used in Crowley and Lowery [2000] loc="ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/keigwin1996/fig4bdata" fred<-readLines(loc) g<-read.table(loc,skip=5,fill=TRUE) #from 25BP to 3125BP irregular dimnames(g)[[2]]<-c("bp","t")## g$year=1950-g[,1] sarg.recon=g proxy[[4]]=sarg.recon[,c("year","t")] proxy[[4]]=proxy[[4]][!is.na(proxy[[4]]$t),] proxy[[4]]=proxy[[4]][proxy[[4]]$year> -100,] #5. CARIBBEAN SEA #not used so far in other studies #from 133 to 1950 irregular #two SST recons from cores PRP12 and PRB12 url<-"ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/nyberg2002/nyberg2002.txt" fred<-readLines(url) g<-read.table(url,skip=93,nrow=119-93,fill=TRUE) #from 133 to 1950 irregular proxy[[5]]=g proxy[[5]]=proxy[[5]][,c(1,4)] names(proxy[[5]])=c("year","t") #6. TSUOLBMAJAVRI #url<-"d:/climate/data/erren/Korhola_fig4_points.txt" url<-"http://www.climateaudit.org/data/moberg/Korhola_fig4_points.txt" g<-read.table(url,skip=10,fill=TRUE) #from 11BP to 9425BP irregular g[,1]<-g[1]+1950 range(g[,1]) # -7534.661 1982.559 names(g)=c("year","t") #check proxy[[6]]=g[g$year> -100,] #We investigated the significant features in the temperature #reconstruction by means of the SiZer smoothing procedure #(Chaudhuri and Marron, 1999). Instead of focusing on a single #smooth, this approach utilizes a whole family of smooths, each #providing information about the underlying curve at a different #level of detail. #7. beijing stalagmite reconstruction #665BC to 1985 -665 1985 1.0 #dim 2560 12 url<-"ftp://ftp.ncdc.noaa.gov/pub/data/paleo/speleothem/china/shihua_tan2003.txt" test<-read.table(url,skip=113,fill=TRUE) names(test)=c("year","layer number","original thickness(um)","maximum error in um","sedimentary trend","detrended thickness um","reconstructed temperature","maximum error","anomaly","anomaly + error","anomaly - error" ,"max age error" ) proxy[[7]]<-test[test$year> -100,c(1,7)] names(proxy[[7]])=c("year","t") #8. CHINA-yang # 0 1990 0.1 #ALSO USED IN MJ03 #this includes Thompson dO18 series - Dunde, Guliya url<-"ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/yang2002/china_temp.txt" g<-read.table(url,skip=73,fill=TRUE,header=TRUE,sep="\t") #goes from 0 to 1990 #in 10 year increments proxy[[8]]<-g[,c(1,2)] names(proxy[[8]])=c("year","t") #9) Spannagel Cave (Central Alps) stalagmite oxygen isotope data (Mangini et al., 2005). # SPANNAGEL, AUSTRIA MANGINI to 1935 url<-"ftp://ftp.ncdc.noaa.gov/pub/data/paleo/speleothem/europe/austria/spannagel2005.txt" #SPA 12 only test<-read.table(url,skip=56,header=TRUE,fill=TRUE) proxy[[9]]=test[test[,2]> -100,c(2,4)] ;names(proxy[[9]])=c("year","t") #10 demenocal #Loehle used SST warm url="ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/demenocal2000/658_sst.txt" #fred<-readLines(url) test=read.table(url,skip=94,header=TRUE,sep="\t",fill=TRUE,nrow=40) test$year=1950-test[,1] names(test)[3]="t" proxy[[10]]<-test[test$year> -100,c("year","t")] #11 homgren #[102] " mm Calendar yr T7 delta C13 T7 delta O18" url="ftp://ftp.ncdc.noaa.gov/pub/data/paleo/speleothem/africa/cold_air_cave.txt" #fred<-readLines(url) #Calendar yr mm T7 C13 T7 O18 T7 Grey intensity # 1996 1 -5.188 -2.906 211.6 # 1995 1.2 -5.188 -2.905 214.08 #test=read.fwf(url,skip=102,widths=c(10,15,15,15),nrow=582-102) test=read.fwf(url,skip=589,widths=c(10,14,14,13,14),nrow=2098-102) test=test[nrow(test):1,] test$t=8.66948648-test[,5]*0.0378378 names(test)[1]="year" proxy[[11]]<-test[test$year> -100,c("year","t")] #[102] " mm Calendar yr T7 delta C13 T7 delta O18" #[103] " 1 1996 -5.187736 -2.905723" #[104] " 5 1975 -5.186736 -2.897723" #12 calvo #http://doi.pangaea.de/10.1594/PANGAEA.438810 url="http://doi.pangaea.de/10.1594/PANGAEA.438810?format=html" fred=readLines(url) temp=(substr(fred,1,8)=="") n=nchar(fred[temp]) fred= substr(fred[temp],9,n-10) fred=gsub("","\t",fred) write.table(fred,"temp.dat",quote=FALSE,row.names=FALSE,col.names=FALSE) x=read.table("temp.dat",sep="\t",fill=TRUE) names(x)=c("depth","bp","t") x$year=1950-1000*x$bp proxy[[12]]=x[x$year> -100,c("year","t")] #this matches exactly #url="http://doi.pangaea.de/10.1594/PANGAEA.510801?format=html" #fred=readLines(url) #temp=(substr(fred,1,8)=="") #n=nchar(fred[temp]) #fred= substr(fred[temp],9,n-10) #fred=gsub("","\t",fred) #write.table(fred,"temp.dat",quote=FALSE,row.names=FALSE,col.names=FALSE) #y=read.table("temp.dat",sep="\t",fill=TRUE) #Age [kyr BP] Depth [m] SST [deg C] N. pachyderma s [%] N. pachyderma s [#/g] N. pachyderma d [#/g] G. quinqueloba [#/g] #BP2000 in https://bora.uib.no/bitstream/1956/385/2/2001PA000654.pdf names(y)=c("bp_2000","depth","t","pct N pachy sin","count N pachy sin", "count N pachy dex","count G quin"); y$year=1950-1000*y$bp #radio=array(c(0.25,0.75,1.25,1.75,2.75,3.75,4.75,7.75,10.25,21.75,30.75,5,9,15,20,30,40,49,68,79,448,549),dim=c(11,2)) #https://bora.uib.no/bitstream/1956/385/2/2001PA000654.pdf #compare to http://doi.pangaea.de/10.1594/PANGAEA.510806?format=html #. JM97-948/2A MD95-2011 also alkenone 438810 #With a sample spacing of 0.5 cm in core JM97-948/2A over 30 cm length and 1.0 cm in core MD95-2011, the resulting mean temporal #resolution is 3.4 years and 8.4 years, respectively. #stable oxygen isotopes http://doi.pangaea.de/10.1594/PANGAEA.510799?format=html # https://bora.uib.no/bitstream/1956/385/2/2001PA000654.pdf #https://bora.uib.no/bitstream/1956/364/3/BCCR-risebrobakken.pdf #During MD101, core MD95-2011 (66.97N, 7.64E, 1048 meter water depth, and a #length of 17.49 meter) was recovered using a giant piston corer (CALYPSO). Due to overpenetration of the giant #piston corer, a box core, JM97-948/2A, was later used at #the same position to sample the surface sediments lost during the piston coring. #2003 PAleo Late Holocene surface ocean conditions of the Norwegian Sea (Vøring Plateau) Carin Andersson,1 Bjørg Risebrobakken,2 Eystein Jansen,1,2,3 and Svein Olaf Dahl4 #O18 Risebrobakken, B; Jansen, E; Andersson, C et al. (2003): High-resolution study of Holocene paleoclimatic and paleoceanographic changes in the Nordic Seas, Paleoceanography #mg-Ca B. F. Nyland (1, 2), E. Jansen (1, 2), H. Elderfield (3 #Anderson et al Paleo 2003 https://bora.uib.no/bitstream/1956/385/2/2001PA000654.pdf #13) mean temperature for North America based on pollen profiles (Viau et al.,2006); url="ftp://ftp.ncdc.noaa.gov/pub/data/paleo/pollen/recons/northamerica/viau2006namerica-temp.txt" test=read.table(url,skip=75,nrow=25,fill=TRUE) test$year=1950-100*test[,1];names(test)[2]="t" proxy[[13]]=test[test$year> -100,c("year","t")] #13) SST from two cores in the western tropical Pacific (Stott et al., 2004); MD98_2181 MD98_2176 #9. STOTT 2004 MD81 MD76 MD70 #[1] " Depth Age ave. ruber Mg/Ca SST ave. ruber d18O d18Ow" #[2] " (cm) (yr BP) (mmol/mol) (°C) (‰ VPDB) (‰ SMOW)" # [82] " 1 13.84 5.21 29.10" # [83] " 3 40.65 -2.81" # [84] " 7 90.90 5.01 28.66 -2.57 0.23" # [85] " 11 136.87 -2.50" url<-"ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/stott2004/stott2004.txt" md81<-read.fwf(url,widths=c(6,12,12,12,11,15),fill=TRUE,nrow=408-81,skip=81) names(md81)<-c("depth","bp","mg.ca","t","ruber.dO18","dO18w") md81$year=1950-md81$bp md76<-read.fwf(url,widths=c(6,12,12,12,11,15),fill=TRUE,nrow=665-416,skip=416) names(md76)<-c("depth","bp","mg.ca","t","ruber.dO18","dO18w") md76$year=1950-md76$bp proxy[[14]]=md81[md81$year> -100,c("year","t")] proxy[[15]]=md76[md76$year> -100 ,c("year","t")] #16) a phenology-based reconstruction from China (Ge et al., 2003); fred=readLines(url) # [91] "Period(AD) T.Anom. 3 pt. Avg. Error " # [92] " 15 0.2 - 1" # [93] " 45 -0.2 0.03333333 1.1" url="ftp://ftp.ncdc.noaa.gov/pub/data/paleo/historical/china/china_winter_temp.txt" test=read.fwf(url,skip=91,widths=c(10,13),nrow=158-91 ) names(test)=c("year","t") proxy[[16]]=test #17. Famer #depth cal age Mg/Ca temperature #(cm) (yr) mmol/mol (degC) # 5.5 0 2.11 14.0 # 6.5 66 2.17 14.2 #the series used by Loehle for the Farmer et al data is not the SST reconstruction at all, but the raw Mg/Ca measurements #18 1803 2.10 #19 1934 2.17 #20 2000 2.11 url="ftp://ftp.ncdc.noaa.gov/pub/data/paleo/contributions_by_author/farmer2005/farmer2005.txt" test=read.fwf(url,skip=70,widths=c(6,9,10,10),nrow=292-70) names(test)=c("depth","bp","mg","t") test$year=1950-test$bp proxy[[17]]<-test[test$year> -100,c("year","t")] #18) annual mean SST for northern Pacific site SSDP-102 (Latitude 34.9530, Longitude 128.8810) from Kim et al. (2004); and #13 SSDP-I02 34.95 128.88 40 13 (1–35) 61 This study #http://doi.pangaea.de/10.1594/PANGAEA.438838 #SSDP-102 * Latitude: 34.9530 * Longitude: 128.8810 * Elevation: -40.0 m #Depth [m] Age [kyr BP] SST (1-12) [deg C] #0.02 0.01 21.8 #Kim, Jung-Hyun; Rimbu, Norel; Lorenz, Stefan J; Lohmann, Gerrit; Schneider, Ralph; Nam, Seung-Il; Schouten, Stefan; Sirocko, Frank; Rühlemann, Carsten (2004): North Pacific and North Atlantic sea-surface temperature variability during the Holocene, Quaternary Science Reviews, 23(20-22), 2141-2154, doi:10.1016/j.quascirev.2004.08.010 url="http://doi.pangaea.de/10.1594/PANGAEA.438838?format=html" fred=readLines(url) temp=(substr(fred,1,8)=="") n=nchar(fred[temp]) fred= substr(fred[temp],9,n-10) fred=gsub("","\t",fred) write.table(fred,"temp.dat",quote=FALSE,row.names=FALSE,col.names=FALSE) x=read.table("temp.dat",sep="\t",fill=TRUE) names(x)=c("depth","bp","t") x$year=1950-1000*x$bp proxy[[18]]=x[x$year> -100 ,c("year","t")] save(proxy,file="d:/climate/scripts/loehle/proxy.tab") #par(mfrow=c(5,2)); #index=9:18 #for (i in index) {temp=!is.na(proxy[[i]]$t) # plot(proxy[[i]]$year[temp],proxy[[i]]$t[temp],type="l",xlab="",ylab="",xlim=c(0,2000),main=paste(id[i]))}