#HANSEN ET AL 1988 ##HANSEN ET AL 1988 #see http://data.giss.nasa.gov/modelforce/ghgases/ hansen=rep(list(NA),6);names(hansen)=c("CO2","CH4","N2O","CFC11","CFC12","OTG") ##### ##GISS CURRENT ################ #this is used to create early history for HAnsen et al 1988 (up to 1958). giss=read.table("http:/www.climateaudit.org/data/hansen/giss_ghg.2007.dat",sep="\t",header=TRUE) #this returns a data.frame giss with GHG values as currently collated # collated in script: http://www.climateaudit.org/scripts/hansen/collation.giss_ghg.txt ############# ##CO2 ################ #CO2: A: Keeling 1958-1981 then 1.5% growth of annual increment. Figure B2 shows 15.6 ppmv in 1980s #B: 1.5% to1990;1% to 2000, 0.5% to 2010 and 0 after 2010. Thus constant 1.9 ppmv increase after 2010. #C: = A, B through 1985, then 1.5 ppmv through 2000; then fixed at 368 year= 1850:2049;X=data.frame(year) X$giss=NA;X$giss[(1850:2006)-1849]=giss[,"CO2"] X$A=NA;X$A[(1850:1980)-1849]=X$giss[(1850:1980)-1849] base=15.6/10 #from Figure B2 index=(1981:2030)-1981 increment=base* 1.015^index X$A[(1981:2030)-1849]=X$A[1980-1849]+cumsum(increment) X$B=NA;X$B[(1850:1980)-1849]= X$A[(1850:1980)-1849] base=15.6/10 #from Figure B2 index=(1981:1990)-1980; increment=base* 1.015^index;base=increment[1990-1980] index=(1991:2000)-1990;increment=c(increment,base*1.01^index );base=increment[length(increment)] index=(2001:2010)-2000;increment=c(increment,base*1.005^(1:10) );base=increment[length(increment)] index=(2011:2030)-2010;increment=c(increment,rep(base,20));base=increment[length(increment)] X$B[(1981:2030)-1849]=X$B[1980-1849]+cumsum(increment) X$C=NA;X$C[(1850:1985)-1849]= X$A[(1850:1985)-1849] increment=c(rep(1.5,15),rep(0,30)) X$C[(1986:2030)-1849]=X$C[1985-1849]+cumsum(increment) #close 1.5 ppm off hansen[["CO2"]]=X plot(X$year,X$A,type="l") lines(X$year,X$B,lty=2,col=1) lines(X$year,X$C,lty=3,col=1) points(1959:2007,loa,pch=19,cex=.6,col=2) title(main="Hansen 1988: CO2") legend(locator(1),col=c(1,1,1,2),lty=c(1,2,3,3),lwd=c(1,1,1,4), legend=c("A","B","C","Observed")) ############ ##METHANE ############### #1985 is benchmark #CH4: A: 1958 1.4 ppbv; 0.6% /year until 1970; 1% in 1970s, 1.5% thereafter; # B: methane 1% after 1990; 0.5% after 2000 # C : same to 1980; then 1% to 1990l 0.5% to 2000; then constant at 1916 ppbv #TAR 4.2.1.1 globally averaged atmospheric surface abundance in 1998 was 1,745 ppb #In 2005, the global average abundance of CH4 measured at network of 40 surface air fl ask sampling sites operated by #NOAA/GMD in both hemispheres was 1,774.62 ± 1.22 ppb.8 year= 1850:2049;X=data.frame(year) X$giss=NA;X$giss[(1850:2006)-1849]=giss[,"CH4"] X$A=NA;X$A[(1850:1970)-1849]=X$giss[(1850:1970)-1849] index=(1958:1970)-1957;increment=14* 1.006^index;base=increment[length(increment)]#14 from B2 index=(1971:1980)-1970;increment=c(increment,base* 1.01^index );base=increment[length(increment)] index=(1981:2030)-1980;increment=c(increment,base* 1.015^index) increment=cumsum(increment) X$A[(1958:2030)-1849]=X$A[1957-1849]+increment X$B=NA;X$B[(1850:1957)-1849]=X$giss[(1850:1957)-1849] index=(1958:1970)-1957;increment=14* 1.006^index;base=increment[length(increment)] index=(1971:1980)-1970;increment=c(increment,base* 1.01^index) ;base=increment[length(increment)] index=(1981:1990)-1980;increment=c(increment,base* 1.015^index) ;base=increment[length(increment)] index=(1991:2000)-1990;increment=c(increment,base* 1.01^index) ;base=increment[length(increment)] index=(2001:2030)-2000;increment=c(increment,base* 1.005^index) increment=cumsum(increment) X$B[(1958:2030)-1849]=X$B[1957-1849]+increment X$C=NA;X$C[(1850:1957)-1849]=X$giss[(1850:1957)-1849] index=(1958:1970)-1957;increment=14* 1.006^index;base=increment[length(increment)] index=(1971:1980)-1970;increment=c(increment,base* 1.01^index) ;base=increment[length(increment)] index=(1981:1990)-1980;increment=c(increment,base* 1.01^index) ;base=increment[length(increment)] index=(1991:2000)-1990;increment=c(increment,base* 1.005^index) ;base=increment[length(increment)] index=(2001:2030)-2000;increment=c(increment,rep(0,30)) increment=cumsum(increment) X$C[(1958:2030)-1849]=X$C[1957-1849]+increment hansen[["CH4"]]=X plot(X$year,X$A,type="l") lines(X$year,X$B,lty=2,col=1) lines(X$year,X$C,lty=3,col=1) points(1959:2007,X$giss[(1959:2007)-1849],pch=19,cex=.2,col=2) title(main="Hansen 1988: Methane") legend(locator(1),col=c(1,1,1,2),lty=c(1,2,3,3),lwd=c(1,1,1,4), legend=c("A","B","C","Observed")) ###N2O #292.6 ppbv #A: different principle, probably 3.5% thereafter. 0.1% 1958;0.2% 1980; 0.4% 2000; 0.9% om 2030 #B: 3.5% to 1990; 2.5 % to 2000; 1.5% to 2010, 0.5% thereafter #values track Lacis et al 1981 in 1970s; 295 in 1970; 6 ppb groehn year= 1850:2049;X=data.frame(year) X$giss=NA;X$giss[(1850:2006)-1849]=giss$N2O X$B=NA;X$B[(1850:1970)-1849]=X$giss[(1850:1970)-1849] index=(1971:1980)-1970;increment= rep(6/10,10);base=increment[length(increment)] index=(1981:1990)-1980;increment=c(increment,base* 1.035^index) ;base=increment[length(increment)] index=(1991:2000)-1990;increment=c(increment,base* 1.025^index) ;base=increment[length(increment)] index=(2001:2010)-2000;increment=c(increment,base* 1.015^index) ;base=increment[length(increment)] index=(2011:2030)-2010;increment=c(increment,base* 1.005^index) ;base=increment[length(increment)] increment=cumsum(increment) X$B[(1971:2030)-1849]=X$B[1970-1849]+increment X$A=NA;X$A[(1850:1970)-1849]=X$giss[(1850:1970)-1849] index=(1971:1980)-1970;increment= rep(6/10,10);base=increment[length(increment)] index=(1981:2030)-1980;increment=c(increment,base* 1.035^index) ;base=increment[length(increment)] increment=cumsum(increment) X$A[(1971:2030)-1849]=X$A[1970-1849]+increment X$C=X$B hansen[["N2O"]]=X ###CFC-11 #15.8 pptb #A: 3% growth #B: ncrement 3% to 1990; 2% to 2000; 1% to 2010; 0%. #C: same to 1990. linear decrease to 0 in 2000 year= 1850:2049;X=data.frame(year) X$giss=NA;X$giss[(1850:2006)-1849]=giss[,"CFC11"] X$A=NA;X$A[(1850:1970)-1849]=X$giss[(1850:1970)-1849] base=(X$giss[1980-1849]-X$giss[1970-1849])/10 index=(1971:1980)-1970;increment= rep(base,10);base=increment[length(increment)] index=(1981:2030)-1980;increment=c(increment,base* 1.03^index) ;base=increment[length(increment)] increment=cumsum(increment) X$A[(1971:2030)-1849]=X$A[1970-1849]+increment X$B=NA;X$B[(1850:1990)-1849]=X$A[(1850:1990)-1849] base=(X$giss[1980-1849]-X$giss[1970-1849])/10 index=(1971:1980)-1970;increment= rep(base,10);base=increment[length(increment)] index=(1981:1990)-1980;increment=c(increment,base* 1.03^index) ;base=increment[length(increment)] index=(1991:2000)-1990;increment=c(increment,base* 1.02^index) ;base=increment[length(increment)] index=(2001:2010)-2000;increment=c(increment,base* 1.01^index) ;base=increment[length(increment)] index=(2011:2030)-2010;increment=c(increment,base* 1.00^index) ; base=increment[1990-1970] increment=cumsum(increment) X$B[(1971:2030)-1849]=X$B[1970-1849]+increment X$C=NA;X$C[(1850:1990)-1849]=X$B[(1850:1990)-1849] increment=c( seq(base,0,-base/10), rep(0,30)) increment=cumsum(increment) X$C[(1990:2030)-1849]=X$C[1990-1849]+increment hansen[["CFC11"]]=X ###CFC-12 #A: 3% growth #B: ncrement 3% to 1990; 2% to 2000; 1% to 2010; 0%. #C: same to 1990. linear decrease to 0 in 2000 year= 1850:2049;X=data.frame(year) X$giss=NA;X$giss[(1850:2006)-1849]=giss[,"CFC12"] X$A=NA;X$A[(1850:1970)-1849]=X$giss[(1850:1970)-1849] base=(X$giss[1980-1849]-X$giss[1970-1849])/10 index=(1971:1980)-1970;increment= rep(base,10);base=increment[length(increment)] index=(1981:2030)-1980;increment=c(increment,base* 1.03^index) ;base=increment[length(increment)] increment=cumsum(increment) X$A[(1971:2030)-1849]=X$A[1970-1849]+increment X$B=NA;X$B[(1850:1990)-1849]=X$A[(1850:1990)-1849] base=(X$giss[1980-1849]-X$giss[1970-1849])/10 index=(1971:1980)-1970;increment= rep(base,10);base=increment[length(increment)] index=(1981:1990)-1980;increment=c(increment,base* 1.03^index) ;base=increment[length(increment)] index=(1991:2000)-1990;increment=c(increment,base* 1.02^index) ;base=increment[length(increment)] index=(2001:2010)-2000;increment=c(increment,base* 1.01^index) ;base=increment[length(increment)] index=(2011:2030)-2010;increment=c(increment,base* 1.00^index) ; base=increment[1990-1970] increment=cumsum(increment) X$B[(1971:2030)-1849]=X$B[1970-1849]+increment X$C=NA;X$C[(1850:1990)-1849]=X$B[(1850:1990)-1849] increment=c( seq(base,0,-base/10), rep(0,30)) increment=cumsum(increment) X$C[(1990:2030)-1849]=X$C[1990-1849]+increment hansen[["CFC12"]]=X ###MTGs and OTGs #A: multiply CFCs by 2 #B: no increase #C: no increase # haven't implemented yet: (Jan 2008) ##COLLECT ESTIMATES Y=cbind(hansen[[1]]$year,hansen[[1]]$A,hansen[[2]]$A,hansen[[3]]$A,hansen[[4]]$A,hansen[[5]]$A) dimnames(Y)[[2]]=c("year","CO2","CH4","N2O","CFC11","CFC12"); Y=data.frame(Y) write.table(Y,file="d:/climate/data/models/hansenscenario_A.dat",sep="\t",row.names=FALSE) Y=cbind(hansen[[1]]$year,hansen[[1]]$B,hansen[[2]]$B,hansen[[3]]$B,hansen[[4]]$B,hansen[[5]]$B) dimnames(Y)[[2]]=c("year","CO2","CH4","N2O","CFC11","CFC12"); Y=data.frame(Y) write.table(Y,file="d:/climate/data/models/hansenscenario_B.dat",sep="\t",row.names=FALSE) Y=cbind(hansen[[1]]$year,hansen[[1]]$C,hansen[[2]]$C,hansen[[3]]$C,hansen[[4]]$C,hansen[[5]]$C) dimnames(Y)[[2]]=c("year","CO2","CH4","N2O","CFC11","CFC12"); Y=data.frame(Y) write.table(Y,file="d:/climate/data/models/hansenscenario_C.dat",sep="\t",row.names=FALSE) #copied to http://www.climateaudit.org/data/hansen/hansenscenario_A.dat ,....