Skip to contents

Read model output and save parsed results for sensitivity and ensemble analyses

Usage

get.results(
  settings,
  sa.ensemble.id = NULL,
  ens.ensemble.id = NULL,
  variable = NULL,
  start.year = NULL,
  end.year = NULL
)

Arguments

settings

list, read from settings file (xml) using PEcAn.settings::read.settings()

sa.ensemble.id, ens.ensemble.id

ensemble IDs for the sensitivity analysis and ensemble analysis. If not provided, they are first looked up from settings, then if not found they are not used and the most recent set of results is read from samples.Rdata in directory settings$outdir

variable

variables to retrieve, as vector of names or expressions

start.year, end.year

first and last years to retrieve

Value

Nothing (called for side effects). Saves sensitivity.output and/or ensemble.output .Rdata files to settings$outdir.

Details

Upstream contract (reads from settings$outdir):

sensitivity.samples.<id>.Rdata or samples.Rdata

Loaded to obtain sa.run.ids, pft.names, trait.names, and sa.samples for sensitivity analysis. Produced by run.write.configs.

ensemble.samples.<id>.Rdata or samples.Rdata

Loaded to obtain ens.run.ids, pft.names, and trait.names for ensemble analysis. Produced by run.write.configs.

File-based side effects (saved to settings$outdir):

sensitivity.output.<var>.<years>.<id>.Rdata

Contains sensitivity.output: a named list (PFT -> matrix[n_quantiles x n_traits]) of model output values corresponding to each SA run. One file per variable/year combination.

ensemble.output.<var>.<years>.<id>.Rdata

Contains ensemble.output: a numeric vector of model output values, one per ensemble member. One file per variable/year combination.

Downstream contract: sensitivity.output.*.Rdata is loaded by run.sensitivity.analysis. ensemble.output.*.Rdata is loaded by run.ensemble.analysis. Both use these files to compute diagnostics and plots. This implicit file-based coupling is a refactoring target.

Author

David LeBauer, Shawn Serbin, Mike Dietze, Ryan Kelly