params2edr: Convert named parameter vector to EDR-compatible inputs

Description Usage Arguments Details Value Author(s)

View source: R/params2edr.R

Description

Creates a nested list whose components are suitable for passing to EDR.

Usage

1
params2edr(params, sep = ".", prospect = TRUE, version = 5)

Arguments

params

Named parameter vector

sep

Separator between PFT name and trait name. Must be a single character (default = ".").

prospect

Logical. If 'TRUE' (default), scan for PROSPECT traits and pass them to PROSPECT.

version

PROSPECT version

Details

If 'prospect = TRUE', parameters prefixed with 'prospect_' are passed to [prospect] with the specified 'version', and other parameters are passed to 'trait.values'.

The regular expression defining the separation is greedy, i.e. 'temperate.Early_Hardwood.SLA' will separate into 'temperate.Early_Hardwood' and 'SLA' (assuming the default 'sep = "."'). Therefore, it is crucial that trait names not contain any 'sep' characters (neither ED nor PROSPECT parameters should anyway). If this is a problem, use an alternate separator (e.g. '|').

Note that using 'sep = "."' allows this function to directly invert the default behavior of 'unlist'. That is, calling 'unlist(params2edr(params, prospect = FALSE)$trait.values)' will return the input vector of trait values. This makes 'unlist' a convenient way to go from a 'trait.values' list to a properly formatted 'params' vector.

Because unused ED parameters in the 'config.xml' are ignored, the PROSPECT parameters are saved in the 'trait.values' object as well, which may be useful for debugging.

Value

List containing 'spectra_list' and 'trait.values', both objects needed by [EDR].

Author(s)

Alexey Shiklomanov


ashiklom/edr-da documentation built on April 16, 2021, 9:33 p.m.