Commit e9c709ce authored by Georges Kunstler's avatar Georges Kunstler
Browse files

update metadata fix #82 and fix climate issue in Canada fix #85

parent 803219a5
......@@ -8,6 +8,8 @@ traits <- c("SLA", "Wood.density","Max.height")
type.filling <- 'species'
files <- c()
for (trait in traits){
for (biome in c('Temperate rain forest', 'Temperate grassland desert', 'Tropical rain forest', 'Tropical forest savanna', 'Boreal forest', 'Woodland shrubland', 'Temperate forest')){
for(model in c(model.files.lmer.Tf.1,
model.files.lmer.Tf.2,
model.files.lmer.Tf.3,
......@@ -17,9 +19,11 @@ for (trait in traits){
model.obj <- load.model()
pathout <- output.dir('lmer', model.obj$name, trait, 'all.no.log',
type.filling=type.filling)
name.file <- paste('ecocode.id', gsub(' ', '_',biome),
"results.nolog.all.rds", sep ='.')
files <- c(files,file.path(pathout,"ecocode.id.results.nolog.all.rds"))
files <- c(files,file.path(pathout,name.file))
}
}
}
......
#!/usr/bin/env Rscript
source("R/analysis/lmer.output-fun.R")
source("R/analysis/lmer.run.R")
## LOOP OVER FILES AND NOT SCAN ALL FILES
traits <- c("SLA", "Wood.density","Max.height")
type.filling <- 'species'
files <- c()
for (trait in traits){
for (biome in c('Temperate rain forest', 'Temperate grassland desert', 'Tropical rain forest', 'Tropical forest savanna', 'Boreal forest', 'Woodland shrubland', 'Temperate forest')){
for(model in c(model.files.lmer.Tf.1)){
source(model, local = TRUE)
model.obj <- load.model()
pathout <- output.dir('lmer', model.obj$name, trait, 'all.no.log',
type.filling=type.filling)
name.file <- paste('ecocode.id', gsub(' ', '_',biome),
"results.nolog.all.rds", sep ='.')
files <- c(files,file.path(pathout,name.file))
}
}
}
out <- lapply(files, summarise.lmer.output.all.list)
names(out) <- lapply(lapply(files,files.details.all),
function(x) paste(as.vector(x[names(x) != 'file']),
collapse="_"))
### remove missing
out <- out[!unlist(lapply(out,FUN=function(x) is.null(x$lmer.summary)))]
saveRDS(out,file='output/list.lmer.out.all.ecocode.id.biomesno.log.rds')
......@@ -342,10 +342,10 @@ segments( x - small.bar, unlist(y - 1.96*sd), x + small.bar , unlist(y -1.96*
segments( x - small.bar, unlist(y + 1.96*sd), x + small.bar, unlist(y +1.96*sd))
}
fun.plot.error.bar.horiz <- function(x, y, sd, small.bar = (max(x) - min(x))/40){
segments( unlist(x - 1.96*sd), y, unlist(x +1.96*sd), y)
segments( unlist(x - 1.96*sd), y-small.bar, unlist(x -1.96*sd), y+small.bar)
segments( unlist(x + 1.96*sd), y-small.bar, unlist(x +1.96*sd), y+small.bar)
fun.plot.error.bar.horiz <- function(x, y, sd, small.bar = (max(x) - min(x))/40, ...){
segments( unlist(x - 1.96*sd), y, unlist(x +1.96*sd), y, ...)
segments( unlist(x - 1.96*sd), y-small.bar, unlist(x -1.96*sd), y+small.bar, ...)
segments( unlist(x + 1.96*sd), y-small.bar, unlist(x +1.96*sd), y+small.bar, ...)
}
......@@ -912,8 +912,9 @@ for (i in traits){
fun.plot.error.bar.horiz(param.mean[param.print],
(1:length(param.vec))[param.print],
param.std[param.print])
seq.jitter <- seq(-10,10, length.out = nrow(param.BLUP))/120
for (j in 1:length(param.vec)){
points(param.BLUP[,param.vec[j]], rep(j,nrow(param.BLUP)),
points(param.BLUP[,param.vec[j]], seq.jitter+rep(j,nrow(param.BLUP)),
pch = pch.vec[rownames(param.BLUP)],
col = col.vec[rownames(param.BLUP)],
cex= 1)
......@@ -923,7 +924,66 @@ par(mar=c(0, 0, 0, 0))
plot(1,1,type="n", axes=F, xlab="", ylab="")
legend("center",legend = names.bio, col = col.vec, pch = pch.vec,
bty = 'n', cex = 1)
}
plot.param.BLUP2 <- function(list.res,
model = 'lmer.LOGLIN.ER.AD.Tf',
traits = c('Wood.density', 'SLA', 'Max.height'),
param.vec = c("Tf","sumBn", "sumTnBn",
"sumTfBn", "sumTnTfBn.abs"),
param.names = c('Direct trait',
'Compet',
'Compet effect x trait',
'Compet response x trait',
'Compet x trait dissimilarity'),
param.print = 1:5,
col.names = c('#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00') ,
col.vec,
pch.vec,
names.bio){
m <- matrix(c(1:3), 1, 3)
layout(m, widths=c(5.3, 2.39, 2.39 )/10,
heights=c(4)/10)
for (i in traits){
list.temp <- list.res[[paste("all.no.log_", i ,
"_species_", model,
sep = '')]]$lmer.summary
param.mean <- list.temp$fixed.coeff.E[param.vec]
param.std <- list.temp$fixed.coeff.Std.Error
names(param.std) <- names(list.temp$fixed.coeff.E)
param.std <- param.std[param.vec]
param.BLUP <- list.temp$set.BLUP
if(i == traits[1]) {
par(mar=c(6,22,3,0))
}else{
par(mar=c(6,0,3,0))
}
plot(param.mean[param.print], (1:length(param.vec))[param.print],
yaxt = 'n', xlab = paste('Effect size '), ylab = NA,
xlim = c(-0.45, 0.25) , pch = 16 , cex = 2, cex.lab = 1.5,
ylim = range(1:length(param.vec)))
mtext(i, side=3, cex =1.2)
box(lwd= 2)
abline(v = 0)
if(i == traits[1]) {lapply(1:length(param.vec),
fun.axis.one.by.one,
side = 2,
labels = param.names,
cols.vec = col.names)
}
fun.plot.error.bar.horiz(param.mean[param.print],
(1:length(param.vec))[param.print],
param.std[param.print])
seq.jitter <- seq(-10,10, length.out = nrow(param.BLUP))/120
for (j in 1:length(param.vec)){
points(param.BLUP[,param.vec[j]], seq.jitter+rep(j,nrow(param.BLUP)),
pch = pch.vec[rownames(param.BLUP)],
col = col.vec[rownames(param.BLUP)],
cex= 1)
}
}
}
plot.param <- function(list.res,
......@@ -979,49 +1039,139 @@ for (i in traits){
plot.param.biomes <- function(list.res,
biomes.mat ,
biomes = c("Temperate rain forest",
"Tropical rain forest", "Tropical forest savanna",
"Boreal forest", "Woodland shrubland",
"Temperate forest") ,
traits = c('Wood.density', 'SLA', 'Max.height'),
param.vec = c("Tf", "sumTnBn",
"sumTfBn", "sumTnTfBn.abs"),
param.names = c('Direct trait',
'Compet effect x trait',
'Compet response x trait',
'Compet x trait dissimilarity'),
param.print = 1:5,
col.names = c('#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00') ,
col.vec,
pch.vec,
names.bio){
m <- matrix(c(1:4), 1, 4)
layout(m, widths=c(5.3, 2, 2 ,2)/10,
heights=c(4)/10)
for (i in traits){
for (biome in biomes){
list.temp <- list.res[[(1:length(list.res))[biomes.mat[, 'biome'] == biome &
biomes.mat[, 'trait'] == i]]]$lmer.summary
param.mean <- list.temp$fixed.coeff.E[param.vec]
param.std <- list.temp$fixed.coeff.Std.Error
names(param.std) <- names(list.temp$fixed.coeff.E)
param.std <- param.std[param.vec]
param.BLUP <- list.temp$set.BLUP
if(i == traits[1]) {
par(mar=c(6,22,3,0))
}else{
par(mar=c(6,0,3,0))
}
seq.jitter <- seq(-10,10, length.out = length(biomes))/120
if(biome == biomes[1]){
plot(param.mean[param.print], seq.jitter[biomes == biome]+(1:length(param.vec))[param.print],
yaxt = 'n', xlab = paste('Effect size '), ylab = NA,
xlim = c(-0.45, 0.25) , pch = 16 , cex = 2, cex.lab = 1.5,
ylim = range(1:length(param.vec)),
col = col.vec[biome])}
if(!biome == biomes[1]){
points(param.mean[param.print], seq.jitter[biomes == biome] + (1:length(param.vec))[param.print],
col = col.vec[biome], , pch = 16 , cex = 2)}
plot.param.BLUP2 <- function(list.res, model = 'lmer.LOGLIN.ER.AD.Tf',
traits = c('Wood.density', 'SLA', 'Max.height'), param.vec = c("logD",
"Tf","sumBn", "sumTnBn", "sumTfBn", "sumTnTfBn.abs"), col.vec,
pch.vec){
m <- matrix(c(1:4,5,5), 2, 3)
layout(m, widths=c(4, 4, 1),
heights=c(4, 4))
for (i in traits){
list.temp <-
list.res[[paste("all.no.log_", i , "_species_", model, sep =
'')]]$lmer.summary
param.mean2 <- list.temp$fixed.coeff.E[param.vec]
param.mean <- rep(0, length(param.mean2))
param.std <-
list.temp$fixed.coeff.Std.Error
names(param.std) <-
names(list.temp$fixed.coeff.E)
param.std <- param.std[param.vec]
param.BLUP <- list.temp$set.BLUP
plot(param.mean, xaxt = 'n', ylab =
'std parameters', xlab = NA, main = i, ylim =
range(t(param.BLUP[names(pch.vec[!is.na(pch.vec)]),param.vec ]) -
param.mean2))
abline(h = 0)
axis(1, 1:length(param.vec), labels =
param.vec, las = 3)
for (j in 1:length(param.vec)){
points(rep(j,nrow(param.BLUP)), param.BLUP[,param.vec[j]] -
param.mean2[j], pch = pch.vec[rownames(param.BLUP)], col =
col.vec[rownames(param.BLUP)], cex= 1)
mtext(i, side=3, cex =1.2)
box(lwd= 2)
abline(v = 0)
if(i == traits[1]) {lapply(1:length(param.vec),
fun.axis.one.by.one,
side = 2,
labels = param.names,
cols.vec = col.names)
}
fun.plot.error.bar.horiz(param.mean[param.print],
(1:length(param.vec))[param.print]+seq.jitter[biomes == biome],
param.std[param.print], col = col.vec[biome])
}
}
par(mar=c(0, 0, 0, 0))
plot(1,1,type="n", axes=F, xlab="", ylab="")
legend("center",legend = biomes, col = col.vec[biomes], lty =1, lwd = 2,
bty = 'n', cex = 1)
}
plot.param.biomes2 <- function(list.res,
biomes.mat ,
biomes = c("Temperate rain forest",
"Tropical rain forest", "Tropical forest savanna",
"Boreal forest", "Woodland shrubland",
"Temperate forest") ,
traits = c('Wood.density', 'SLA', 'Max.height'),
param.vec = c( "sumTnTfBn.abs"),
param.names = c('Compet x trait dissimilarity'),
param.print = 1:5,
col.names = c('#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00') ,
col.vec,
pch.vec,
names.bio){
m <- matrix(c(1:4), 1, 4)
layout(m, widths=c(5.3, 2, 2 ,2)/10,
heights=c(4)/10)
for (i in traits){
for (biome in biomes){
list.temp <- list.res[[(1:length(list.res))[biomes.mat[, 'biome'] == biome &
biomes.mat[, 'trait'] == i]]]$lmer.summary
param.mean <- list.temp$fixed.coeff.E[param.vec]
param.std <- list.temp$fixed.coeff.Std.Error
names(param.std) <- names(list.temp$fixed.coeff.E)
param.std <- param.std[param.vec]
param.BLUP <- list.temp$set.BLUP
seq.jitter <- seq(-10,10, length.out = length(biomes))/80
if(i == traits[1]) {
par(mar=c(6,22,3,0))
}else{
par(mar=c(6,0,3,0))
}
if(biome == biomes[1]){
plot(param.mean[param.print], (1:length(param.vec))[param.print]+seq.jitter[biomes == biome],
yaxt = 'n', xlab = paste('Effect size '), ylab = NA,
xlim = c(-0.02, 0.15) , pch = 16 , cex = 2, cex.lab = 1.5,
ylim = range(1:length(param.vec)),
col = col.vec[biome])}
if(!biome == biomes[1]){
points(param.mean[param.print], (1:length(param.vec))[param.print]+seq.jitter[biomes == biome],
col = col.vec[biome], , pch = 16 , cex = 2)}
mtext(i, side=3, cex =1.2)
box(lwd= 2)
abline(v = 0)
if(i == traits[1]) {lapply(1:length(param.vec),
fun.axis.one.by.one,
side = 2,
labels = param.names,
cols.vec = col.names)
}
fun.plot.error.bar.horiz(param.mean[param.print],
(1:length(param.vec))[param.print]+seq.jitter[biomes == biome],
param.std[param.print], col = col.vec[biome])
}
}
par(mar=c(0, 0, 0, 0))
plot(1,1,type="n", axes=F, xlab="", ylab="")
legend("center",legend = names(col.vec)[!is.na(pch.vec)],
col = col.vec[!is.na(pch.vec)],
pch = pch.vec[!is.na(pch.vec)],
bty = 'n')
legend("center",legend = biomes, col = col.vec[biomes], lty =1, lwd = 2,
bty = 'n', cex = 1.2)
}
##
......
......@@ -55,12 +55,12 @@ fun.call.lmer.and.save <- function(formula, df.lmer, path.out,
lmer.output <- lmer(formula = formula, data = df.lmer, REML = FALSE,
control = lmerControl(optCtrl = list(maxfun = 40000) ) )
print(summary(lmer.output))
if(!is.na(select.biome)){
if(is.na(select.biome)){
name.file <- paste(var.sample,
"results.nolog.all.rds", sep ='.')
}
if(is.na(select.biome)){
name.file <- paste(var.sample,select.biome,
if(!is.na(select.biome)){
name.file <- paste(var.sample, gsub(' ', '_',select.biome),
"results.nolog.all.rds", sep ='.')
}
saveRDS(lmer.output, file = file.path(path.out, name.file))
......@@ -141,6 +141,7 @@ if(!is.na(select.biome.)) {
df <- df[df$biomes.id == select.biome., ]
}
if(!is.na(sample.size.)){
if(sample.size. >nrow(df)){ sample.size. <- nrow(df)}
df <- add.sampling.prob.by.var.sample(df, var.sample = var.sample.)
df <- df[sample(1:nrow(df), size = sample.size.,
prob = df$prob.sample), ]
......
......@@ -6,14 +6,15 @@
},
"agreement": "Census data obtained via data request from at https://ctfs.arnarb.harvard.edu/webatlas/datasets/bci/ under following agreement:\n\n * do not share the BCI data with other parties not included on the Request for Data Access Proposal.\n * Publications using BCI data should include the following citations:\n\t - Hubbell, S.P., Condit, R., and Foster, R.B. 2005. Barro Colorado Forest Census Plot Data. URL https://ctfs.arnarb.harvard.edu/webatlas/datasets/bci.\n\t - Condit, R. 1998. Tropical Forest Census Plots. Springer-Verlag and R. G. Landes Company, Berlin, Germany, and Georgetown, Texas. - Hubbell, S.P., R.B. Foster, S.T. O'Brien, K.E. Harms, R. Condit, B. Wechsler, S.J. Wright, and S. Loo de Lao. 1999. Light gap disturbances, recruitment limitation, and tree diversity in a neotropical forest. Science 283: 554-557. \n * Copies of articles should be sent to the BCI PIs prior to submission. Unless stated otherwise, the PIs will not be involved as collaborators, but reserve the right to request authorship. Once published, any manuscript making use of the BCI data should be sent to the PIs. \n * Publications should also include an acknowledgement of the support of the Center for Tropical Forest Science of the Smithsonian Tropical Research Institute and the primary granting agencies that have supported the BCI plot: *'The BCI forest dynamics research project was made possible by National Science Foundation grants to Stephen P. Hubbell: DEB-0640386, DEB-0425651, DEB-0346488, DEB-0129874, DEB-00753102, DEB-9909347, DEB-9615226, DEB-9615226, DEB-9405933, DEB-9221033, DEB-9100058, DEB-8906869, DEB-8605042, DEB-8206992, DEB-7922197, support from the Center for Tropical Forest Science, the Smithsonian Tropical Research Institute, the John D. and Catherine T. MacArthur Foundation, the Mellon Foundation, the Small World Institute Fund, and numerous private individuals, and through the hard work of over 100 people from 10 countries over the past two decades. The plot project is part the Center for Tropical Forest Science, a global network of large-scale demographic tree plots.'*\n\n Trait data supplied by Joe Wright under following agreement: 'Please use the data! Please cite Wright et al. (2010, Ecology 91: 3664-3674).'",
"dataset":{
"name": "Barro colorado island, 50 ha plot",
"name": "BCI Panama dat awith both Barro colorado island, 50 ha plot ansd the 40 0.5ha plots used in Condit et al. 2013 PNAS",
"country": "Panama",
"climate": "Tropical",
"vegetation type": "Tropical rain forest",
"latitude": 9.1543,
"longitude": -79.8461,
"latitude": ,
"longitude": ,
"minimum tree size": "1cm dbh",
"history": "Barro Colorado Island (BCI) is a 1600 ha former hilltop in central Panama that became an island when the Chagres River was dammed, creating the main reservoir of water for the Panama Canal. The climate of BCI is strongly seasonal, with a four month dry season from late December until late April. The forest is semi-evergreen and, at 2600 mm annual rainfall, is classified as tropical moist forest by the Holdridge system. Since 1923 BCI has been a biological reserve, administered after 1946 by the Smithsonian Tropical Research Institute (STRI). A 50ha permanent plot was established in old-growth forest on the central plateau of the island, and all free-standing woody plants with a stem diameter of 1 cm dbh were tagged, identified to species, measured, and mapped.",
"history": "BCI: Barro Colorado Island (BCI) is a 1600 ha former hilltop in central Panama that became an island when the Chagres River was dammed, creating the main reservoir of water for the Panama Canal. The climate of BCI is strongly seasonal, with a four month dry season from late December until late April. The forest is semi-evergreen and, at 2600 mm annual rainfall, is classified as tropical moist forest by the Holdridge system. Since 1923 BCI has been a biological reserve, administered after 1946 by the Smithsonian Tropical Research Institute (STRI). A 50ha permanent plot was established in old-growth forest on the central plateau of the island, and all free-standing woody plants with a stem diameter of 1 cm dbh were tagged, identified to species, measured, and mapped.
40 0.5ha plots used in Condit et al. 2013 PNAS. All tree aboce 1cm of dbh have been measured 2 times. The plots location were selected to span a range of rainfall and geological formations. All plots were in closed forest including undisturbed old-growth forest and secondary stands",
"field methodology": "All free-standing woody plants with diameter at breast height (dbh) > 1 cm were measured in a 50-ha plot on BCI in 1982, 1985, 1990, 1995, 2000, 2005 and 2010. In the 1982 and 1985 censuses, the diameters at breast height (dbh) were rounded to the lower 5mm for trees <=5 cm dbh. The measurements from the other censuses are accurate to the nearest millimeter for all trees. Please take this into account when measuring growth rates.",
"trait information": "Traits were sampled following protocols of Cornelissen et al 2003, with two exceptions. First, our seed mass refers to the entire diaspore for all species while Cornelissen et al. (2003) recommend cutting appendages from wind-dispersed diaspores. The second difference concerned SLA. We measured SLA for two leaves taken from the tallest foliage of six of the smallest individuals of each species in the 50-ha plot. We did not use the sun-exposed leaves recommended by Cornelissen et al. (2003) because most BCI tree species reproduce in the understory and lack sun-exposed leaves (King et al. 2006b). We did, however, measure LMA for leaves from the tallest foliage of the six largest individuals of each species. The relationship between SLA for sun-exposed leaves and shaded understory leaves was reasonably strong (r2 = 0.39, P < 0.001) for the 67 species with SLA determinations for five or more individuals in both light habitats. For extreme heliophiles whose juveniles were never found in shaded conditions, we estimated a shade value of SLA from the sun value for that same species and the sun-shade SLA relationship. The variable SLA.source takes the value 'Measured' if SLA was measured for shade leaves, the value 'Predicted' if shade SLA was predicted from sun SLA, and 'NA' if SLA was not determined for the species. The standard deviation and sample size for SLA refers to the number of individual plants sampled. To determine leaf nitrogen content (%), we pooled individuals by species and light environment (sun versus shade), mixed equal masses of powdered leaf tissue from each individual, and performed a single N determination using an elemental analyzer in the laboratory of Ben Turner at STRI. The relationship between leaf N for sun-exposed leaves and shaded understory leaves was very strong (r2 = 0.75, P < 0.001) for the 222 species with leaf N determinations for both light habitats. Once again, for extreme heliophiles whose juveniles were never found in shaded conditions, we estimated a shade value of leaf N from the sun value for that same species and the sun-shade leaf N relationship. The variable Leaf.N.source takes the value 'Measured' if leaf N was measured for shade leaves, the value 'Predicted' if shade leaf N was predicted from sun leaf N, and 'NA' if leaf N was not determined for the species. Maximum height, Hmax, equaled the mean height of the six largest (by dbh) individuals of each species in the 50-ha plot and a nearby (5 km) 38.4-ha plot (King et al. 2006b). To assess WD, we cored trees located within 15 km of BCI because increment borers are prohibited on BCI. We broke cores into pieces ,5 cm long, calculated the specific gravity of each piece as oven-dried mass (100C) divided by fresh volume (measured by water displacement), and estimated WD as an area-weighted average, where area refers to the annulus represented by each piece, assuming a circular trunk."
},
......@@ -21,14 +22,15 @@
"Hubbell, S.P., Condit, R., and Foster, R.B. 2005. Barro Colorado Forest Census Plot Data. URL https://ctfs.arnarb.harvard.edu/webatlas/datasets/bci.",
"Condit, R. 1998. Tropical Forest Census Plots. Springer-Verlag and R. G. Landes Company, Berlin, Germany, and Georgetown, Texas.",
"Hubbell, S.P. and R.B. Foster. (1992) 'Short-Term Dynamics of a Neotropical Forest: Why Ecological Research Matters to Tropical Conservation and Management.' Oikos 63: 48–61. doi:10.2307/3545515",
"Wright, S.J., K. Kitajima, N.J.B. Kraft, P.B. Reich, I.J. Wright, D.E. Bunker, R. Condit, et al. “Functional Traits and the Growth–mortality Trade-off in Tropical Trees.' Ecology 91: 3664–3674. doi:10.1890/09-2335.1"
"Wright, S.J., K. Kitajima, N.J.B. Kraft, P.B. Reich, I.J. Wright, D.E. Bunker, R. Condit, et al. “Functional Traits and the Growth–mortality Trade-off in Tropical Trees.' Ecology 91: 3664–3674. doi:10.1890/09-2335.1" ,
"Condit, R., Engelbrecht, B.M.J., Pino, D., Perez, R., and Turner, B.L. (2013). Species distributions in response to individual soil nutrients and seasonal drought across a community of tropical trees. Proceedings of the National Academy of Sciences 110, 5064–5068."
],
"files":{
"BCITRAITS_20101220.csv":{
"sep":"c",
"Kunstler.BCI.traits.txt":{
"sep":"tab",
"contents":"Trait data for BCI species, collected by Joe Wright and others."},
"census1/PlotsDataReport.txt":{
"sep":"c",
"BCI.all.plots.census.1.csv":{
"sep":",",
"contents":"Data from a single census. There is a similar file for each census."},
"TaxonomyDataReport.txt":{
"sep":"c",
......
use,var,units,description
1,GENUS,,genus name truncated at 12 letters
1,SPECIES,,species name truncated at 12 letters
1,FAMILY,,family name truncated at 12 letters
1,GRWFRM2,,Values are as in GRWFRM1 except free-standing species can have multiple values if maximum size varies widely within Panama
1,GRWFRM1,,"Values are Climber, HERB, S, U, M and T. S, U, M and T are free-standing species with maximum heights of 5, 10, 20 and > 30 m, respectively. "
1,SP,,six letter species code
1,SG60C_AVG,g/cm3,mean wood specific gravity after drying at 60C
1,SG100C_AVG,g/cm3,mean wood specific gravity after drying at 100C
1,SG60C_SEM,g/cm3,standard error of SG60C_AVG
1,SG100C_SEM,g/cm3,standard error of SG100C_AVG
1,SG60C_N,,number of individuals sampled for SG60C_AVG
1,SG100C_N,,number of individuals sampled for SG100C_AVG
1,SEED_DRY,g,"mean seed dry mass after drying at 60C, where seed is defined to include the endosperm and embryo only"
1,DBH_AVG,mm,mean DBH measured in 2005 of up to the six largest individuals in the BCI 50-ha plot
1,HEIGHT_AVG,m,mean height of up to the six largest individuals in the BCI 50-ha plot
1,DIAM_AVG,m,mean crown diameter of up to the six largest individuals in the BCI 50-ha plot
1,DBH_SEM,mm,one standard error of DBH_AVG
1,HEIGHT_SEM,m,one standard error of HEIGHT_AVG
1,DIAM_SEM,m,one standard error of DIAM_AVG
1,LMALAM_AVD,g/m2,mean leaf mass per unit area measured for the leaf lamina excluding the petiole and for compound leaves the petiolules for leaves receiving direct sunlight
1,LMALAM_SED,g/m2,one standard error for LMALAM_AVD
use var units description
1 sp species code
1 genus genus name truncated at 12 letters
1 species species name truncated at 12 letters
1 wd mg/mm3 Wood density
1 wd.sd Wood density Std. Dev.
1 wd.n Wood.density number of observation
1 sla.sun g m^-2 Specific Leaf Area of sun leaves
1 sla.sun.sd Specific Leaf Area of sun leaves Std. Dev.
1 sla.sun.n Specific Leaf Area of sun leaves number of observation
1 sla.shade g m^-2 Specific Leaf Area of shades leaves
1 sla.shade.sd Specific Leaf Area of shades leaves Std. Dev.
1 sla.shade.n Specific Leaf Area of shade leaves number of observation
1 seed g Seed dry mass after drying at 60C, where seed is defined to include the endosperm and embryo only
1 seed.sd Seed dry mass Std. Dev.
1 seed.n Seed dry mass num,ber of observation
1 hght.max m mean height of up to the six largest individuals in the BCI 50-ha plot (m)
1 hght.max.sd m mean height of up to the six largest individuals Std. Dev.
1 hght.max.n mm mean height of up to the six largest individuals num,ber of observation
1 leaf.N.sun % Leaf N per mass for sun leaves
1 leaf.N.shade % Leaf N per mass for shade leaves
1 leaf.N.shade.predicted % either measured Leaf.N in shade when available or predicted fronme a regression between shade and sun
1 sla.shade.predicted g m^-2 either measured sla in shade when available or predicted fronme a regression between shade and sun
......@@ -6,14 +6,14 @@
},
"agreement": "Census data from Canadian provinces provided by John Caspersen and Quebec data provided by the MERN through a data use agremenet with G. Kunstler and Irstea. Data can not be shared with other parties",
"dataset": {
"name": "Candaian Provincial Forest Inventory Dataset",
"name": "Candian Provincial Forest Inventory Dataset",
"country": "Canada",
"climate": "humid temperate in eastern Canada and near the great lakes, semiarid in the prairie provinces, marine temperate on the west coast, and subarctic in the north",
"vegetation type": "temperate forests in the great lakes region and on the east and west coasts, boreal or Taiga in the north",
"latitude": "41-83.5 deg N",
"longitude": "52.7-141 deg W",
"minimum tree size": "Varies from province to province. According to the provincial documentation, the minimum varies from 1 to 9 cm (depending on the province), but recorded values in some provinces are lower (e.g. 0.1 cm)",
"history": "Varies from province to province: we only included data collected after 1980.",
"history": "Varies from province to province: we only included data collected after 1980. Provinces included: Manitoba, New Brunswick, NewfoundlandLabrador,NovaScotia, Ontario, Quebec, Saskatchewan",
"field methodology": "There is no national standard yet (though there will be soon), so each province uses a different sampling method. Most provinces use circular plots, usually about 400 m2 in area, but plot size can vary both within and between provinces. The measurement interval is usually 5-15 years, but ranges from 1 to 28 years.",
"trait information": "Maximum height from US and other traits extracted from TRY."
},
......@@ -23,6 +23,9 @@
"Canada_Data2George_20130818.csv":{
"sep":"c",
"contents":"Tree table with two measurements"},
"NovaScotia_2George_20131025.csv":{
"sep":"c",
"contents":"Tree table with two measurements for additional province"},
"EcoregionCodes.csv":{
"sep":"c",
"contents":"Lookup table for Ecoregion code used in Canadian trees table which is the same as US FIA data."},
......
......@@ -4,7 +4,7 @@
"email": "georges.kunstler@gmail.com",
"affiliation": "Irstea, UR Mountain Ecosystems, St-Martin-d'Heres, France & Department of Biological Sciences, Macquarie University, Sydney, NSW 2109, Australia"
},
"agreement": "The French Forest Inventory data can be downloaded fron http://inventaire-forestier.ign.fr/spip/spip.php?rubrique153 , adn the R script to format the raw data is freely available. The climatic data are rpovided by Christian Piedallu (christian.piedallu@agroparistech.fr) and can not be shared with other parties. Traits data are coming from TRY under the TRY data use agreement.",
"agreement": "The French Forest Inventory data can be downloaded fron http://inventaire-forestier.ign.fr/spip/spip.php?rubrique153 , and the R script to format the raw data is freely available. The climatic data are rpovided by Christian Piedallu (christian.piedallu@agroparistech.fr) and can not be shared with other parties. Traits data are coming from TRY under the TRY data use agreement.",
"dataset": {
"name": "French National Forest Inventory",
"country": "France",
......
......@@ -20,6 +20,9 @@
"references": ["Lasky, J.R., Sun, I., Su, S.-H., Chen, Z.-S., and Keitt, T.H. (2013). Trait-mediated effects of environmental filtering on tree community dynamics. Journal of Ecology.",
""],
"files":{
"fushan.rdata":{
"sep":"t",
"contents":"NA"},
"fs_trait_Kunstler.txt":{
"sep":"t",
"contents":"NA"},
......
use var units description
0 tag tree identification tag
0 sp species acronyms
0 gx m tree x coordinate
0 gy m tree y coordiante
0 dbh1 mm diameter at census 1
status1 alive dead at census 1
dbh2 mm diameter at census 2
status2 alive dead recruit at census 2
q5 5 meters quadrats
q20 20 meters quadrats
q5x m coordinate x of 5m quadrat
q5y m coordinate y of 5m quadrat
......@@ -7,29 +7,36 @@
"agreement": "do not share the data with other parties, contact Yusuke Onoda",
"dataset": {
"name": "Japan",
"country": "",
"climate": "",
"vegetation type": "",
"country": "Japan",
"climate": "sub-tropical to subalpine",
"vegetation type": "subarctic to subtropical climate",
"latitude": -1,
"longitude": -1,
"minimum tree size": "",
"history": "",
"field methodology": "",
"trait information": ""
"minimum tree size": " > 15 cm girth",
"history": "Taken from the abstract of the data paper on the tree plots 'This data paper reports tree census data collected in a network of 34 forest sites in Japan. This is the largest forest data set freely available in Japan to date. The network is a part of the Monitoring Sites 1000 Project launched by the Ministry of the Environment, Japan. It covers subarctic to subtropical climate zones and the four major forest types in Japan. The data have been used for ecological studies as well as for the biodiversity reports published by the Ministry of the Environment.'",
"field methodology": "Take from data paper ' Forty two permanent plots usually 1 ha in size were established in old-growth or secondary natural forests. Censuses of woody species > 15 cm girth at breast height were conducted every year or once during 2004 to 2009. The data provide species abundance, survivorship and stem girth growth of 52534 individuals of 334 tree and liana species. The censuses adopted common census protocol, which provide good opportunities for meta-analyses and comparative studies among forests.' see http://db.cger.nies.go.jp/JaLTER/ER_DataPapers/archives/2012/ERDP-2012-04/metadata for more details",
"trait information": "Provided by Yusuke Onoda; Hiroko Kurokawa, Masahiro Aiba"
},
"references": [
"",
"Yakushima Forest Environment Conservation Center, Ishihara, M.I., Suzuki, S.N., Nakamura, M., Enoki, T., Fujiwara, A., Hiura, T., Homma, K., Hoshino, D., Hoshizaki, K., et al. (2011). Forest stand structure, composition, and dynamics in 34 sites over Japan. Ecological Research 26, 1007–1008.
",
""
],
"files":{
"":{
"TreeData/*-tree-ver1.csv":{
"sep":";",
"contents":""},
"":{
"contents":"one file per plot /tree measurment data"},
"japanese_traits.csv":{
"sep":";",
"contents":""},
"":{
"contents":"Japanese traits data"},
"conversion_table.csv":{
"sep":";",
"contents":""}
"contents":"conversion of Latin name in traits data to tree data"},
"ERDP_2011_01.5.1-SiteList.csv":{
"sep":";",
"contents":"site data for the tree data"},
"ERDP_2011_01.3.1-SpList.csv":{
"sep":";",
"contents":"Species list for tree data"}
}
}
use,var,units,description 0,forest,, ,cluster,, ,plot,, ,tree,, ,TODO rest,,
\ No newline at end of file
use var units description
0 Code Plot code.
PlotID Alphanumeric plot code
SiteName Site name