Write model-specific run scripts and configuration files
Source:R/run.write.configs.R
run.write.configs.RdWrite model-specific run scripts and configuration files
Arguments
- settings
a PEcAn settings list
- ensemble.size
number of ensemble runs
- input_design
Input design data.frame coordinating input files across runs. Contains columns for each sampled input (met, param, etc.) with row indices, as documented in
runModule.run.write.configs.- write
should the runs be written to the database?
- posterior.files
Filenames for posteriors for drawing samples for ensemble and sensitivity analysis (e.g.
post.distns.Rdata, orprior.distns.Rdata).- overwrite
logical: Replace output files that already exist?
Value
The settings list (invisibly), updated with ensemble IDs for SA
and ensemble analysis (e.g. settings$sensitivity.analysis$ensemble.id,
settings$ensemble$ensemble.id).
Details
Upstream contract (reads from settings$outdir):
samples.RdataProduced by
get.parameter.samples. Contains 5 bundled objects:trait.samples,sa.samples,ensemble.samples,runs.samples,env.samples. This function loadstrait.samplesandsa.samplesto build model configuration files. Ifinput_designcontains aparamcolumn,ensemble.samplesis rebuilt by subsettingtrait.samplesaccording to the design indices.
File-based side effects (saved to settings$outdir):
sensitivity.samples.<ensemble_id>.RdataContains
sa.run.ids(named list of run IDs per PFT/trait/quantile),sa.ensemble.id,sa.samples,pft.names, andtrait.names. Saved when sensitivity analysis is configured.ensemble.samples.<ensemble_id>.RdataContains
ens.run.ids(vector of run IDs),ens.ensemble.id,ens.samples,pft.names, andtrait.names. Saved when ensemble is configured.runs_manifest.csvA CSV table tracking all runs created, appended across ensemble and SA analyses.
Downstream contract: The sensitivity.samples.*.Rdata and
ensemble.samples.*.Rdata files are loaded by get.results
to match model outputs to their corresponding
parameter sets. This implicit file-based coupling is a refactoring target.
The default value for posterior.files is NA, in which case the
most recent posterior or prior (in that order) for the workflow is used.
When specified, posterior.files should be a vector of filenames with one
entry for each PFT. Specify filenames with no path; PFT outdirs will be
appended. This forces use of only files within this workflow, to avoid
confusion.