######################## ## CODE FOR MONTE CARLO SIMULATIONS OF "RED NOISE" SERIES FOR ALL PROXIES IN SPECIFIED MBH NETWORK ## DOES THIS FOR EACH ORIGINAL MBH PROXY SET USED ######################## ##LIBRARY CALL AND EXISTING VARIABLE REMOVAL rm(list=ls()) library(waveslim) ##SET UP VARIABLES #Specify file path (between quotation marks) to location of proxy data file to be used FILE_PATH<-paste("SPECIFY_FULL_PATH_TO_APPROPRIATE_WA/MBH_PROXY_NETWORK_FILE") nyear=581 # 1400 network used proxies=22 j=1400 NM<-1000 # number of Monte Carlo iterations ##READING IN OF REAL-WORLD PROXY DATA Proxy_network<-scan(paste(FILE_PATH,"data",j,".txt",sep="")) Proxy_network<-matrix(Proxy_network,nrow=nyear,ncol=proxies, byrow=TRUE) dim(Proxy_network) N<-nrow(Proxy_network) n<-ncol(Proxy_network) #DETERMINATION OF ACFs FOR PROXY SERIES Data1<-array(rep(NA,N*n), dim=c(N,n)) for (l in 1:ncol(Proxy_network)){ Data1[,l]<-acf(Proxy_network[,l][!is.na(Proxy_network[,l])],N)[[1]][1:N] } #l #CALCULATION OF SCALING FACTORS TO BE USED IN "NM" LOOP std_network<-apply(Proxy_network,2,sd) std_networkmatrix<-array(dim=c(N,n)) for (o in 1:N){ std_networkmatrix[o,]<-std_network} #RED NOISE SERIES SIMULATION LOOP Proxy_network_sim<-array (rep(NA,NM*nyear*n), dim=c(nyear,NM,n) ) for (q in 1:NM) { for (g in 1:n) { Proxy_network_sim[,q,g]<-hosking.sim(N,Data1[,g]) } #g # ADDITIONS OF SCALING BY STANDARD DEVIATION OF "Proxy_network" MATRIX SERIES TO OUTPUT OF "hosking.sim" # ALGORITHM ABOVE Proxy_network_sim[,q,]<-std_networkmatrix*Proxy_network_sim[,q,] } #q #write(Proxy_network_sim[,1:NM,], ncol=nyear, file = paste(FILE_PATH,"Proxy_network_sim",j,".dat",sep="")) #data saved as: cols = years, rows = first by MC reps (blocks of 1000) and then by number of proxies; NOTE: these files are generally more than 100 megabytes in size and take time to write, which is why they are commented out as a default to start. #**************************** END ***********************************