Trait database harmonization
Miquel De Cáceres / Nicolas Martin-StPaul
2024-11-08
Source:vignettes/TraitDatabaseHarmonization.Rmd
TraitDatabaseHarmonization.Rmd
Introduction
Species parameter values cannot be drawn from a single data source. Moreover, the availability of plant trait data continuously increases, as additional efforts are made in observational or experimental studies (Kattge et al. 2020). This means that multiple data sources need to be harmonized before species parameter tables are build, in terms of:
a) Nomenclature of measured variables.
b) Measurement units.
c) Taxonomy of the measured biological entities.
The result of this harmonization needs to be stored in a harmonized format for subsequent use when creating species parameter tables. This vignette illustrates the harmonization procedures for an example data set using package trait4models and the usual tidyverse packages. Harmonization of allometric equations is explained in a companion vignette.
IMPORTANT: This vignette is not self-contained, in the sense that it cannot be reproduced without access to data sets that are not included. Nevertheless, it is intended to serve as example of species parameterization for other regions.
Required packages
Assuming we have traits4models installed, we load it and other common packages that we will employ in this vignette:
Example dataset
As example for the harmonization process, here we will use data from a Bartlett et al. (2016). Much larger data sets can (and should) be processed, but they take much more time. Bartlett et al. provide traits that describe the leaf/stem/root hydraulic vulnerability curves of several species as well as water potential corresponding to stomatal aperture. We start by loading the dataset:
DB_path <- "~/OneDrive/EMF_datasets/PlantTraitDatabases/"
db <- readr::read_csv(paste0(DB_path, "Sources/Bartlett_et_al_2016/pnas.1604088113.sd01.csv"))
The data looks as follows:
db
## # A tibble: 310 × 26
## Group Name Biome `Evergreen/Decid` `Leaf P50 (MPa)` `TLP (MPa)`
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 Angiosperm Acacia gregg… Semi… E NA -4.25
## 2 Angiosperm Acer campest… Temp… D -1.32 -1.9
## 3 Angiosperm Acer grandid… Temp… D NA -2.45
## 4 Angiosperm Acer monspes… Med.… D -1.89 -2.2
## 5 Angiosperm Acer negundo Temp… D NA -1.59
## 6 Angiosperm Acer pseudop… Temp… D -1.19 -1.4
## 7 Angiosperm Acer rubrum Temp… D -1.7 -1.59
## 8 Angiosperm Acer sacchar… Temp… D NA -2.78
## 9 Angiosperm Adansonia ru… Trop… D NA -1.12
## 10 Angiosperm Adansonia za Trop… D NA -1.26
## # ℹ 300 more rows
## # ℹ 20 more variables: `Stem P50 (MPa)` <dbl>, `Stem P88 (MPa)` <dbl>,
## # `Stem P12 (MPa)` <dbl>, `Root P50 (MPa)` <dbl>, `Gs P50 (MPa)` <dbl>,
## # `Gs 95 (MPa)` <dbl>, `plant Psi_lethal (MPa)` <dbl>,
## # `Psimin_predawn (MPa)` <dbl>, `Psimin_midday (MPa)` <dbl>,
## # `Psimin_midday and/or predawn Method` <chr>,
## # `Reference (for Leaf P50)` <chr>, `Reference (for TLP)` <chr>, …
Harmonizing notation and measurement units
The first steps to be done are to harmonize trait notation, i.e. how
plant traits are referred to, and if necessary, change their units.
Package traits4models includes a data table called
HarmonizedTraitDefinition
that presents plant trait
definitions and their required notation and units:
Definition | Notation | Type | Units | MinimumValue | MaximumValue |
---|---|---|---|---|---|
Life form | LifeForm | String | NA | NA | NA |
Growth form | GrowthForm | String | NA | NA | NA |
Leaf shape | LeafShape | String | NA | NA | NA |
Leaf area | LeafArea | Numeric | mm2 | 0 | NA |
Leaf size (category) | LeafSize | String | NA | NA | NA |
Leaf angle (inclination, orientation) | LeafAngle | Numeric | degrees | NA | NA |
Dispersal syndrome | DispersalMode | String | NA | NA | NA |
Leaf phenology type | PhenologyType | String | NA | NA | NA |
Duration of leaves (leaf lifespan) | LeafDuration | Numeric | yrs | NA | NA |
Maximum plant height | Hmax | Numeric | cm | 0 | NA |
Maximum (tree) diameter | Dmax | Numeric | cm | 0 | NA |
Actual plant height | Hact | Numeric | cm | 0 | NA |
Rooting depth | Z95 | Numeric | mm | 0 | NA |
Crown ratio (crown length divided over total height) | CrownRatio | Numeric | NA | NA | NA |
Leaf area per leaf dry mass (specific leaf area, SLA), 1/ Leaf mass per area (LMA) | SLA | Numeric | m2kg-1 = mm2mg-1 | 0 | NA |
Leaf area to sapwood area ratio (Al2As), 1 / Huber Value (Hv) | Al2As | Numeric | m2*m-2 | 0 | NA |
Proportion of sapwood corresponding to conducive elements (vessels or tracheids) as opposed to parenchymatic tissue. | conduit2sapwood | Numeric | NA | NA | NA |
Specific root length | SRL | Numeric | cm/g | 0 | NA |
Proportion of total fine fuels that are dead | pDead | Numeric | [0-1] | 0 | 1 |
Stem carbon (C) content per stem dry mass | WoodC | Numeric | NA | NA | NA |
Density of leaf tissue (dry weight over volume) | LeafDensity | Numeric | gcm-3 = mgmm-3 | 0 | NA |
Wood tissue density (at 0% humidity!) | WoodDensity | Numeric | gcm-3 = mgmm-3 | 0 | NA |
Density of fine root tissue (dry weight over volume). | FineRootDensity | Numeric | gcm-3 = mgmm-3 | 0 | NA |
Leaf width | LeafWidth | Numeric | cm | 0 | NA |
Maximum stomatal conductance to water vapor | Gswmax | Numeric | mol H2O * s-1 * m-2 | 0 | NA |
Minimum stomatal conductance to water vapor | Gswmin | Numeric | mol H2O * s-1 * m-2 | 0 | NA |
Osmotic potential at full turgor of leaves | LeafPI0 | Numeric | MPa | NA | NA |
Modulus of elasticity (capacity of the cell wall to resist changes in volume in response to changes in turgor) of leaves | LeafEPS | Numeric | NA | NA | NA |
Leaf apoplastic fraction | LeafAF | Numeric | [0-1] | NA | NA |
Leaf water potential at turgor loss point | Ptlp | Numeric | MPa | NA | NA |
Slope coefficient of the Medlyn stomatal conductance model | g1_Medlyn | Numeric | NA | NA | NA |
Parameters of the stomatal response to leaf water potential | Gs_P20 | Numeric | MPa | NA | 0 |
Parameters of the stomatal response to leaf water potential | Gs_P50 | Numeric | MPa | NA | 0 |
Parameters of the stomatal response to leaf water potential | Gs_P80 | Numeric | MPa | NA | 0 |
Parameters of the stomatal response to leaf water potential | Gs_P90 | Numeric | MPa | NA | 0 |
Parameters of the stomatal response to leaf water potential | Gs_P95 | Numeric | MPa | NA | 0 |
Leaf photosynthesis carboxylation capacity (Vcmax) per leaf area (Farquhar model) | Vmax | Numeric | NA | 0 | NA |
Leaf photosynthesis electron transport capacity (Jmax) per leaf area (Farquhar model) | Jmax | Numeric | NA | 0 | NA |
Leaf nitrogen (N) content per leaf dry mass | Nleaf | Numeric | mg/g | 0 | NA |
Wood nitrogen (N) content per wood dry mass | Nsapwood | Numeric | mg/g | 0 | NA |
Fine root nitrogen (N) content per fine root dry mass | Nfineroot | Numeric | mg/g | 0 | NA |
Maximum stem-specific hydraulic conductivity | Ks | Numeric | kg m-1 MPa-1 s-1 | 0 | NA |
Maximum leaf-specific hydraulic conductivity (Ks*Hv) | Kl | Numeric | 10-4 kg m-1 MPa-1 s-1 | 0 | NA |
Maximum leaf hydraulic conductance | kleaf | Numeric | mmolm-2s-1MPa-1 | 0 | NA |
Maximum whole-plant hydraulic conductance | kplant | Numeric | mmolm-2s-1MPa-1 | 0 | NA |
Parameters of the stem vulnerability curve | VCstem_P12 | Numeric | MPa | NA | 0 |
Parameters of the stem vulnerability curve | VCstem_P50 | Numeric | MPa | NA | 0 |
Parameters of the stem vulnerability curve | VCstem_P88 | Numeric | MPa | NA | 0 |
Parameters of the stem vulnerability curve | VCstem_slope | Numeric | NA | 0 | NA |
Parameters of the leaf vulnerability curve | VCleaf_P12 | Numeric | MPa | NA | 0 |
Parameters of the leaf vulnerability curve | VCleaf_P50 | Numeric | MPa | NA | 0 |
Parameters of the leaf vulnerability curve | VCleaf_P88 | Numeric | MPa | NA | 0 |
Parameters of the leaf vulnerability curve | VCleaf_slope | Numeric | NA | 0 | NA |
Parameters of the root vulnerability curve | VCroot_P12 | Numeric | MPa | NA | 0 |
Parameters of the root vulnerability curve | VCroot_P50 | Numeric | MPa | NA | 0 |
Parameters of the root vulnerability curve | VCroot_P88 | Numeric | MPa | NA | 0 |
Parameters of the root vulnerability curve | VCroot_slope | Numeric | NA | 0 | NA |
Leaf dry mass per leaf fresh mass (leaf dry matter content, LDMC) | LDMC | Numeric | mg/g | 0 | NA |
Leaf fuel moisture content (% of dry weight) | LFMC | Numeric | % of dry weight | 0 | NA |
Ratio of foliar (photosynthetic) + small branches (<6.35 mm) dry biomass to foliar (photosynthetic) dry biomass | r635 | Numeric | >=1 | 1 | NA |
High fuel heat content | HeatContent | Numeric | kJ/kg | 0 | NA |
Surface-area-to-volume ratio | SAV | Numeric | m2/m3 | 0 | NA |
Percent of lignin+cutin over dry weight in leaves | LigninPercent | Numeric | % | 0 | 100 |
Bark thickness | BarkThickness | Numeric | mm | 0 | NA |
Seedbank average longevity | SeedLongevity | Numeric | yrs | 0 | NA |
Maturation height | Hmat | Numeric | cm | 0 | NA |
Maturation diameter | Dmat | Numeric | cm | 0 | NA |
Seed dry mass | SeedMass | Numeric | mg | 0 | NA |
Succulence (g of water /m2 of projected leaf) | LeafSucculence | Numeric | g/m2 | 0 | NA |
Leaf projected to half developed area (m2/m2) | LeafProjectedToHalfDevelopedArea | Numeric | m2/m2 | 0 | NA |
Minimum conductance of the leaf to water vapor on developed area basis (including cuticule and stomatal leakiness) | GminLeaf | Numeric | mmolm-2s-1 | 0 | NA |
Q10 of the initial gmin response to temperature (before Tp) | Q10gminPhase1 | Numeric | NA | NA | NA |
Q10 of the initial gmin response to temperature (after Tp) | Q10gminPhase2 | Numeric | NA | NA | NA |
Transition phase for gmin dependence to temperature | GminTransitionPhase | Numeric | C | NA | NA |
In the case of Bartlett’s dataset we are interested in points of the
vulnerability curve and stomatal behavior. We can check their
corresponding names in HarmonizedTraitDefinition
. For
example, Leaf P50 (MPa)
is the water potential
corresponding to the 50% conductance loss in leaves, and should be named
VCleaf_P50
according to
HarmonizedTraitDefinition
, and so on. We can use
dplyr function rename()
to harmonize trait
notation. In this case, all plant traits we are interested in are given
in units of MPa, and HarmonizedTraitDefinition
reports the
same units for these traits, so there is no need to harmonize
measurement units. The code for notation harmonization could be as
follows:
db_var <- db |>
dplyr::select(Name, "Leaf P50 (MPa)", "Stem P50 (MPa)", "Stem P88 (MPa)", "Stem P12 (MPa)",
"Root P50 (MPa)", "Gs P50 (MPa)", "Gs 95 (MPa)") |>
dplyr::rename(originalName = Name,
VCleaf_P50 = "Leaf P50 (MPa)",
VCstem_P50 = "Stem P50 (MPa)",
VCstem_P12 = "Stem P12 (MPa)",
VCstem_P88 = "Stem P88 (MPa)",
VCroot_P50 = "Root P50 (MPa)",
Gs_P50 = "Gs P50 (MPa)",
Gs_P95 = "Gs 95 (MPa)")
Note that we also renamed the column containing the plant species
into originalName
. The original name represents the taxon
name that is used by the data set owner/provider and is key for
taxonomic harmonization. The result of this step should contain
originalName
, plus one column for each harmonized trait,
and (preferably) three columns called Reference
,
DOI
and Priority
. We can add those columns
manually using:
db_var <- db_var |>
dplyr::mutate(Reference = "Bartlett et al. (2016). The correlations and sequence of plant stomatal, hydraulic, and wilting responses to drought. PNAS 113: 13098-13103",
DOI = "10.1073/pnas.1604088113",
Priority = 3)
Columns Reference
and DOI
indicates the
bibliographic source of the data, whereas Priority
allows
defining an order in which trait data sources will be processed. Those
with highest priority order (lowest value of Priority
) will
be given preference.
db_var
## # A tibble: 310 × 11
## originalName VCleaf_P50 VCstem_P50 VCstem_P88 VCstem_P12 VCroot_P50 Gs_P50
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Acacia greggii NA NA NA NA NA NA
## 2 Acer campestre -1.32 -3.87 -4.60 -3.19 NA NA
## 3 Acer grandiden… NA -3.66 -7.14 -0.92 -0.86 NA
## 4 Acer monspessu… -1.89 -3.31 -4.61 -2.02 -1.6 NA
## 5 Acer negundo NA -1.34 -2.74 -0.451 -0.3 NA
## 6 Acer pseudopla… -1.19 -2.37 -2.71 -1.95 NA NA
## 7 Acer rubrum -1.7 -3.9 -6 -2.5 -1.69 NA
## 8 Acer saccharum NA -3.97 NA NA -1.5 -1.56
## 9 Adansonia rubr… NA -1.1 -2.82 -0.293 NA NA
## 10 Adansonia za NA -1.7 -3.49 -0.59 NA NA
## # ℹ 300 more rows
## # ℹ 4 more variables: Gs_P95 <dbl>, Reference <chr>, DOI <chr>, Priority <dbl>
Taxonomic harmonization
Package traits4models currently relies on World Flora Online for taxonomic harmonization, via package WorldFlora (Kindt 2020) available at CRAN. This latter package requires a static copy of the World Flora Online Taxonomic Backbone data that can be downloaded from the World Flora Online website. Note that you should use a different DOI reference when reporting your harmonization procedures. We are using here v.2024.06. We assume the user has already downloaded the backbone and stored it in a file called classification.csv.
WFO_file <- paste0(DB_path, "WFO_Backbone/classification.csv")
Taxonomic harmonization is done by calling function
harmonize_taxonomy_WFO()
with a data frame (where notation
and units are already harmonized) and the path to the WFO backbone (we
omit the console output):
db_post <- traits4models::harmonize_taxonomy_WFO(db_var, WFO_file)
The function requires that the input data frame contains a column
called originalName
, to identify the original taxa names
(additional columns are simply transferred to the output). It performs
both direct and fuzzy matching, which may lead to large processing time
for large datasets. If we inspect the resulting data frame, we will see
the additional columns, informing about accepted names and parent
taxonomic entities:
head(db_post)
## # A tibble: 6 × 17
## originalName acceptedName acceptedNameAuthorship family genus specificEpithet
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 Acacia gregg… Senegalia g… (A.Gray) Britton & Ro… Fabac… Sene… greggii
## 2 Acer campest… Acer campes… L. Sapin… Acer campestre
## 3 Acer grandid… Acer saccha… (Nutt.) Desmarais Sapin… Acer saccharum
## 4 Acer monspes… Acer monspe… L. Sapin… Acer monspessulanum
## 5 Acer negundo Acer negundo L. Sapin… Acer negundo
## 6 Acer pseudop… Acer pseudo… L. Sapin… Acer pseudoplatanus
## # ℹ 11 more variables: taxonRank <chr>, VCleaf_P50 <dbl>, VCstem_P50 <dbl>,
## # VCstem_P88 <dbl>, VCstem_P12 <dbl>, VCroot_P50 <dbl>, Gs_P50 <dbl>,
## # Gs_P95 <dbl>, Reference <chr>, DOI <chr>, Priority <dbl>
Checking harmonized trait data
The packages includes function check_harmonized_trait()
to check whether a given data frame conforms in structure and content to
what is later required for parameter table filling:
check_harmonized_trait(db_post)
## ✔ The data frame is acceptable as harmonized trait data source.
In this case, the data set is ready to be used in parameter estimation. As an example, we can run the same checking function with the data base before taxonomic harmonization:
check_harmonized_trait(db_var)
## ! Taxonomy columns missing: acceptedName acceptedNameAuthorship family genus specificEpithet taxonRank
## ! The data frame is not acceptable as harmonized trait data source.
Storing harmonized dataset
Harmonized data tables can be stored in .csv text
format or compressed .rds format. Moreover, all tables
should be stored in the same directory, here in the
Products/harmonized/
path.
Accessing harmonized trait data
List of harmonized trait databases
As mentioned in the introduction, here it is assumed that a set of plant trait databases have been harmonized. In our case, harmonized data files have been stored in the following path:
harmonized_trait_path <- "~/OneDrive/EMF_datasets/PlantTraitDatabases/Products/harmonized"
We can list the set of harmonized sources using:
trait_files <- list.files(path = harmonized_trait_path, full.names = FALSE)
trait_files
## [1] "00_compilation_CCfineroot.rds"
## [2] "00_compilation_CCleaf.rds"
## [3] "00_compilation_CCsapwood.rds"
## [4] "00_compilation_FineFuelRatio.rds"
## [5] "00_compilation_Flammability_HeatContent.rds"
## [6] "00_compilation_Flammability_SAV.rds"
## [7] "00_compilation_Phenology_Budburst.rds"
## [8] "00_compilation_Phenology_Senescence.rds"
## [9] "Augustine_McCulloh_2024.rds"
## [10] "Baez_et_al_2022_BarkThickness.rds"
## [11] "Baez_et_al_2022_GrowthForm.rds"
## [12] "Baez_et_al_2022_Ks.rds"
## [13] "Baez_et_al_2022_LDMC.rds"
## [14] "Baez_et_al_2022_LeafArea.rds"
## [15] "Baez_et_al_2022_Nleaf.rds"
## [16] "Baez_et_al_2022_SLA.rds"
## [17] "Baez_et_al_2022_WoodDensity.rds"
## [18] "Bartlett_et_al_2012.rds"
## [19] "Bartlett_et_al_2016.rds"
## [20] "Bjorkman_et_al_2018_Hact.rds"
## [21] "Bjorkman_et_al_2018_LDMC.rds"
## [22] "Bjorkman_et_al_2018_LeafArea.rds"
## [23] "Bjorkman_et_al_2018_Nleaf.rds"
## [24] "Bjorkman_et_al_2018_SeedMass.rds"
## [25] "Bjorkman_et_al_2018_SLA.rds"
## [26] "Bjorkman_et_al_2018_Z95.rds"
## [27] "Chianucci_et_al_2018_LeafAngle.rds"
## [28] "Choat_et_al_2012_XFT.rds"
## [29] "De_Caceres_et_al_2019_CR_pDead.rds"
## [30] "Diaz_et_al_2022.rds"
## [31] "Duursma_et_al_2018.rds"
## [32] "Eisley&Wolfe_2024.rds"
## [33] "Falster_et_al_2021_Al2As.rds"
## [34] "Falster_et_al_2021_Hact.rds"
## [35] "Falster_et_al_2021_Jmax.rds"
## [36] "Falster_et_al_2021_Ks.rds"
## [37] "Falster_et_al_2021_LeafAngle.rds"
## [38] "Falster_et_al_2021_LeafArea.rds"
## [39] "Falster_et_al_2021_LeafDensity.rds"
## [40] "Falster_et_al_2021_LeafDuration.rds"
## [41] "Falster_et_al_2021_LeafEPS.rds"
## [42] "Falster_et_al_2021_LeafPI0.rds"
## [43] "Falster_et_al_2021_LeafShape.rds"
## [44] "Falster_et_al_2021_LeafWidth.rds"
## [45] "Falster_et_al_2021_LifeForm.rds"
## [46] "Falster_et_al_2021_Nsapwood.rds"
## [47] "Falster_et_al_2021_SeedMass.rds"
## [48] "Falster_et_al_2021_SLA.rds"
## [49] "Falster_et_al_2021_SRL.rds"
## [50] "Falster_et_al_2021_StemEPS.rds"
## [51] "Falster_et_al_2021_VCstem_P12.rds"
## [52] "Falster_et_al_2021_VCstem_P50.rds"
## [53] "Falster_et_al_2021_VCstem_P88.rds"
## [54] "Falster_et_al_2021_Vmax.rds"
## [55] "Falster_et_al_2021_WoodDensity.rds"
## [56] "Guerrero_Ramirez_et_al_2021_GRooT_FineRootDensity.rds"
## [57] "Guerrero_Ramirez_et_al_2021_GRooT_Nfineroot.rds"
## [58] "Guerrero_Ramirez_et_al_2021_GRooT_RootingDepth.rds"
## [59] "Guerrero_Ramirez_et_al_2021_GRooT_SRL.rds"
## [60] "Guillemot_et_al_2022.rds"
## [61] "Henry_et_al_2019.rds"
## [62] "Hoshika_et_al_2018.rds"
## [63] "Huang_et_al_2024.rds"
## [64] "Journe_et_al_2024.rds"
## [65] "Kattge_et_al_2020_DispersalMode.rds"
## [66] "Kattge_et_al_2020_GrowthForm.rds"
## [67] "Kattge_et_al_2020_Hact.rds"
## [68] "Kattge_et_al_2020_Jmax.rds"
## [69] "Kattge_et_al_2020_LeafAngle.rds"
## [70] "Kattge_et_al_2020_LeafArea.rds"
## [71] "Kattge_et_al_2020_LeafDensity.rds"
## [72] "Kattge_et_al_2020_LeafDuration.rds"
## [73] "Kattge_et_al_2020_LeafEPS.rds"
## [74] "Kattge_et_al_2020_LeafPI0.rds"
## [75] "Kattge_et_al_2020_LeafShape.rds"
## [76] "Kattge_et_al_2020_LeafWidth.rds"
## [77] "Kattge_et_al_2020_LifeForm.rds"
## [78] "Kattge_et_al_2020_LigninPercent.rds"
## [79] "Kattge_et_al_2020_Nfineroot.rds"
## [80] "Kattge_et_al_2020_Nleaf.rds"
## [81] "Kattge_et_al_2020_Nsapwood.rds"
## [82] "Kattge_et_al_2020_PhenologyType.rds"
## [83] "Kattge_et_al_2020_SeedLongevity.rds"
## [84] "Kattge_et_al_2020_SeedMass.rds"
## [85] "Kattge_et_al_2020_ShadeTol.rds"
## [86] "Kattge_et_al_2020_SLA.rds"
## [87] "Kattge_et_al_2020_SRL.rds"
## [88] "Kattge_et_al_2020_Vmax.rds"
## [89] "Kattge_et_al_2020_WoodC.rds"
## [90] "Kattge_et_al_2020_WoodDensity.rds"
## [91] "Kattge_et_al_2020_Z95.rds"
## [92] "Klein_et_al_2014.rds"
## [93] "Kunert_Tomaskova_2020.rds"
## [94] "Lens_et_al_2016.rds"
## [95] "Lin_et_al_2015.rds"
## [96] "Liu_et_al_2019.rds"
## [97] "MartinStPaul_et_al_2017.rds"
## [98] "Morris_et_al_2016.rds"
## [99] "Ocampo_Zuleta_Pausas_Paula_2023_FLAMITS_HeatContent.rds"
## [100] "Petruzzellis_et_al_2021.rds"
## [101] "Pisek_Adamson_2020_LeafAngle.rds"
## [102] "Ramirez_Valiente_et_al_2020.rds"
## [103] "Sjoman_et_al_2015.rds"
## [104] "Sjoman_et_al_2018.rds"
## [105] "Tavares_et_al_2023.rds"
## [106] "Tavsanoglu_Pausas_2018_Hact.rds"
## [107] "Tavsanoglu_Pausas_2018_LDMC.rds"
## [108] "Tavsanoglu_Pausas_2018_LeafArea.rds"
## [109] "Tavsanoglu_Pausas_2018_LeafDuration.rds"
## [110] "Tavsanoglu_Pausas_2018_LeafShape.rds"
## [111] "Tavsanoglu_Pausas_2018_LifeForm.rds"
## [112] "Tavsanoglu_Pausas_2018_pDead.rds"
## [113] "Tavsanoglu_Pausas_2018_PhenologyType.rds"
## [114] "Tavsanoglu_Pausas_2018_SeedMass.rds"
## [115] "Tavsanoglu_Pausas_2018_SLA.rds"
## [116] "Tavsanoglu_Pausas_2018_WoodDensity.rds"
## [117] "Tavsanoglu_Pausas_2018_Z95.rds"
## [118] "Tumber_Davila_et_al_2022.rds"
## [119] "Vilagrosa_et_al_2014.rds"
## [120] "Wang_et_al_2022_CPTD.rds"
## [121] "Wang_et_al_2024.rds"
## [122] "Wolfe_et_al_2023.rds"
## [123] "Yan_et_al_2020.rds"
## [124] "Yebra_et_al_2024_LFMC.rds"
## [125] "Zhu_et_al_2016.rds"
## [126] "Zhu_et_al_2018.rds"
Querying data for particular traits or species
Before filling any species parameter table, it may be useful to
inspect the amount of information available for particular traits or
species. Package trait4models provides a couple of
utility functions for this. For example, we can load all values for
Gswmin, the minimum stomatal conductance, using function
get_trait_data()
:
gsmin_data <- get_trait_data(harmonized_trait_path, "Gswmin",
progress = FALSE)
head(gsmin_data)
## originalName acceptedName acceptedNameAuthorship family genus
## 1 Abies alba Abies alba Mill. Pinaceae Abies
## 2 Abies lasiocarpa Abies lasiocarpa (Hook.) Nutt. Pinaceae Abies
## 3 Abies sibirica Abies sibirica Ledeb. Pinaceae Abies
## 4 Acacia koa Acacia koa A.Gray Fabaceae Acacia
## 5 Acacia maidenii Acacia maidenii F.Muell. Fabaceae Acacia
## 6 Acacia mangium Acacia mangium Willd. Fabaceae Acacia
## specificEpithet taxonRank Gswmin Reference
## 1 alba species 0.001500000 Wang et al. (2024)
## 2 lasiocarpa species 0.004779429 Boyce and Saunders (2000)
## 3 sibirica species 0.003044600 Brodribb McAdam, et al. (2014)
## 4 koa species 0.003800000 Pasquet-Kok Creese, et al. (2010)
## 5 maidenii species 0.004200000 Warren Aranda, et al. (2011)
## 6 mangium species 0.004750000 Warren Aranda, et al. (2011)
## Priority
## 1 1
## 2 1
## 3 1
## 4 1
## 5 1
## 6 1
Analogously, if we are interested in querying trait information for a
particular taxa, we can use function get_taxon_data()
:
ph_data <- get_taxon_data(harmonized_trait_path, "Pinus halepensis",
progress = FALSE)
head(ph_data)
## Trait Value Units
## 1 LifeForm Phanerophyte <NA>
## 2 LifeForm Phanerophyte <NA>
## 3 LifeForm Phanerophyte <NA>
## 4 GrowthForm Tree <NA>
## 5 GrowthForm Tree <NA>
## 8 LeafShape Needle <NA>
## Reference
## 1 Sophie Gachet, Errol V\xe9la, Thierry Tatoni, 2005, BASECO: a floristic and ecological database of Mediterranean French flora. Biodiversity and Conservation 14(4):1023-1034
## 2 Dressler S, M Schmidt, G Zizka (2014) Introducing African Plants\x97A Photo Guide\x97An Interactive Photo Data-Base and Rapid Identification Tool for Continental Africa. Taxon 63(5) 1159-1161 DOI: http://dx.doi.org/10.12705/635.26
## 3 Greuter1984
## 4 Weigelt, P., C. K\xf6nig, and H. Kreft (2019) GIFT \x96 A Global Inventory of Floras and Traits for macroecology and biogeography. bioRxiv doi.org/10.1101/535005
## 5 Liu et al. 2019
## 8 unpub.
## Priority
## 1 1
## 2 1
## 3 1
## 4 1
## 5 2
## 8 1