diff --git a/.gitignore b/.gitignore
index 44ba704dd91dad690db3ccf3ba5c67db24fab9ea..74d26d8ad8022ed70a093a76eec8ea332ba1685f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
 output
 output_cluster
-./data/raw/
+data/raw/
+data/species.list
 figs
 *.xls
 *.xlsx
@@ -10,3 +11,5 @@ data/process
 *.pdf
 *.doc
 *.html
+*.Rdata
+*.rds
diff --git a/CLIMATE.FRANCE.R b/CLIMATE.FRANCE.R
deleted file mode 100644
index 0976376505ee23914097eec917f5c37a231af920..0000000000000000000000000000000000000000
--- a/CLIMATE.FRANCE.R
+++ /dev/null
@@ -1,242 +0,0 @@
-################################################
-################################################
-################################################
-################################################
-### LOAD and PROCEED CLIMATIC DATA
-################################################
-################################################
-################################################
-################################################
-source("./R/FUN.climate.R")
-## Data extracted from C. Piedallu data base with
-## Radition with cloud cover for each plots
-## Piedallu, C, and J Gegout. 2008. “Efficient Assessment of Topographic Solar Radiation to Improve Plant Distribution Models.” Agricultural and Forest Meteorology 148 (11) (October): 1696–1706. doi:10.1016/j.agrformet.2008.06.001.
-## Temperature and precipitation with temperature corrected by elevation based on
-## Piedallu, C., J. C. Gégout, V. Perez, F. Lebourgeois, and R. Field. 2012. “Soil Water Balance Performs Better Than Climatic Water Variables in Tree Species Distribution Modelling.” Global Ecology and Biogeography. http://onlinelibrary.wiley.com/doi/10.1111/geb.12012/full.
-
-######
-## LOAD PIDEALLU DATA
-data.CLIM <- read.csv("./data/raw/DataFrance/climate_piedallu/placettesGK_avec_2011.csv",
-                      header=T,sep='\t',stringsAsFactors=FALSE,dec=",",na.strings="")
-
-data.CLIM$rumkg_500 <- as.numeric(gsub(",",".",data.CLIM$rumkg_500))
-
-
-#########################################
-#########################################
-#### COMPUTE CLIMATIC VARIABLES !!!
-
-### NEED TO COMPUTE DDG5
-### NEED TO COMPUTE SOIL MAX WATER CONTENT
-### NEED TO COMPUTE PET
-### NEED TO COMPUTE WATER BUDGET
-
-## remove NA lines
-data.CLIM.na <- is.na(data.CLIM[["tmoy6190_1_cor"]])
-data.CLIM2 <-  data.CLIM[!data.CLIM.na,]
-
-### apply function sgdd
-sgdd.vec <- apply(data.CLIM2[,82:93],MARGIN=1,FUN=fun.sgdd)
-MeanT.vec <- apply(data.CLIM2[,82:93],MARGIN=1,FUN=mean)
-plot(MeanT.vec,sgdd.vec)
-dim(data.CLIM)
-
-#################################################
-### Max Soil Water Content
-### compute based on
-## Piedallu, C., J. C. Gégout, A. Bruand, and I. Seynave. 2011. “Mapping Soil Water Holding Capacity over Large Areas to Predict Potential Production of Forest Stands.” Geoderma 160 (3): 355–366.
-
-### read data texture as in Piedallu et al. 2011
-data.texture <- read.table("./data/raw/DataFrance/climate_piedallu/texture.txt",header=T)
-### load ecological data
-load(file="./data/process/ecologie_tot.Rdata")
-head(ecologie_tot)
-
-codeprof <- c(2.5,10,20,30,40,50,60,70,80,92.5) # code prof en cm
-codecaillou <- c(2.5,10,20,30,40,50,60,70,80,90,97.5) ## code percentage en %
-
-#compute swhc
-swhc <- fun.swhc(affroc=ecologie_tot$affroc,cailloux=ecologie_tot$cailloux,text2=ecologie_tot$text2,text1=ecologie_tot$text1,prof2=ecologie_tot$prof2,prof1=ecologie_tot$prof1,codeprof,codecaillou,data.texture)
-swhc[is.na(ecologie_tot$prof2)] <-  NA
-
-### add to ecological data based 
-ecologie_tot$SWHC <- swhc
-
-
-##################################
-##################################
-#### COMPUTE PET WITH TURC FORMULA
-### unit to convert radneb61_ from J/cm2/month in MJ/m2/day /100/30 then to convert in KJ/m2/day as in Nick formula *1000
-
-## RAD and Temperature of the 12 months 
-radneb61_1to12 <- 66:77
-tmoy6190_1_cor.1to12 <- 82:93
-
-### apply in parallel
-library(doParallel)
-registerDoParallel(cores=6) ## affect automaticaly half of the core detected to the foreach
-getDoParWorkers() ## here 8 core so 4 core if want to use more registerDoParallel(cores=6)
-
-PET.matrix <-
-foreach(i=1:length(data.CLIM$idp), .combine=rbind) %dopar%
-	{
-fun.PET(i,rad=data.CLIM[,radneb61_1to12],temp=data.CLIM[,tmoy6190_1_cor.1to12])
-	}
-
-PET.matrix <- PET.matrix[!data.CLIM.na,]
-PET.matrix[PET.matrix<0] <- 0 ## affect zero if negative PET
-
-## plot to check PET computed by me vs PET of Christian
-## par(mfrow=c(3,4))
-## for (i in 1:12) {plot(PET.matrix[,i],data.CLIM2[,i+48]) ; lines(0:100,0:100)}
-
-colnames(PET.matrix) <-  paste("PET.cor.",1:12,sep="")
-##############
-### MERGE CLIMATE and PET
-data.CLIM2 <- cbind(data.CLIM2,PET.matrix,sgdd=sgdd.vec)
-
-### MERGE WITH ECOLOGICAL DATA
-ecologie.clim <- merge(ecologie_tot,data.CLIM2,by="idp",all.x=T)
-dim(ecologie_tot)
-dim(ecologie.clim)
-names(ecologie.clim)
-
-
-ecologie.clim2 <-  ecologie.clim[!is.na(ecologie.clim$PET.cor.1) &!is.na(ecologie.clim$SWHC),]
-
-###########################################################################################
-###### COMPUTE WATER BUDGET
-
-## ### test function
-## fun.WaterBudget(i=16,prcp.m=(ecologie.clim2[,paste("prec6190_",1:12,sep="")]),
-##                 PET.m=(ecologie.clim2[,paste("PET.cor.",1:12,sep="")]),
-##                 Ta.m=(ecologie.clim2[,c("tmoy6190_1_cor",paste("tmoy6190_1_cor.",1:11,sep=""))]),
-##                 SWHC.v=(ecologie.clim2[  ,"SWHC"]),n=2)
-
-
-### apply function in parallel
-library(doParallel)
-registerDoParallel(cores=6) ## affect automaticaly half of the core detected to the foreach
-getDoParWorkers() ## here 8 core so 4 core if want to use more registerDoParallel(cores=6)
-
-WBWS.matrix <-
-foreach(i=1:length(ecologie.clim2$idp), .combine=rbind) %dopar%
-	{
-fun.WaterBudget(i,prcp.m=(ecologie.clim2[,paste("prec6190_",1:12,sep="")]),
-                PET.m=(ecologie.clim2[,paste("PET.cor.",1:12,sep="")]),
-                Ta.m=(ecologie.clim2[,c("tmoy6190_1_cor",paste("tmoy6190_1_cor.",1:11,sep=""))]),
-                SWHC.v=(ecologie.clim2[  ,"SWHC"]),n=2)
-         }
-
-### MERGE all and saved
-WBWS.matrix2 <- cbind("idp"=ecologie.clim2$idp,WBWS.matrix)
-ecologie.clim.data <- merge(ecologie.clim,WBWS.matrix2,by="idp",all.x=T)
-
-#####
-# change tplant not good format
-load("./data/process/placette_tot.Rdata")
-ecologie.clim.data$tplant <-  placette_tot$tplant
-
-### Compute mean T and annual sum of precip
-
-ecologie.clim.data$MAT <- apply(ecologie.clim.data[,114:125],MARGIN=1,FUN=mean)
-ecologie.clim.data$SAP <- apply(ecologie.clim.data[,69:80],MARGIN=1,FUN=sum)
-
-
-saveRDS(ecologie.clim.data,file="./data/process/ecologie.clim.data.rds")
-
-
-
-
-
-
-#########################################################
-#########################################################
-###### FIGURES OF CLIMATIC DATA
-#############################
-ecologie.clim.data <- readRDS("./data/process/ecologie.clim.data.rds")
- names(ecologie.clim.data)
-
-###check  climatic data
-
-pdf("./figs/sgdd.tmin.map.pdf")
-par(mfrow=c(2,2))
-plot(ecologie.clim.data$xl93,ecologie.clim.data$yl93,
-     col=rev(heat.colors(10))[cut(ecologie.clim.data$sgdd,quantile(ecologie.clim.data$sgdd,probs=(0:10)/10,na.rm=T),labels=F)],
-     cex=0.2,pty="s",xlab=NA,ylab=NA,main="SGDD")
-
-plot(ecologie.clim.data$xl93,ecologie.clim.data$yl93,
- col=rev(heat.colors(10))[cut(ecologie.clim.data$tmin6190_min_cor,quantile(ecologie.clim.data$tmin6190_min_cor,probs=(0:10)/10,na.rm=T),labels=F)],
-     cex=0.2,pty="s",xlab=NA,ylab=NA,main="Tmin")
- plot( ecologie.clim.data$tmin6190_min_cor,ecologie.clim.data$sgdd,cex=0.2,xlab="Tmin",ylab="SGDD")
-dev.off()
-
-pdf("./figs/Water.map.pdf")
-  par(mfrow=c(2,2),mar=c(1,1,1,1))
-plot(ecologie.clim.data$xl93,ecologie.clim.data$yl93,
- col=rev(colorRampPalette(c("blue", "red"))( 10 ))[cut(ecologie.clim.data$WB.y,quantile(ecologie.clim.data$WB.y,probs=(0:10)/10,na.rm=T),labels=F)],
-     cex=0.2,pty="s",xlab=NA,ylab=NA)
-plot(ecologie.clim.data$xl93,ecologie.clim.data$yl93,
-  col=rev(colorRampPalette(c("blue", "red"))( 10 ))[cut(ecologie.clim.data$WB.s,quantile(ecologie.clim.data$WB.s,probs=(0:10)/10,na.rm=T),labels=F)],
-     cex=0.2,pty="s",xlab=NA,ylab=NA)
-plot(ecologie.clim.data$xl93,ecologie.clim.data$yl93,
-  col=rev(colorRampPalette(c("blue", "red"))( 10 ))[cut(ecologie.clim.data$WS.y,quantile(ecologie.clim.data$WS.y,probs=(0:10)/10,na.rm=T),labels=F)],
-     cex=0.2,pty="s",xlab=NA,ylab=NA)
-plot(ecologie.clim.data$xl93,ecologie.clim.data$yl93,
- col=rev(colorRampPalette(c("blue", "red"))( 10 ))[cut(ecologie.clim.data$WS.s,quantile(ecologie.clim.data$WS.s,probs=(0:10)/10,na.rm=T),labels=F)],
-     cex=0.2,pty="s",xlab=NA,ylab=NA)
-dev.off()
-
-pdf("./figs/Water.var,cor.pdf")
-par(mfrow=c(2,2))
-plot(ecologie.clim.data[['WB.y']],ecologie.clim.data[['WS.y']],xlab="WB year",ylab="ratio AET/D year",cex=0.2)
-plot(ecologie.clim.data[['WB.s']],ecologie.clim.data[['WS.s']],xlab="WB growing season",ylab="ratio AET/D growing season",cex=0.2)
-plot(ecologie.clim.data[['WB.s']],ecologie.clim.data[['WB.y']],xlab="WB growing season",ylab="WB growing year",cex=0.2)
-plot(ecologie.clim.data[['WS.s']],ecologie.clim.data[['WS.y']],xlab="ratio AET/D growing season",ylab="ratio AET/D year",cex=0.2)
-dev.off()
-pdf("./figs/sgdd.water.cor.pdf")
-plot(ecologie.clim.data[['sgdd']],ecologie.clim.data[['WS.y']],xlab="SGDD",ylab="ratio AET/D year",cex=0.2)
-dev.off()
-
-### DO PCA OF CLIMATIC DATA
-
-data.prc <- prcomp(ecologie.clim.data[apply(is.na(ecologie.clim.data[,c('sgdd','tmin6190_min_cor','WB.s','WS.s')]),MARGIN=1,FUN=sum)<1,c('sgdd','tmin6190_min_cor','WB.s','WS.s')],na.action=na.omit,scale=T)
-summary(data.prc)
-scores <-data.prc$x
-pdf("./figs/climate.pca.pdf")
-biplot(data.prc,pch=1,xlabs=rep('.',length(data.prc$x[,1])),ylabs=c('SGDD','Tmin','WB','WS'))
- text(150,180,labels=paste("Var PC1 ", ((summary(data.prc)))$importance[2,1],sep=""))
- text(150,165,labels=paste("Var PC2 ", ((summary(data.prc)))$importance[2,2],sep=""))
-dev.off()
-
-
-##### FIGS on elevation correction of temperature done by Christian
-### map of diff between mean altitude of the 1x1km cell and actual elevation of the plots
-pdf("./figs/map.error.alti.pdf")
-plot(data.CLIM$xl2,data.CLIM$yl2,col="grey",cex=0.3,xlab="X",ylab="Y")
-data.temp <- data.CLIM[data.CLIM$diff..altIFN...mnt50 < (-100) | (data.CLIM$diff..altIFN...mnt50>100),]
-points(data.temp$xl2,data.temp$yl2,col=c("red","coral3","coral","grey","coral","coral3","red")[cut(data.temp$diff..altIFN...mnt50,breaks=c(-500,-300,-200,-100,100,200,300,500),labels=F)],cex=0.5,pch=1)
-dev.off()
-
-##### PLOT HIST OF ALL VARIABLES
-pdf('./figs/climatvar.hist.pdf')
-par(mfrow=c(3,4))
-for (i in 37:48) hist(data.CLIM[,i],xlab='Monthly Precip (mm)',main=names(data.CLIM)[i])
-
-par(mfrow=c(3,4))
-for (i in 49:60) hist(data.CLIM[,i],xlab='PET (mm)',main=names(data.CLIM)[i])
-
-par(mfrow=c(3,4))
-for (i in 66:77) hist(data.CLIM[,i],xlab='Radiation (?)',main=names(data.CLIM)[i])
-
-par(mfrow=c(3,4))
-for (i in 82:93) hist(data.CLIM[,i],xlab='temperature (C)',main=names(data.CLIM)[i])
-dev.off()
-
-pdf('./figs/xyplot.Tunco.Tcor.pdf')
-par(mfrow=c(3,4))
-for (i in 1:12) plot(data.CLIM[,(23:34)[i]],data.CLIM[,(82:94)[i]],xlab='temperature (C) uncorrected',ylab='temperature (C) corrected',
-                     main=names(data.CLIM)[(23:34)[i]])
-dev.off()
-
-
diff --git a/READ.DATA.NFI.FRANCE.R b/READ.DATA.NFI.FRANCE.R
deleted file mode 100644
index bb84aa0aa4e17119d65923f6a38d755a57ada4d7..0000000000000000000000000000000000000000
--- a/READ.DATA.NFI.FRANCE.R
+++ /dev/null
@@ -1,443 +0,0 @@
-############################################################
-############################################################
-########## READ, MERGE AND CLEAN ALL NFI DATA NEW METHODS
-
-### read TREE table downloaded from the web
-arbre2005 <- read.csv("./data/raw/DataFrance/2005/arbres_foret_2005.csv",sep=";", stringsAsFactors=FALSE)
-summary(arbre2005)
-arbre2006 <- read.csv("./data/raw/DataFrance/2006/arbres_foret_2006.csv",sep=";", stringsAsFactors=FALSE)
-summary(arbre2006)
-arbre2007 <- read.csv("./data/raw/DataFrance/2007/arbres_foret_2007.csv",sep=";", stringsAsFactors=FALSE)
-summary(arbre2007)
-arbre2008 <- read.csv("./data/raw/DataFrance/2008/arbres_foret_2008.csv",sep=";", stringsAsFactors=FALSE)
-summary(arbre2005)
-arbre2009 <- read.csv("./data/raw/DataFrance/2009/arbres_foret_2009.csv",sep=";", stringsAsFactors=FALSE)
-summary(arbre2009)
-arbre2010 <- read.csv("./data/raw/DataFrance/2010/arbres_foret_2010.csv",sep=";", stringsAsFactors=FALSE)
-summary(arbre2010)
-arbre2011 <- read.csv("./data/raw/DataFrance/2011/arbres_foret_2011.csv",sep=";", stringsAsFactors=FALSE)
-
-
-
-
-
-#### ALL TREE after 2007 don't have the veget value as in 2005 aned 2006 because new variable ACCI for tree with accident (trunk broken ...)
-### NEED TO UPDATE VEGET FROM ACCI
-arbre2007$veget[arbre2007$acci>0] <- 1
-arbre2008$veget[arbre2008$acci>0] <- 1
-arbre2009$veget[arbre2009$acci>0] <- 1
-arbre2010$veget[arbre2010$acci>0] <- 1
-arbre2011$veget[arbre2011$acci>0] <- 1
-##
-arbre2005$veget <- unclass(arbre2005$veget)-1
-arbre2006$veget <- unclass(arbre2006$veget)-1
-
-######
-## ORI NEED TO BE DEGRADED SINCE 2007 to two level from resprout or from seed
-arbre2007$ori[arbre2007$ori==2] <- 0
-arbre2008$ori[arbre2008$ori==2] <- 0
-arbre2009$ori[arbre2009$ori==2] <- 0
-arbre2010$ori[arbre2010$ori==2] <- 0
-arbre2011$ori[arbre2011$ori==2] <- 0
-
-
-##############################
-### merge all table adding NA when no variable for that year
-arbre.tot <- data.frame(idp=c(arbre2005$idp,arbre2006$idp,arbre2007$idp,arbre2008$idp,arbre2009$idp,arbre2010$idp,arbre2011$idp),
-                        a=c(arbre2005$a,arbre2006$a,arbre2007$a,arbre2008$a,arbre2009$a,arbre2010$a,arbre2011$a),
-                        veget=c(arbre2005$veget,arbre2006$veget,arbre2007$veget,arbre2008$veget,arbre2009$veget,arbre2010$veget,arbre2011$veget),
-                        simplif=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),rep(NA,length(arbre2007$idp)),
-                            rep(NA,length(arbre2008$idp)),arbre2009$simplif,arbre2010$simplif,arbre2011$simplif),
-                        acci=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),arbre2007$acci,arbre2008$acci,arbre2009$acci,
-                            arbre2010$acci,arbre2011$acci),
-                        espar=c(as.character(arbre2005$espar),as.character(arbre2006$espar),as.character(arbre2007$espar),
-                            as.character(arbre2008$espar),as.character(arbre2009$espar),as.character(arbre2010$espar),as.character(arbre2011$espar)),
-                        ori=c(arbre2005$ori,arbre2006$ori,arbre2007$ori,arbre2008$ori,arbre2009$ori,arbre2010$ori,arbre2011$ori),
-                        lib=c(arbre2005$lib,arbre2006$lib,arbre2007$lib,arbre2008$lib,arbre2009$lib,arbre2010$lib,arbre2011$lib),
-                        forme=c(arbre2005$forme,arbre2006$forme,arbre2007$forme,arbre2008$forme,arbre2009$forme,arbre2010$forme,arbre2011$forme),
-                        tige=c(arbre2005$tige,arbre2006$tige,arbre2007$tige,arbre2008$tige,arbre2009$tige,arbre2010$tige,arbre2011$tige),
-                        mortb=c(rep(NA,length(arbre2005$idp)),arbre2006$mortb,arbre2007$mortb,arbre2008$mortb,arbre2009$mortb,arbre2010$mortb,
-                            arbre2011$mortb),
-                        sfgui=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),rep(NA,length(arbre2007$idp)),arbre2008$sfgui,
-                            arbre2009$sfgui,arbre2010$sfgui,arbre2011$sfgui),
-                        sfgeliv=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),rep(NA,length(arbre2007$idp)),arbre2008$sfgeliv,
-                            arbre2009$sfgeliv,arbre2010$sfgeliv,arbre2011$sfgeliv),
-                        sfpied=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),rep(NA,length(arbre2007$idp)),arbre2008$sfpied,
-                            arbre2009$sfpied,arbre2010$sfpied,arbre2011$sfpied),
-                        sfdorge=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),rep(NA,length(arbre2007$idp)),arbre2008$sfdorge,
-                            arbre2009$sfdorge,arbre2010$sfdorge,arbre2011$sfdorge),
-                        sfcoeur=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),rep(NA,length(arbre2007$idp)),
-                            rep(NA,length(arbre2008$idp)),arbre2009$sfcoeur,arbre2010$sfcoeur,arbre2011$sfcoeur),
-                        c13=c(arbre2005$c13,arbre2006$c13,arbre2007$c13,arbre2008$c13,arbre2009$c13,arbre2010$c13,arbre2011$c13),
-                        ir5=c(arbre2005$ir5,arbre2006$ir5,arbre2007$ir5,arbre2008$ir5,arbre2009$ir5,arbre2010$ir5,arbre2011$ir5),
-                        htot=c(arbre2005$htot,arbre2006$htot,arbre2007$htot,arbre2008$htot,arbre2009$htot,arbre2010$htot,arbre2011$htot),
-                        hdec=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),rep(NA,length(arbre2007$idp)),arbre2008$hdec,
-                            arbre2009$hdec,arbre2010$hdec,arbre2011$hdec),
-                        decoupe=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),rep(NA,length(arbre2007$idp)),arbre2008$decoupe,
-                            arbre2009$decoupe,arbre2010$decoupe,arbre2011$decoupe),
-                        q1=c(arbre2005$q1,arbre2006$q1,arbre2007$q1,arbre2008$q1,arbre2009$q1,arbre2010$q1,arbre2011$q1),
-                        q2=c(arbre2005$q2,arbre2006$q2,arbre2007$q2,arbre2008$q2,arbre2009$q2,arbre2010$q2,arbre2011$q2),
-                        q3=c(arbre2005$q3,arbre2006$q3,arbre2007$q3,arbre2008$q3,arbre2009$q3,arbre2010$q3,arbre2011$q3),
-                        r=c(arbre2005$r,arbre2006$r,arbre2007$r,arbre2008$r,arbre2009$r,arbre2010$r,arbre2011$r),
-                        lfsd=c(arbre2005$lfsd,arbre2006$lfsd,arbre2007$lfsd,arbre2008$lfsd,arbre2009$lfsd,arbre2010$lfsd,arbre2011$lfsd),
-                        age=c(rep(NA,length(arbre2005$idp)),rep(NA,length(arbre2006$idp)),rep(NA,length(arbre2007$idp)),arbre2008$age,
-                            arbre2009$age,arbre2010$age,arbre2011$age),
-                        v=c(arbre2005$v,arbre2006$v,arbre2007$v,arbre2008$v,arbre2009$v,arbre2010$v,arbre2011$v),
-                        w=c(arbre2005$w,arbre2006$w,arbre2007$w,arbre2008$w,arbre2009$w,arbre2010$w,arbre2011$w),
-                        YEAR=c(rep(2005,length(arbre2005$idp)),rep(2006,length(arbre2006$idp)),rep(2007,length(arbre2007$idp)),
-                            rep(2008,length(arbre2008$idp)),rep(2009,length(arbre2009$simplif)),rep(2010,length(arbre2010$simplif)),
-                            rep(2011,length(arbre2011$simplif))))
-
-rm(arbre2005,arbre2006,arbre2007,arbre2008,arbre2009,arbre2010,arbre2011)
-gc()
-########################################################
-## #### check problem of unit for c13 ir5 and htot by plotting the data
-## plot(arbre.tot$c13,arbre.tot$ir5,col=unclass(factor(arbre.tot$YEAR)),cex=0.1)
-## boxplot(arbre.tot$c13~arbre.tot$YEAR,ylab="c13")
-## boxplot(arbre.tot$ir5~arbre.tot$YEAR,ylab="ir5")
-## boxplot(arbre.tot$htot~arbre.tot$YEAR,ylab="htot")
-## boxplot(arbre.tot$age~arbre.tot$YEAR,ylab="age")
-## ##### SOMETHING VERY STRANGE FOR THE AGE WITH SEVERAL TREE OVER 1000 YEARS OLD
-## boxplot(arbre.tot$mortb~arbre.tot$YEAR,ylab="mortality branche")
-## boxplot(arbre.tot$veget~arbre.tot$YEAR,ylab="accident")
-## boxplot(arbre.tot$simplif~arbre.tot$YEAR,ylab="accident")
-## boxplot(arbre.tot$w~arbre.tot$YEAR,ylab="accident")
-## boxplot(arbre.tot$ori~arbre.tot$YEAR,ylab="accident")
-## boxplot(arbre.tot$lib~arbre.tot$YEAR,ylab="accident")
-## boxplot(arbre.tot$forme~arbre.tot$YEAR,ylab="accident")
-## boxplot(arbre.tot$tige~arbre.tot$YEAR,ylab="accident")
-## ### NEED TO USE ONLY THE TIGE == 1 in the ANALYSIS
-## boxplot(arbre.tot$sfgui~arbre.tot$YEAR,ylab="accident")
-## boxplot(arbre.tot$sfgeliv~arbre.tot$YEAR,ylab="accident")
-
-
-## ##### CHECK OTHER VARIABLE OK DONE
-## ### USE BRANCH MORTALITY AS AN INDICATOR OF MORTALITY ?? ABIOTIC STRESS ?
-
-## x11()
-## plot(arbre.tot$c13,arbre.tot$htot,col=unclass(factor(arbre.tot$YEAR)))
-
-save(arbre.tot,file="./data/process/arbre.tot.Rdata")
-
-
-
-#########################################
-###### DEAD
-#########################################
-
-
-##############################################################
-#############################################################
-## READ AND MERGE DEAD DATA
-### MERGE WITH DEAD TREE and MERGE WITH PLOT DATA!!
-
-### read DEAD TREE table downloaded from the web
-arbre_mort2005 <- read.csv("./data/raw/DataFrance/2005/arbres_morts_foret_2005.csv",sep=";"
-                           , stringsAsFactors=FALSE)
-## summary(arbre_mort2005)
-arbre_mort2006 <- read.csv("./data/raw/DataFrance/2006/arbres_morts_foret_2006.csv",sep=";"
-                           , stringsAsFactors=FALSE)
-## summary(arbre_mort2006)
-arbre_mort2007 <- read.csv("./data/raw/DataFrance/2007/arbres_morts_foret_2007.csv",sep=";"
-                           , stringsAsFactors=FALSE)
-## summary(arbre_mort2007)
-arbre_mort2008 <- read.csv("./data/raw/DataFrance/2008/arbres_morts_foret_2008.csv",sep=";"
-                           , stringsAsFactors=FALSE)
-## summary(arbre_mort2005)
-arbre_mort2009 <- read.csv("./data/raw/DataFrance/2009/arbres_morts_foret_2009.csv",sep=";"
-                           , stringsAsFactors=FALSE)
-## summary(arbre_mort2009)
-arbre_mort2010 <- read.csv("./data/raw/DataFrance/2010/arbres_morts_foret_2010.csv",sep=";"
-                           , stringsAsFactors=FALSE)
-## summary(arbre_mort2010)
-arbre_mort2011 <- read.csv("./data/raw/DataFrance/2011/arbres_morts_foret_2011.csv",sep=";"
-                           , stringsAsFactors=FALSE)
-
-## names(arbre_mort2005)
-## names(arbre_mort2006)
-## names(arbre_mort2007)
-## names(arbre_mort2008)
-## names(arbre_mort2009)
-## names(arbre_mort2010)
-## names(arbre_mort2011)
-
-### merge 2005 2006 2007 to compute c13
-
-arbre_mort05_07 <- rbind(arbre_mort2005, arbre_mort2006, arbre_mort2007)
-arbre_mort05_07$c13 <- rep(NA,length(arbre_mort05_07$c0))
-arbre_mort05_07$espar2 <- as.numeric(substr(arbre_mort05_07$espar,1,2))
-arbre_mort05_07$year <-  c(rep(2005,length=length(arbre_mort2005[,1])),
-                           rep(2006,length=length(arbre_mort2006[,1])),
-                           rep(2007,length=length(arbre_mort2007[,1])))
-
-#### NEED TO CONVERT c0 into c13 before 2008
-### before 2008 no date dead but all tree died less than 5 years ago.
-### need to do convertion between c0 and c13.
-## for that use the NFI data from previous inventory that were reporting both c0 and c13 for all species
-## fit an allometric relationship and then use it to predict c13 in this data base
-
-### READ DATA CYCLE 3 ORGINAL /// NEED TO CONVERT C0 and C13 in cm *100
-arbre.cycle3 <- read.table("./data/raw/DataFrance/cycle3/data.arbre.tot.txt",sep=" ", stringsAsFactors=FALSE)
-### change the C from m to cm
-arbre.cycle3$C0 <- arbre.cycle3$C0*100
-arbre.cycle3$C13 <- arbre.cycle3$C13*100
-
-
-## LOAD library RMA regression
-library(lmodel2)
-
-
-## the regression between C13 and C0 vary between species, but not same species in cycle 3 because less details (the classification is only based on number and no letters
-## remove the letters and apply the same model to all species that have the same number code
-species.list <- c(as.numeric(names(table(substr(arbre_mort05_07$espar,1,2))))[-1])
-## length(table(arbre.cycle3$ESS))
-
-for (i in species.list)
-{
-if (sum(arbre.cycle3$ESS==i)>50)
-  {
-lmodel2.res <- lmodel2(C13~C0 ,data=arbre.cycle3[arbre.cycle3$ESS==i,],range.x="relative",range.y="relative")
-arbre_mort05_07$c13[arbre_mort05_07$espar2==i & !is.na(arbre_mort05_07$espar2)] <-
- lmodel2.res$regression.results[4,2] + arbre_mort05_07$c0[arbre_mort05_07$espar2==i &
-                                                          !is.na(arbre_mort05_07$espar2)]*lmodel2.res$regression.results[4,3]
-print(i)
-print(lmodel2.res$regression.results[4,2:3])
-print(range(arbre_mort05_07$c13[arbre_mort05_07$espar2==i &
-                                !is.na(arbre_mort05_07$espar2)],na.rm=T))
-  }
-else
-  {
-lmodel2.res <- lmodel2(C13~C0 ,data=arbre.cycle3,range.x="relative",range.y="relative")
-arbre_mort05_07$c13[arbre_mort05_07$espar2==i & !is.na(arbre_mort05_07$espar2)] <-
- lmodel2.res$regression.results[4,2] + arbre_mort05_07$c0[arbre_mort05_07$espar2==i &
-                                                          !is.na(arbre_mort05_07$espar2)]*lmodel2.res$regression.results[4,3]
-print(i)
-print(lmodel2.res$regression.results[4,2:3])
-print(range(arbre_mort05_07$c13[arbre_mort05_07$espar2==i & !is.na(arbre_mort05_07$espar2)],na.rm=T))
-
-  }  
-}  
-
-### for species with NO DATA in cycle 3 apply mean model over all species
-lmodel2.res <- lmodel2(C13~C0 ,data=arbre.cycle3,range.x="relative",range.y="relative")
-arbre_mort05_07$c13[is.na(arbre_mort05_07$espar2)] <-
- lmodel2.res$regression.results[4,2] + arbre_mort05_07$c0[is.na(arbre_mort05_07$espar2)]*lmodel2.res$regression.results[4,3]
-
-## check predicted C13 from C0
-head(cbind(arbre_mort05_07$c13,arbre_mort05_07$c0,arbre_mort05_07$espar) )
-
-### ok donne c13 added
-
-########################
-## MERGE WITH other dead data
-
-arbre_mort_tot <- data.frame(idp=c(arbre_mort05_07$idp,arbre_mort2008$idp,arbre_mort2009$idp,arbre_mort2010$idp,arbre_mort2011$idp),
-                             a=c(arbre_mort05_07$a,arbre_mort2008$a,arbre_mort2009$a,arbre_mort2010$a,arbre_mort2011$a),
-                             espar=c(as.character(arbre_mort05_07$espar),as.character(arbre_mort2008$espar),as.character(arbre_mort2009$espar),
-                                 as.character(arbre_mort2010$espar),as.character(arbre_mort2011$espar)),
-                             ori=c(arbre_mort05_07$ori,arbre_mort2008$ori,arbre_mort2009$ori,arbre_mort2010$ori,arbre_mort2011$ori),
-                             veget=c(arbre_mort05_07$veget,arbre_mort2008$veget,arbre_mort2009$veget,arbre_mort2010$veget,arbre_mort2011$veget),
-                             datemort=c(rep(NA,length(arbre_mort05_07$ori)),arbre_mort2008$datemort,arbre_mort2009$datemort,arbre_mort2010$datemort
-                                 ,arbre_mort2011$datemort),
-                             c13=c(arbre_mort05_07$c13,arbre_mort2008$c13,arbre_mort2009$c13,arbre_mort2010$c13,arbre_mort2011$c13),
-                             v=c(arbre_mort05_07$v,arbre_mort2008$v,arbre_mort2009$v,arbre_mort2010$v,arbre_mort2011$v),
-                             w=c(arbre_mort05_07$w,arbre_mort2008$w,arbre_mort2009$w,arbre_mort2010$w,arbre_mort2011$w),
-                             YEAR=c(rep(2005,length(arbre_mort2005$idp)),rep(2006,length(arbre_mort2006$idp)),rep(2007,length(arbre_mort2007$idp))
-                                 ,rep(2008,length(arbre_mort2008$idp)),rep(2009,length(arbre_mort2009$idp)),rep(2010,length(arbre_mort2010$idp))
-                                 ,rep(2011,length(arbre_mort2011$idp)))
-                             )
-rm(arbre.cycle3,arbre_mort2005,arbre_mort2006,arbre_mort2007,arbre_mort2008,arbre_mort2009,arbre_mort2010,arbre_mort2011)
-gc()
-
-save(arbre_mort_tot,file="./data/process/arbre_mort_tot.Rdata")
-
-
-
-################################################################################
-#### MERGE DEAD AND ALIVE TREE 
-
-
-head(arbre_mort_tot)
-head(arbre.tot)
-
-arbre.ALIVE.DEAD <-  data.frame(
-  idp=c(arbre.tot$idp,arbre_mort_tot$idp),
-  a=c(arbre.tot$a,arbre_mort_tot$a),
-  veget=c(arbre.tot$veget,arbre_mort_tot$veget),
-  simplif=c(arbre.tot$simplif,rep(NA,length=length(arbre_mort_tot$idp))),
-  acci=c(arbre.tot$acci,rep(NA,length=length(arbre_mort_tot$idp))),
-  espar=c(as.character(arbre.tot$espar),as.character(arbre_mort_tot$espar)),
-  ori=c(arbre.tot$ori,arbre_mort_tot$ori),
-  lib=c(arbre.tot$lib,rep(NA,length=length(arbre_mort_tot$idp))),
-  forme=c(arbre.tot$forme,rep(NA,length=length(arbre_mort_tot$idp))),
-  tige=c(arbre.tot$tige,rep(NA,length=length(arbre_mort_tot$idp))),
-  mortb=c(arbre.tot$mortb,rep(NA,length=length(arbre_mort_tot$idp))),
-  sfgui=c(arbre.tot$sfgui,rep(NA,length=length(arbre_mort_tot$idp))),
-  sfgeliv=c(arbre.tot$sfgeliv,rep(NA,length=length(arbre_mort_tot$idp))),
-  sfpied=c(arbre.tot$sfpied,rep(NA,length=length(arbre_mort_tot$idp))),
-  sfdorge=c(arbre.tot$sfdorge,rep(NA,length=length(arbre_mort_tot$idp))),
-  sfcoeur=c(arbre.tot$sfcoeur,rep(NA,length=length(arbre_mort_tot$idp))),
-  c13=c(arbre.tot$c13,arbre_mort_tot$c13),
-  ir5=c(arbre.tot$ir5,rep(NA,length=length(arbre_mort_tot$idp))),
-  htot=c(arbre.tot$htot,rep(NA,length=length(arbre_mort_tot$idp))),
-  hdec=c(arbre.tot$hdec,rep(NA,length=length(arbre_mort_tot$idp))),
-  decoupe=c(arbre.tot$decoupe,rep(NA,length=length(arbre_mort_tot$idp))),
-  q1=c(arbre.tot$q1,rep(NA,length=length(arbre_mort_tot$idp))),
-  q2=c(arbre.tot$q2,rep(NA,length=length(arbre_mort_tot$idp))),
-  q3=c(arbre.tot$q3,rep(NA,length=length(arbre_mort_tot$idp))),
-  r=c(arbre.tot$r,rep(NA,length=length(arbre_mort_tot$idp))),
-  lfsd=c(arbre.tot$lfsd,rep(NA,length=length(arbre_mort_tot$idp))),
-  age=c(arbre.tot$age,rep(NA,length=length(arbre_mort_tot$idp))),
-  v=c(arbre.tot$v,arbre_mort_tot$v),
-  w=c(arbre.tot$w,rep(10000/(pi*(c(15))^2),length=length(arbre_mort_tot$w))),## assume that all dead tree are sampled on the whole plot as explained in the method
-  YEAR=c(arbre.tot$YEAR,arbre_mort_tot$YEAR),
-  datemort=c(rep(NA,length=length(arbre.tot$YEAR)),arbre_mort_tot$datemort),
-  dead=c(rep(0,length=length(arbre.tot$YEAR)),rep(1,length=length(arbre_mort_tot$idp))))## 1 = dead
-
-## delete plot with DEAD tree missing because of no C13 or no espar
-arbre.ALIVE.DEAD2 <- arbre.ALIVE.DEAD[!(arbre.ALIVE.DEAD$idp %in% unique(c(names(tapply(is.na(arbre.ALIVE.DEAD$c13),
-                                      INDEX=arbre.ALIVE.DEAD$idp,FUN=sum))[tapply(is.na(arbre.ALIVE.DEAD$c13),INDEX=arbre.ALIVE.DEAD$idp,FUN=sum)>0],
-                                      names(tapply(is.na(arbre.ALIVE.DEAD$espar),INDEX=arbre.ALIVE.DEAD$idp,FUN=sum))[tapply(is.na(arbre.ALIVE.DEAD$espar),
-                                      INDEX=arbre.ALIVE.DEAD$idp,FUN=sum)>0]))),]
-
-save(arbre.ALIVE.DEAD2,file='./data/process/arbre.ALIVE.DEAD2.Rdata')
-
-
-########################################################################################
-#########################################
-#########################################
-#########################################
-##### LOAD DATA FOR PLOT INFO
-### read DEAD TREE table downloaded from the web
-placette2005 <- read.csv("./data/raw/DataFrance/2005/placettes_foret_2005.csv",sep=";"
-                         , stringsAsFactors=FALSE)
-## summary(placette2005)
-placette2006 <- read.csv("./data/raw/DataFrance/2006/placettes_foret_2006.csv",sep=";"
-                         , stringsAsFactors=FALSE)
-## summary(placette2006)
-placette2007 <- read.csv("./data/raw/DataFrance/2007/placettes_foret_2007.csv",sep=";"
-                         , stringsAsFactors=FALSE)
-## summary(placette2007)
-placette2008 <- read.csv("./data/raw/DataFrance/2008/placettes_foret_2008.csv",sep=";"
-                         , stringsAsFactors=FALSE)
-## summary(placette2005)
-placette2009 <- read.csv("./data/raw/DataFrance/2009/placettes_foret_2009.csv",sep=";"
-                         , stringsAsFactors=FALSE)
-## summary(placette2009)
-placette2010 <- read.csv("./data/raw/DataFrance/2010/placettes_foret_2010.csv",sep=";"
-                         , stringsAsFactors=FALSE)
-## summary(placette2010)
-placette2011 <- read.csv("./data/raw/DataFrance/2011/placettes_foret_2011.csv",sep=";"
-                         , stringsAsFactors=FALSE)
-
-## names(placette2005)
-## ## uta -> uta1
-## ## sfo NA
-## ## plisi NA
-## names(placette2006)
-## ## plisi NA
-## names(placette2007)
-## ## dcespar1 dcespar2 tpespar1 tpespar2 iti pentexp  NA
-## ## deleted acces
-## names(placette2008)
-## ## gest incid peupnr portance asperite
-## names(placette2009)
-## names(placette2010)
-## names(placette2011)
-
-placette2005$tplant <-  as.character(placette2005$tplant)
-placette2005$tplant[placette2005$tplant==""] <-0 
-placette2006$tplant[placette2006$tplant==""] <-0 
-
-
-
-### for selection of plot use plisi=0 dc=0 tplant=0
-## incid indicateur d incident récent utilisé ou pas ?? avec ou sans perturbatrion naturelle
-
-placette_tot  <-data.frame(idp=c(placette2005$idp,placette2006$idp,placette2007$idp,placette2008$idp,placette2009$idp,placette2010$idp,
-                               placette2011$idp),
-                           xl93=c(placette2005$xl93,placette2006$xl93,placette2007$xl93,placette2008$xl93,placette2009$xl93,placette2010$xl93,
-                               placette2011$xl93),
-                           yl93=c(placette2005$yl93,placette2006$yl93,placette2007$yl93,placette2008$yl93,placette2009$yl93,placette2010$yl93,
-                               placette2011$yl93),
-                           dep=c(placette2005$dep,placette2006$dep,placette2007$dep,placette2008$dep,placette2009$dep,placette2010$dep,
-                               placette2011$dep),
-                           csa=c(placette2005$csa,placette2006$csa,placette2007$csa,placette2008$csa,placette2009$csa,placette2010$csa,
-                               placette2011$csa),
-                           plisi=c(rep(NA,length(placette2005$tm2)),rep(NA,length(placette2006$idp)),placette2007$plisi,placette2008$plisi,
-                               placette2009$plisi,placette2010$plisi,placette2011$plisi),
-                           uta1=c(placette2005$uta,placette2006$uta1,placette2007$uta1,placette2008$uta1,placette2009$uta1,placette2010$uta1,
-                               placette2011$uta1),
-                           tm2=c(placette2005$tm2,placette2006$tm2,placette2007$tm2,placette2008$tm2,placette2009$tm2,placette2010$tm2,
-                               placette2011$tm2),
-                           sfo=c(rep(NA,length(placette2005$tm2)),placette2006$sfo,placette2007$sfo,placette2008$sfo,placette2009$sfo,
-                               placette2010$sfo,placette2011$sfo),
-                           incid=c(rep(NA,length(placette2005$idp)),rep(NA,length(placette2006$idp)),rep(NA,length(placette2007$idp)),
-                               rep(NA,length(placette2008$idp)),placette2009$incid,placette2010$incid,placette2011$incid),
-                           dc=c(placette2005$dc,placette2006$dc,placette2007$dc,placette2008$dc,placette2009$dc,placette2010$dc,placette2011$dc),
-                           tplant=c(placette2005$tplant,placette2006$tplant,placette2007$tplant,placette2008$tplant,placette2009$tplant,
-                               placette2010$tplant,placette2011$tplant),
-                           esspre=c(placette2005$esspre,placette2006$esspre,placette2007$esspre,placette2008$esspre,placette2009$esspre,
-                               placette2010$esspre,placette2011$esspre),
-                           cac=c(placette2005$cac,placette2006$cac,placette2007$cac,placette2008$cac,placette2009$cac,placette2010$cac,
-                               placette2011$cac),
-                           ess_age_1=c(placette2005$ess_age_1,placette2006$ess_age_1,placette2007$ess_age_1,placette2008$ess_age_1,
-                               placette2009$ess_age_1,placette2010$ess_age_1,placette2011$ess_age_1),
-                           YEAR=c(rep(2005,length(placette2005$idp)),rep(2006,length(placette2006$idp)),rep(2007,length(placette2007$idp)),
-                               rep(2008,length(placette2008$idp)),rep(2009,length(placette2009$idp)),rep(2010,length(placette2010$idp)),
-                               rep(2011,length(placette2011$idp))))
-
-rm(placette2005,placette2006,placette2007,placette2008,placette2009,placette2010,placette2011)
-
-
-save(placette_tot,file="./data/process/placette_tot.Rdata")
-
-#####################################
-## LOAD elevation data
-##### LOAD ALTITUDE DATA
-## load("./data/process/placette_tot.Rdata")
-alti <- read.csv("./data/raw/DataFrance/altitude/SER_alti.csv",header=T,sep=";", stringsAsFactors=FALSE)
-alti2011 <- read.csv("./data/raw/DataFrance/altitude/SER_alti_2011.csv",header=T,sep=";",stringsAsFactors=FALSE)
-names(alti2011) <- names(alti)
-alti.tot <- rbind(alti,alti2011)
-
-## sum( placette_tot$idp %in% alti.tot$IDP)/length(placette_tot$idp)
-## table(placette_tot$YEAR[! placette_tot$idp %in% alti.tot$IDP])
-
-placette_tot.alti <-  merge(placette_tot,alti.tot,by.x="idp",by.y="IDP")
-
-### write csv file for Piedallu
-write.csv(placette_tot.alti,"./data/process/placette_tot.alti.csv")
-
-### write new fiel for 2011
-write.csv(placette_tot.alti[placette_tot.alti$YEAR==2011,],"./data/process/placette_tot.alti.2011.csv")
-
-
-#########################################
-#########################################
-#########################################
-##### LOAD DATA ECOLOGIE
-### read DEAD TREE table downloaded from the web
-ecologie2005 <- read.csv("./data/raw/DataFrance/2005/ecologie_2005.csv",sep=";", stringsAsFactors=FALSE)
-## summary(ecologie2005)
-ecologie2006 <- read.csv("./data/raw/DataFrance/2006/ecologie_2006.csv",sep=";", stringsAsFactors=FALSE)
-## summary(ecologie2006)
-ecologie2007 <- read.csv("./data/raw/DataFrance/2007/ecologie_2007.csv",sep=";", stringsAsFactors=FALSE)
-## summary(ecologie2007)
-ecologie2008 <- read.csv("./data/raw/DataFrance/2008/ecologie_2008.csv",sep=";", stringsAsFactors=FALSE)
-## summary(ecologie2005)
-ecologie2009 <- read.csv("./data/raw/DataFrance/2009/ecologie_2009.csv",sep=";", stringsAsFactors=FALSE)
-## summary(ecologie2009)
-ecologie2010 <- read.csv("./data/raw/DataFrance/2010/ecologie_2010.csv",sep=";", stringsAsFactors=FALSE)
-## summary(ecologie2010)
-ecologie2011 <- read.csv("./data/raw/DataFrance/2011/ecologie_2011.csv",sep=";", stringsAsFactors=FALSE)
-
-
-ecologie_tot <- rbind(ecologie2005,ecologie2006,ecologie2007,ecologie2008,ecologie2009,ecologie2010,ecologie2011)                     
-head(ecologie_tot)
-rm(ecologie2005,ecologie2006,ecologie2007,ecologie2008,ecologie2009,ecologie2010,ecologie2011)
-
-save(ecologie_tot,file="./data/process/ecologie_tot.Rdata")
-
-
-
diff --git a/merge.data.FRANCE.R b/merge.data.FRANCE.R
index 9b46dcb6e29cf8f7023fef5ff8a19b6c07e002e0..0721aec5c5b9f57b845685ce4bfc5cdc9f2d7093 100644
--- a/merge.data.FRANCE.R
+++ b/merge.data.FRANCE.R
@@ -3,6 +3,8 @@
 #############################################
 ### MERGE FRENCH DATA
 source("./R/format.function.R")
+## source("./R/READ.DATA.NFI.FRANCE.R") need to be run if no already doen (long ...)
+## source("./R/CLIMATE.FRANCE.R")
 
 ###########################################################################
 ######################### READ DATA
diff --git a/species.list.R b/species.list.R
index 9a2a677bef4acbd903562cd481660f109c0a047e..1b229c7c99f89e02897a2764515af7249689d5ee 100644
--- a/species.list.R
+++ b/species.list.R
@@ -5,7 +5,7 @@
 
 #################################
 #################################
-#### READ SPECIES LIST I HAVE FOR NOW FOR EACH SITES NON TROPICAL
+#### READ SPECIES LIST I HAVE NOW FOR EACH SITES NON TROPICAL
 #### (ASSUMING THAT TROPICAL SITES COMES WITH TRAITS DATA
 
 #############################3