diff --git a/.gitignore b/.gitignore index 7d92e33194171820530404377bd2702e48306aef..d81a5d8bc8a93662960ed0a66fce52be161b077a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ output output_cluster -data/* +ignore +data/raw figs *.xls *.xlsx diff --git a/R/FUN.climate.R b/R/FUN.climate.R deleted file mode 100644 index d20735431c49578f42c8015fbd88aab50e3a3b5e..0000000000000000000000000000000000000000 --- a/R/FUN.climate.R +++ /dev/null @@ -1,118 +0,0 @@ -##################################### FUNCTION TO COMPUTE CLIMATIC DATA FOR FRANCE - -## function to compute sum of degree days above 5.56 -##' .. Compute teh sum of degree days above 5.56C from monthly data with a spline .. -##' -##' .. A spline is used to smooth the variation of T over each day from mothly data. Require package 'season' .. -##' @title -##' @param temp monthly temperature in C -##' @param threshold.sgdd threshold of temperature to compte sum of degree day default 5.56 -##' @return -##' @author Kunstler -fun.sgdd <- function(temp, threshold.sgdd = 5.56) { - require(season) - temp <- unlist(temp) - ndays.month <- flagleap(data.frame(year = 2013, month = 1:12), F)$ndaysmonth - ndays.year <- sum(ndays.month) - x <- c(-ndays.month[12]/2, (ndays.month/2) + c(0, cumsum(ndays.month[1:11])), - ndays.year + ndays.month[1]/2) - ## plot(x,c(temp[12],temp,temp[1]),xlim=c(0,365),type='b') - myfit <- loess(y ~ x, data = data.frame(y = c(temp[12], temp, temp[1]), x = x), - span = 0.4, degree = 2) - mypred <- predict(myfit, 1:ndays.year) - ## lines( 1:ndays.year,mypred,col='red') - sgdd <- sum(mypred[mypred >= threshold.sgdd] - threshold.sgdd) - return(sgdd) -} - - - -################################################################################################# function to compute max soil water content based on Piedallu 2010 Geoderma -fun.swhc <- function(affroc, cailloux, text2, text1, prof2, prof1, codeprof, codecaillou, - data.texture) { - ## browser() - - ### transform code of prof= soil depth in cm and code of percentage of rock in % - prof2.t <- prof2 - prof2.t[is.na(prof2)] <- 0 - prof2.cm.temp <- codeprof[prof2 + 1] - prof2.cm.temp[is.na(prof2)] <- 0 - prof1.t <- prof1 - prof1.t[is.na(prof1)] <- 0 - text1[is.na(text1)] <- 0 - prof1.cm <- codeprof[prof1.t + 1] - prof1.cm[is.na(prof1)] <- 0 - cailloux.t <- cailloux - cailloux.t[is.na(cailloux)] <- 0 - cailloux.perc <- codecaillou[cailloux.t + 1] - cailloux.perc[is.na(cailloux)] <- 0 - - ## compute depth of second horizon - prof2.cm <- prof2.cm.temp - prof1.cm - perc.top1 <- apply(cbind(10/prof1.cm, rep(1, length(prof1.cm))), MARGIN = 1, - FUN = min) - perc.top2 <- apply(cbind(apply(cbind(rep(0, length(prof1.cm)), (10 - prof1.cm)/prof2.cm.temp), - MARGIN = 1, FUN = max), rep(1, length(prof1.cm))), MARGIN = 1, FUN = min) - caill <- (1 - codecaillou[affroc + 1]/100) * (1 - (sqrt(cailloux.perc/100))^3) - ## print(c(prof2.cm,perc.top2)) - top.hor <- (prof1.cm * perc.top1 * data.texture[text1 + 1, "U_almajou_top"] + - prof2.cm * perc.top2 * data.texture[text2 + 1, "U_almajou_top"]) - - sub.hor <- (prof1.cm * (1 - perc.top1) * data.texture[text1 + 1, "U_almajou_sub"] + - prof2.cm * (1 - perc.top2) * data.texture[text2 + 1, "U_almajou_sub"]) - - swhc <- caill * (top.hor + sub.hor) - return(swhc) -} - -################################################################# function to compute PET -fun.PET <- function(i, rad, temp) { - ## conversion data - require(season) - ndays.month <- flagleap(data.frame(year = 2013, month = 1:12), F)$ndaysmonth - Rs <- unlist(rad[i, ])/100/30 * 1000 - Ta <- unlist(temp[i, ]) - # compute TURC FORMULA - vec.pet <- 0.4 * ((0.0239001 * Rs) + 50) * (Ta/(Ta + 15))/30 * ndays.month - ## with Rs daily global (total) solar radiation (kJ/m2/day) and Ta monthly mean - ## temp in C and ndays.month number of day in each month - return(vec.pet) -} - - -#################################################################################### FUNCTION TO COMPUTE WATER BUDGET based on Bugmann & Cramer 1998 - -fun.WaterBudget <- function(i, prcp.m, PET.m, Ta.m, SWHC.v, n = 2) { - WATER <- rep(NA, 12 * n) - WATER[1] <- unlist(SWHC.v)[i] - SWHC <- unlist(SWHC.v)[i] - AET <- rep(NA, 12 * n) - D <- rep(NA, 12 * n) - prcp <- rep(unlist(prcp.m[i, ]), n) - PET <- rep(unlist(PET.m[i, ]), n) - Ta <- rep(unlist(Ta.m[i, ]), n) - - for (i in 2:(12 * n)) { - Pi <- min(0.3 * prcp[i], PET[i]) - Ps <- prcp[i] - Pi - S <- 120 * WATER[i - 1]/SWHC - D[i] <- PET[i] - Pi - AET[i] <- max(0, min(D[i], S)) - WATER[i] <- max(0, min(WATER[i - 1] + Ps - AET[i], SWHC)) - } - ## plot(1:(12*n),WATER,type='b') - WATER <- WATER[13:24] - Ta <- Ta[13:24] - AET <- AET[13:24] - D <- D[13:24] - ## NEED to compute mean water availability of the growing season - WB.s <- mean(WATER[Ta > 5.56], na.rm = T) - ## NEED to compute mean water availability of the year - WB.y <- mean(WATER, na.rm = T) - ## NEED to compute water stress index of the growing season - WS.s <- sum(na.omit(AET[Ta > 5.56 & D > 0]))/sum(na.omit(D[Ta > 5.56 & D > 0])) - - ## NEED to compute water stress index of the year - WS.y <- sum(na.omit(AET[D > 0]))/sum(na.omit(D[D > 0])) - return(c(WB.s = WB.s, WB.y = WB.y, WS.s = WS.s, WS.y = WS.y)) -} diff --git a/TRY.R b/R/extract.traits.from.TRY/TRY.R similarity index 100% rename from TRY.R rename to R/extract.traits.from.TRY/TRY.R diff --git a/R/FUN.TRY.R b/R/extract.traits.from.TRY/try.fun.R similarity index 100% rename from R/FUN.TRY.R rename to R/extract.traits.from.TRY/try.fun.R diff --git a/merge.data.BCI.R b/R/format.data/BCI.R similarity index 100% rename from merge.data.BCI.R rename to R/format.data/BCI.R diff --git a/merge.data.CANADA.R b/R/format.data/CANADA.R similarity index 100% rename from merge.data.CANADA.R rename to R/format.data/CANADA.R diff --git a/merge.data.FRANCE.R b/R/format.data/FRANCE.R similarity index 100% rename from merge.data.FRANCE.R rename to R/format.data/FRANCE.R diff --git a/merge.data.FUSHAN.R b/R/format.data/FUSHAN.R similarity index 100% rename from merge.data.FUSHAN.R rename to R/format.data/FUSHAN.R diff --git a/merge.data.NSW.R b/R/format.data/NSW.R similarity index 100% rename from merge.data.NSW.R rename to R/format.data/NSW.R diff --git a/merge.data.NZ.R b/R/format.data/NZ.R similarity index 100% rename from merge.data.NZ.R rename to R/format.data/NZ.R diff --git a/merge.data.PARACOU.R b/R/format.data/PARACOU.R similarity index 100% rename from merge.data.PARACOU.R rename to R/format.data/PARACOU.R diff --git a/merge.data.SPAIN.R b/R/format.data/SPAIN.R similarity index 100% rename from merge.data.SPAIN.R rename to R/format.data/SPAIN.R diff --git a/merge.data.SWEDEN.R b/R/format.data/SWEDEN.R similarity index 100% rename from merge.data.SWEDEN.R rename to R/format.data/SWEDEN.R diff --git a/merge.data.SWISS.R b/R/format.data/SWISS.R similarity index 100% rename from merge.data.SWISS.R rename to R/format.data/SWISS.R diff --git a/merge.data.US.R b/R/format.data/US.R similarity index 100% rename from merge.data.US.R rename to R/format.data/US.R diff --git a/R/formatR.R b/R/formatR.R deleted file mode 100644 index 4fc6e7e54684fbf6636b44446384b45209ec1e13..0000000000000000000000000000000000000000 --- a/R/formatR.R +++ /dev/null @@ -1,25 +0,0 @@ - -# use formatR package to tidy code -library(formatR) - -for (f in dir(".", pattern = "*.R")) { - cat("Cleaning ", f, "\n") - tidy.source(f, file = f) -} - - -for (f in c(dir(".", pattern = "*.R"), dir("R", pattern = "*.R", full.names = TRUE))) { - cat("Cleaning ", f, "\n") - tidy.source(f, file = f) -} - - - - - - - - - - - diff --git a/ms/data.format.md b/R/metadata/data.format.md similarity index 100% rename from ms/data.format.md rename to R/metadata/data.format.md diff --git a/ms/include.tex b/R/metadata/include.tex similarity index 100% rename from ms/include.tex rename to R/metadata/include.tex diff --git a/ms/knit_site_description.R b/R/metadata/knit_site_description.R similarity index 100% rename from ms/knit_site_description.R rename to R/metadata/knit_site_description.R diff --git a/ms/site_description.Rmd b/R/metadata/site_description.Rmd similarity index 100% rename from ms/site_description.Rmd rename to R/metadata/site_description.Rmd diff --git a/ms/email/email.R b/R/utils/email.R similarity index 100% rename from ms/email/email.R rename to R/utils/email.R diff --git a/R/plot-utils.R b/R/utils/plot.R similarity index 100% rename from R/plot-utils.R rename to R/utils/plot.R diff --git a/ms/TRY/_site_details.JSON b/data/metadata/TRY/_site_details.JSON similarity index 100% rename from ms/TRY/_site_details.JSON rename to data/metadata/TRY/_site_details.JSON diff --git a/ms/TRY/files/TRY_Proposal_177_DataRelease_2013_04_01.csv b/data/metadata/TRY/files/TRY_Proposal_177_DataRelease_2013_04_01.csv similarity index 100% rename from ms/TRY/files/TRY_Proposal_177_DataRelease_2013_04_01.csv rename to data/metadata/TRY/files/TRY_Proposal_177_DataRelease_2013_04_01.csv diff --git a/ms/TRY/files/TRY_Proposal_177_DataRelease_2013_07_23.csv b/data/metadata/TRY/files/TRY_Proposal_177_DataRelease_2013_07_23.csv similarity index 100% rename from ms/TRY/files/TRY_Proposal_177_DataRelease_2013_07_23.csv rename to data/metadata/TRY/files/TRY_Proposal_177_DataRelease_2013_07_23.csv diff --git a/ms/metadata/BCI/_site_details.JSON b/data/metadata/sites/BCI/_site_details.JSON similarity index 100% rename from ms/metadata/BCI/_site_details.JSON rename to data/metadata/sites/BCI/_site_details.JSON diff --git a/ms/metadata/BCI/files/BCITRAITS_20101220.csv b/data/metadata/sites/BCI/files/BCITRAITS_20101220.csv similarity index 100% rename from ms/metadata/BCI/files/BCITRAITS_20101220.csv rename to data/metadata/sites/BCI/files/BCITRAITS_20101220.csv diff --git a/ms/metadata/BCI/files/TaxonomyDataReport.csv b/data/metadata/sites/BCI/files/TaxonomyDataReport.csv similarity index 100% rename from ms/metadata/BCI/files/TaxonomyDataReport.csv rename to data/metadata/sites/BCI/files/TaxonomyDataReport.csv diff --git a/ms/metadata/BCI/files/census1_PlotsDataReport.csv b/data/metadata/sites/BCI/files/census1_PlotsDataReport.csv similarity index 100% rename from ms/metadata/BCI/files/census1_PlotsDataReport.csv rename to data/metadata/sites/BCI/files/census1_PlotsDataReport.csv diff --git a/ms/metadata/Canada/_site_details.JSON b/data/metadata/sites/Canada/_site_details.JSON similarity index 100% rename from ms/metadata/Canada/_site_details.JSON rename to data/metadata/sites/Canada/_site_details.JSON diff --git a/ms/metadata/Canada/files/Canada_Data2George_20130818.csv b/data/metadata/sites/Canada/files/Canada_Data2George_20130818.csv similarity index 100% rename from ms/metadata/Canada/files/Canada_Data2George_20130818.csv rename to data/metadata/sites/Canada/files/Canada_Data2George_20130818.csv diff --git a/ms/metadata/Canada/files/EcoregionCodes.csv b/data/metadata/sites/Canada/files/EcoregionCodes.csv similarity index 100% rename from ms/metadata/Canada/files/EcoregionCodes.csv rename to data/metadata/sites/Canada/files/EcoregionCodes.csv diff --git a/ms/metadata/Canada/files/FIA_REF_SPECIES.csv b/data/metadata/sites/Canada/files/FIA_REF_SPECIES.csv similarity index 100% rename from ms/metadata/Canada/files/FIA_REF_SPECIES.csv rename to data/metadata/sites/Canada/files/FIA_REF_SPECIES.csv diff --git a/ms/metadata/France/_site_details.JSON b/data/metadata/sites/France/_site_details.JSON similarity index 100% rename from ms/metadata/France/_site_details.JSON rename to data/metadata/sites/France/_site_details.JSON diff --git a/ms/metadata/France/calculations.md b/data/metadata/sites/France/calculations.md similarity index 100% rename from ms/metadata/France/calculations.md rename to data/metadata/sites/France/calculations.md diff --git a/ms/metadata/France/files/dataIFN.FRANCE.csv b/data/metadata/sites/France/files/dataIFN.FRANCE.csv similarity index 100% rename from ms/metadata/France/files/dataIFN.FRANCE.csv rename to data/metadata/sites/France/files/dataIFN.FRANCE.csv diff --git a/ms/metadata/France/files/species.csv b/data/metadata/sites/France/files/species.csv similarity index 100% rename from ms/metadata/France/files/species.csv rename to data/metadata/sites/France/files/species.csv diff --git a/ms/metadata/Fushan/_site_details.JSON b/data/metadata/sites/Fushan/_site_details.JSON similarity index 100% rename from ms/metadata/Fushan/_site_details.JSON rename to data/metadata/sites/Fushan/_site_details.JSON diff --git a/ms/metadata/Fushan/files/Splist_Fushan_En.csv b/data/metadata/sites/Fushan/files/Splist_Fushan_En.csv similarity index 100% rename from ms/metadata/Fushan/files/Splist_Fushan_En.csv rename to data/metadata/sites/Fushan/files/Splist_Fushan_En.csv diff --git a/ms/metadata/Fushan/files/fs_trait_Kunstler.csv b/data/metadata/sites/Fushan/files/fs_trait_Kunstler.csv similarity index 100% rename from ms/metadata/Fushan/files/fs_trait_Kunstler.csv rename to data/metadata/sites/Fushan/files/fs_trait_Kunstler.csv diff --git a/ms/metadata/NSW/_site_details.JSON b/data/metadata/sites/NSW/_site_details.JSON similarity index 100% rename from ms/metadata/NSW/_site_details.JSON rename to data/metadata/sites/NSW/_site_details.JSON diff --git a/ms/metadata/NSW/files/NSW_data_BRcontrols.csv b/data/metadata/sites/NSW/files/NSW_data_BRcontrols.csv similarity index 100% rename from ms/metadata/NSW/files/NSW_data_BRcontrols.csv rename to data/metadata/sites/NSW/files/NSW_data_BRcontrols.csv diff --git a/ms/metadata/NSW/files/NSW_data_BRtreatments.csv b/data/metadata/sites/NSW/files/NSW_data_BRtreatments.csv similarity index 100% rename from ms/metadata/NSW/files/NSW_data_BRtreatments.csv rename to data/metadata/sites/NSW/files/NSW_data_BRtreatments.csv diff --git a/ms/metadata/NSW/files/NSW_data_BS1.csv b/data/metadata/sites/NSW/files/NSW_data_BS1.csv similarity index 100% rename from ms/metadata/NSW/files/NSW_data_BS1.csv rename to data/metadata/sites/NSW/files/NSW_data_BS1.csv diff --git a/ms/metadata/NSW/files/NSW_data_BS2.csv b/data/metadata/sites/NSW/files/NSW_data_BS2.csv similarity index 100% rename from ms/metadata/NSW/files/NSW_data_BS2.csv rename to data/metadata/sites/NSW/files/NSW_data_BS2.csv diff --git a/ms/metadata/NSW/files/NSW_data_TND.csv b/data/metadata/sites/NSW/files/NSW_data_TND.csv similarity index 100% rename from ms/metadata/NSW/files/NSW_data_TND.csv rename to data/metadata/sites/NSW/files/NSW_data_TND.csv diff --git a/ms/metadata/NSW/files/NSW_traits.csv b/data/metadata/sites/NSW/files/NSW_traits.csv similarity index 100% rename from ms/metadata/NSW/files/NSW_traits.csv rename to data/metadata/sites/NSW/files/NSW_traits.csv diff --git a/ms/metadata/NVS/_site_details.JSON b/data/metadata/sites/NVS/_site_details.JSON similarity index 100% rename from ms/metadata/NVS/_site_details.JSON rename to data/metadata/sites/NVS/_site_details.JSON diff --git a/ms/metadata/NVS/files/nz_plotinfo_130801.csv b/data/metadata/sites/NVS/files/nz_plotinfo_130801.csv similarity index 100% rename from ms/metadata/NVS/files/nz_plotinfo_130801.csv rename to data/metadata/sites/NVS/files/nz_plotinfo_130801.csv diff --git a/ms/metadata/NVS/files/nz_traits_130801.csv b/data/metadata/sites/NVS/files/nz_traits_130801.csv similarity index 100% rename from ms/metadata/NVS/files/nz_traits_130801.csv rename to data/metadata/sites/NVS/files/nz_traits_130801.csv diff --git a/ms/metadata/NVS/files/nz_treedata_growth_130801.csv b/data/metadata/sites/NVS/files/nz_treedata_growth_130801.csv similarity index 100% rename from ms/metadata/NVS/files/nz_treedata_growth_130801.csv rename to data/metadata/sites/NVS/files/nz_treedata_growth_130801.csv diff --git a/ms/metadata/Paracou/_site_details.JSON b/data/metadata/sites/Paracou/_site_details.JSON similarity index 100% rename from ms/metadata/Paracou/_site_details.JSON rename to data/metadata/sites/Paracou/_site_details.JSON diff --git a/ms/metadata/Paracou/files/20130717_paracou_1984_2012.csv b/data/metadata/sites/Paracou/files/20130717_paracou_1984_2012.csv similarity index 100% rename from ms/metadata/Paracou/files/20130717_paracou_1984_2012.csv rename to data/metadata/sites/Paracou/files/20130717_paracou_1984_2012.csv diff --git a/ms/metadata/Paracou/files/20130717_paracou_codes_mesure.csv b/data/metadata/sites/Paracou/files/20130717_paracou_codes_mesure.csv similarity index 100% rename from ms/metadata/Paracou/files/20130717_paracou_codes_mesure.csv rename to data/metadata/sites/Paracou/files/20130717_paracou_codes_mesure.csv diff --git a/ms/metadata/Paracou/files/20130717_paracou_taxonomie.csv b/data/metadata/sites/Paracou/files/20130717_paracou_taxonomie.csv similarity index 100% rename from ms/metadata/Paracou/files/20130717_paracou_taxonomie.csv rename to data/metadata/sites/Paracou/files/20130717_paracou_taxonomie.csv diff --git a/ms/metadata/Paracou/files/Autour-de-Paracou-Releves-par-trait-et-taxon.csv b/data/metadata/sites/Paracou/files/Autour-de-Paracou-Releves-par-trait-et-taxon.csv similarity index 100% rename from ms/metadata/Paracou/files/Autour-de-Paracou-Releves-par-trait-et-taxon.csv rename to data/metadata/sites/Paracou/files/Autour-de-Paracou-Releves-par-trait-et-taxon.csv diff --git a/ms/metadata/Paracou/files/BridgeDATA.g.csv b/data/metadata/sites/Paracou/files/BridgeDATA.g.csv similarity index 100% rename from ms/metadata/Paracou/files/BridgeDATA.g.csv rename to data/metadata/sites/Paracou/files/BridgeDATA.g.csv diff --git a/ms/metadata/Paracou/files/WD-Species-Paracou-Ervan_GV.csv b/data/metadata/sites/Paracou/files/WD-Species-Paracou-Ervan_GV.csv similarity index 100% rename from ms/metadata/Paracou/files/WD-Species-Paracou-Ervan_GV.csv rename to data/metadata/sites/Paracou/files/WD-Species-Paracou-Ervan_GV.csv diff --git a/ms/metadata/Paracou/files/bridge.csv b/data/metadata/sites/Paracou/files/bridge.csv similarity index 100% rename from ms/metadata/Paracou/files/bridge.csv rename to data/metadata/sites/Paracou/files/bridge.csv diff --git a/ms/metadata/Spain/_site_details.JSON b/data/metadata/sites/Spain/_site_details.JSON similarity index 100% rename from ms/metadata/Spain/_site_details.JSON rename to data/metadata/sites/Spain/_site_details.JSON diff --git a/ms/metadata/Spain/calculations.md b/data/metadata/sites/Spain/calculations.md similarity index 100% rename from ms/metadata/Spain/calculations.md rename to data/metadata/sites/Spain/calculations.md diff --git a/ms/metadata/Spain/files/R_Ecoregion.csv b/data/metadata/sites/Spain/files/R_Ecoregion.csv similarity index 100% rename from ms/metadata/Spain/files/R_Ecoregion.csv rename to data/metadata/sites/Spain/files/R_Ecoregion.csv diff --git a/ms/metadata/Spain/files/Tree_data_SFI.csv b/data/metadata/sites/Spain/files/Tree_data_SFI.csv similarity index 100% rename from ms/metadata/Spain/files/Tree_data_SFI.csv rename to data/metadata/sites/Spain/files/Tree_data_SFI.csv diff --git a/ms/metadata/Spain/files/Tree_data_SFI_aug13_alldata.csv b/data/metadata/sites/Spain/files/Tree_data_SFI_aug13_alldata.csv similarity index 100% rename from ms/metadata/Spain/files/Tree_data_SFI_aug13_alldata.csv rename to data/metadata/sites/Spain/files/Tree_data_SFI_aug13_alldata.csv diff --git a/ms/metadata/Sweden/_site_details.JSON b/data/metadata/sites/Sweden/_site_details.JSON similarity index 100% rename from ms/metadata/Sweden/_site_details.JSON rename to data/metadata/sites/Sweden/_site_details.JSON diff --git a/ms/metadata/Sweden/files/Swe_NFI_1.csv b/data/metadata/sites/Sweden/files/Swe_NFI_1.csv similarity index 100% rename from ms/metadata/Sweden/files/Swe_NFI_1.csv rename to data/metadata/sites/Sweden/files/Swe_NFI_1.csv diff --git a/ms/metadata/Sweden/files/Swe_NFI_2a.csv b/data/metadata/sites/Sweden/files/Swe_NFI_2a.csv similarity index 100% rename from ms/metadata/Sweden/files/Swe_NFI_2a.csv rename to data/metadata/sites/Sweden/files/Swe_NFI_2a.csv diff --git a/ms/metadata/Sweden/files/Swe_NFI_3.csv b/data/metadata/sites/Sweden/files/Swe_NFI_3.csv similarity index 100% rename from ms/metadata/Sweden/files/Swe_NFI_3.csv rename to data/metadata/sites/Sweden/files/Swe_NFI_3.csv diff --git a/ms/metadata/Swiss/_site_details.JSON b/data/metadata/sites/Swiss/_site_details.JSON similarity index 100% rename from ms/metadata/Swiss/_site_details.JSON rename to data/metadata/sites/Swiss/_site_details.JSON diff --git a/ms/metadata/Swiss/files/LFI12.csv b/data/metadata/sites/Swiss/files/LFI12.csv similarity index 100% rename from ms/metadata/Swiss/files/LFI12.csv rename to data/metadata/sites/Swiss/files/LFI12.csv diff --git a/ms/metadata/Swiss/files/LFI1to4.csv b/data/metadata/sites/Swiss/files/LFI1to4.csv similarity index 100% rename from ms/metadata/Swiss/files/LFI1to4.csv rename to data/metadata/sites/Swiss/files/LFI1to4.csv diff --git a/ms/metadata/US/_site_details.JSON b/data/metadata/sites/US/_site_details.JSON similarity index 100% rename from ms/metadata/US/_site_details.JSON rename to data/metadata/sites/US/_site_details.JSON diff --git a/ms/metadata/US/files/EcoregionCodes.csv b/data/metadata/sites/US/files/EcoregionCodes.csv similarity index 100% rename from ms/metadata/US/files/EcoregionCodes.csv rename to data/metadata/sites/US/files/EcoregionCodes.csv diff --git a/ms/metadata/US/files/FIA51_trees_w_supp.csv b/data/metadata/sites/US/files/FIA51_trees_w_supp.csv similarity index 100% rename from ms/metadata/US/files/FIA51_trees_w_supp.csv rename to data/metadata/sites/US/files/FIA51_trees_w_supp.csv diff --git a/ms/metadata/US/files/FIAspeciesCodes.csv b/data/metadata/sites/US/files/FIAspeciesCodes.csv similarity index 100% rename from ms/metadata/US/files/FIAspeciesCodes.csv rename to data/metadata/sites/US/files/FIAspeciesCodes.csv diff --git a/ms/metadata/US/files/FiaSpMaxHt.csv b/data/metadata/sites/US/files/FiaSpMaxHt.csv similarity index 100% rename from ms/metadata/US/files/FiaSpMaxHt.csv rename to data/metadata/sites/US/files/FiaSpMaxHt.csv diff --git a/ms/Makefile b/docs/Makefile similarity index 100% rename from ms/Makefile rename to docs/Makefile diff --git a/ms/meeting/Makefile b/docs/meeting/Makefile similarity index 100% rename from ms/meeting/Makefile rename to docs/meeting/Makefile diff --git a/ms/meeting/agenda.md b/docs/meeting/agenda.md similarity index 100% rename from ms/meeting/agenda.md rename to docs/meeting/agenda.md diff --git a/ms/meeting/travellodge.png b/docs/meeting/travellodge.png similarity index 100% rename from ms/meeting/travellodge.png rename to docs/meeting/travellodge.png diff --git a/ms/meeting/workflow.png b/docs/meeting/workflow.png similarity index 100% rename from ms/meeting/workflow.png rename to docs/meeting/workflow.png diff --git a/ms/table.data.progress.ods b/docs/table.data.progress.ods similarity index 100% rename from ms/table.data.progress.ods rename to docs/table.data.progress.ods diff --git a/ms/email/send-email.R b/ms/email/send-email.R deleted file mode 100644 index fed55cdab1969dbb272e8b4c339e8649fc742a8f..0000000000000000000000000000000000000000 --- a/ms/email/send-email.R +++ /dev/null @@ -1,50 +0,0 @@ - -source("email/email.R") -library("rjson") - -sendEmail <- function(name, address, site, files = NA){ - - email.text = paste0(paste0("Dear ", name, ",")," - -We are looking forward to the working group next week on competitive interactions and traits organised by Georges Kunstler at Macquarie University. You have provided one of the datasets we will be analysing. I am helping Georges prepare the data for analysis. To this end, we are preparing a file with metadata for each of the datasets, gathering together the various bits of information we have in a consistent format. Attached you find details about the ", site , " dataset, for which you are responsible. - -We would appreciate if you could review the attached meta data information for the ", site , " dataset and get back to us, ideally within the next few days. Where possible, we are running analyses prior to the working group, so that we can begin to discuss results already on day one. For some datasets however, we do not yet have enough information to make this possible. - -Several files are attached for you to review: -- The file 'site_description.pdf' combines all the meta data for your site and is built from the information contained in the other files. Thus, where data is absent, we ask you to edit the other data files to provide relevant data. -- The file '_site_details.JSON' contains information about your site, including contact details, data availability, site information, vegetation type, etc. This file can be opened in any text editor and information added where appropriate. In addtion to information described above, please also give a brief desciption about the 'contents' of each of the files listed. e.g. 'contains demographic data from field survey'. -- A separate csv file for each of the 'files' listed in JSON file, giving variable headings, units and variable descriptions for the data in each file. These csv files are used to create the tables in the pdf report. These csv files can edited either in a text editor or in Microsoft excel. - -To give you a better idea of what a completed description would look like, I have also included a copy of the BCI site description, which is close to complete. - -Please return to us updated versions of the the JSON and csv files as soon as possible. - -With best regards, -Daniel Falster and Georges Kunstler - -P: ARC Postdoctoral Research Fellow -E: daniel.falster@mq.edu.au -A: Biological Sciences E8C 160, Macquarie University NSW 2109, Australia -T: +61-2-9850-9258 -W: http://www.falsters.net/daniel/\n\n\n") - -email(content = email.text, - subject = paste("Preparing data for next week's working group at Macquarie University"), - to = address, - from="daniel.falster@mq.edu.au", - cc= "georges.kunstler@gmail.com", - files = files, - send=FALSE - ) -} - -# Generate tables for each file -for(DIR in dir("metadata", full.names = TRUE)){ - cat(paste("\n", DIR)) - - json_file <- file.path(DIR,"_site_details.JSON") - details <- fromJSON(paste(readLines(json_file), collapse="")) - files <- list.files(DIR, recursive = TRUE, full.names = TRUE) - sendEmail(name =details$contact$name, address=details$contact$email, site = details$dataset$name, files = c(files, "site_description_BCI.pdf")) -} - diff --git a/ms/tmp/cleanCSV.sh b/ms/tmp/cleanCSV.sh deleted file mode 100644 index 32b0fc251975ade0153199923f04c01e4187425f..0000000000000000000000000000000000000000 --- a/ms/tmp/cleanCSV.sh +++ /dev/null @@ -1,2 +0,0 @@ -# Removes bad files endings on csv data from saving with Microsoft Excel in mac -find . -name '*.csv' | xargs perl -pi -e 's/\r/\n/g' diff --git a/ms/tmp/create_folders.R b/ms/tmp/create_folders.R deleted file mode 100644 index 269a641c4c01280b27062650af0d0b0fda8d9529..0000000000000000000000000000000000000000 --- a/ms/tmp/create_folders.R +++ /dev/null @@ -1,63 +0,0 @@ - -# Scripts used to create folders and files lists for metadata -# caution - if rerun, will overwrite existing files - -# Make directory for all input directories -for(d in gsub("Data", "", dir("data/raw"))) - dir.create(file.path("ms/metadata", d)) - -# List all files in raw data directories - -for(d in dir("data/raw", full.names = TRUE)){ - pathout <- file.path("ms/metadata", gsub("Data", "", basename(d))) - files <- gsub(paste0(d,"/"), "", dir(d, recursive=TRUE, full.names = TRUE)) - files <- files[ tools::file_ext(files) %in% c("csv", "txt") ] - sep= rep("t", length(files)) - sep[tools::file_ext(files) =="csv"] ="c" - write.csv(data.frame(filename= files, sep = sep, skip=0, contents=" "), file=file.path(pathout, "_file_index.csv"), row.names=FALSE, quote=FALSE) -} - -make_meta_data_tables <- function(d){ - files <- read.csv(file.path(d,"_file_index.csv"), stringsAsFactors=FALSE) - for(i in 1:length(files[,1])){ - cat(paste(files[i,"sep"], " ")) - sep = "\t" - if(files[i,"sep"] == "c") sep= "," - if(files[i,"sep"] == ";") sep= ";" - if(files[i,"sep"] == " ") sep= " " - infile <- file.path(gsub("ms/metadata/", "data/raw/Data", d), files[i,"filename"]) - data <- read.table(infile, sep=sep, stringsAsFactors=FALSE, fill=TRUE, header=TRUE) - write.csv(data.frame(use=0, var=names(data), units="", description=""), quote=FALSE, row.names=FALSE, - file = file.path(d, "files", - paste0(tools::file_path_sans_ext(gsub("/", "_", files[i,"filename"])), ".csv"))) - } -} - - -# Generate tables for each file -for(d in dir("ms/metadata", full.names = TRUE)[3]){ - cat(paste("\n", d)) - make_meta_data_tables(d) -} - -l <- list() -for(i in 1:length(details[,1]) ) - l[[details[i,1]]]<- details[i,2] - - -# Generate tables for each file -f <- "new.JSON" -cat("", file = f) - -for(d in dir("metadata", full.names = TRUE) ){ - cat(paste(d, "\n\n\tfiles: "), file = f, append = TRUE) - x<-read.csv(file.path(d,"_file_index.csv"), stringsAsFactors=FALSE) - l <- list() - for(i in 1:length(x[,1]) ) - l[[x[i,1]]]<- as.list(x[1,2:4]) - cat(toJSON(l), file = f, append = TRUE) - } - - - - diff --git a/species.list.R b/species.list.R deleted file mode 100644 index beff60a67a893236ddf18a2ee9ff298bc30ff0da..0000000000000000000000000000000000000000 --- a/species.list.R +++ /dev/null @@ -1,91 +0,0 @@ -#################################################### SPECIES LIST FOR WORKSHOP - - -################################# READ SPECIES LIST I HAVE NOW FOR EACH SITES NON TROPICAL (ASSUMING THAT -################################# TROPICAL SITES COMES WITH TRAITS DATA - -############################# 3 US based on FIA full species list -Data.Species.FIA <- read.csv("./data/species.list/REF_SPECIES.CSV", stringsAsFactors = FALSE, - na.strings = "") -## head(Data.Species.FIA) merge genus & species -Data.Species.FIA$sp <- gsub("spp.", "sp", paste(Data.Species.FIA$GENUS, Data.Species.FIA$SPECIES)) -Species.FIA.short <- Data.Species.FIA$sp[Data.Species.FIA$SPCD < 6000] -Species.FIA.long <- Data.Species.FIA$sp - -#################################### US SPECIES Based on Burns and Honkala -BurnsAndHonkalaSpeciesSummary <- read.csv("./data/species.list/BurnsAndHonkalaSpeciesSummary.csv", - stringsAsFactors = FALSE, na.strings = "", sep = ";") -## head(BurnsAndHonkalaSpeciesSummary) clean species name -fun.get.sp <- function(x) gsub(paste(" ", gsub("^([a-zA-Z]* [a-zA-Z]* )", "", x), - sep = ""), "", x, fixed = TRUE) -BurnsAndHonkalaSpeciesSummary$sp <- sapply(BurnsAndHonkalaSpeciesSummary[, "Scientific_name"], - fun.get.sp) -Species.Burns <- BurnsAndHonkalaSpeciesSummary$sp - - -######################################### canada check http://en.wikipedia.org/wiki/List_of_trees_of_Canada -Data.canadian.species <- read.csv("./data/species.list/canadian.species.csv", stringsAsFactors = FALSE) -Species.Canada <- Data.canadian.species$species - -######################### SPAIN BASED ON TABLE PROVIDED BY MIGUEL -Data.Species.Spain <- read.csv("./data/species.list/List_120_SPP.csv", stringsAsFactors = FALSE) -## head(Data.Species.Spain) -Species.Spain <- Data.Species.Spain$Scoentific.Name -######################################### SPECIE Sin Swizerland not in FRANCE -Species.Swiss <- c("Pinus montana", "Ulmus scabra") - -#################################### 3 SWEDEN -Data.Sweden <- read.csv("./data/species.list/Swedish_NFI_tree_species.csv", sep = ";", - stringsAsFactors = FALSE) -Species.Sweden <- Data.Sweden$Species - -########################### NEW ZEALAND -load("./data/species.list/vec.code.nvs.Rdata") ### load list of species code from the NVS data I used to calibrate SORTIE -Data.NVS.species <- read.csv("./data/species.list/CurrentNVSNames.csv", sep = ";", - stringsAsFactors = FALSE) - -table.NVS.tree <- Data.NVS.species[Data.NVS.species$NVS.Code %in% vec.code.nvs, ] -write.csv(table.NVS.tree, file = "./data/species.list/table.NVS.tree.csv") -Species.NZ <- table.NVS.tree$Species.Name - -########################### NSW -Data.NSW <- read.csv("./data/species.list/Sub-trop_RF_trees.csv", sep = ";", stringsAsFactors = FALSE) -Species.NSW <- Data.NSW$Species..trees...10cm.dbhob. - - -########################################### LOAD TRY SPECIES -try.species <- read.csv("./data/species.list/SPECIES.TRY.csv", stringsAsFactors = FALSE, - header = TRUE) -## head(try.species,20) dim(try.species) - -## genus already asked to try -genus.asked.try <- read.csv("./data/species.list/genus.asked.try.csv")$genus.asked.try - -#### LIST OF ALL SPECIES with short FIA -species.vector <- unique(c(Species.Spain, Species.Canada, Species.Burns, Species.Swiss, - Species.Sweden, Species.NZ, Species.NSW, Species.FIA.short)) -# - -### get genus -fun.get.genus <- function(x) gsub(paste(" ", gsub("^([a-zA-Z]* )", "", x), sep = ""), - "", x, fixed = TRUE) -Genus.tot <- unique(sapply(species.vector, fun.get.genus)) - -## all FIA data species.vector2 <- -## unique(c(Species.Spain,Species.Canada,Species.Burns -## ,Species.Swiss,Species.Sweden,as.character(Species.NZ),Species.NSW,Species.FIA.long)) - -## Genus.tot2 <- unique(sapply(species.vector2,fun.get.genus)) - - -#### GENUS TO ASK -GENUS.to.ASK <- Genus.tot[!(Genus.tot %in% genus.asked.try)] -## GENUS.to.ASK2 <- Genus.tot2[!(Genus.tot2 %in% genus.asked.try)] - -## CHECK which genus are in TRY -GENUS.TRY <- unique(sapply(try.species$AccSpeciesName, fun.get.genus)) -############################# 3 -genus.list.short <- sort(GENUS.to.ASK[(GENUS.to.ASK %in% GENUS.TRY)]) -write.csv(as.data.frame(genus.list.short), file = "./data/process/genus.list.try.csv") -sort(GENUS.to.ASK[!(GENUS.to.ASK %in% GENUS.TRY)]) -## genus.lis.long <- sort(GENUS.to.ASK2[(GENUS.to.ASK2 %in% GENUS.TRY)])