invert.auto.Rd
Inversion with automatic convergence checking
invert.auto(observed, invert.options, return.samples = TRUE, save.samples = NULL, quiet = FALSE, parallel = TRUE, parallel.cores = NULL, parallel.output = "/dev/null")
observed | Vector, matrix, or data frame (coerced to matrix) of
observed values. For spectral data, wavelengths are rows and spectra are
columns. Dimensions must align with the output of |
---|---|
invert.options | Parameters related to inversion. |
return.samples | Include full samples list in output. Default = |
save.samples | Save samples to file as the inversion proceeds (useful
for debugging). If |
quiet | Suppress progress bar and status messages. Default=FALSE |
parallel | Logical. Whether or not to run multiple chains in parallel
on multiple cores (default = |
parallel.cores | Number of cores to use for parallelization. If
|
parallel.output | Filename (or '' for stdout) for printing parallel
outputs. Use with caution. Default = |
List including results
(summary statistics), samples
(mcmc.list
object, or NA
if return.samples=FALSE
), and other
information.
Performs an inversion via the invert.custom
function with
multiple chains and automatic convergence checking. Convergence checks are
performed using the multivariate Gelman-Rubin diagnostic.
Parameters specific to invert.auto
are described here.
For the remaining parameters, see invert.custom()
.
model
-- The model to be inverted. This should be an R function that
takes params
as input and returns one column of observed
(nrows should be the same). Constants should be implicitly included here.
nchains
-- Number of independent chains.
inits.function
-- Function for generating initial conditions.
ngibbs.max
-- Maximum number of total iterations (per chain). DEFAULT = 5e6
ngibbs.min
-- Minimum number of total iterations (per chain). DEFAULT = 5000.
ngibbs.step
-- Number of iterations between convergence checks. Default = 1000.
run_first
-- Function to run before running sampling. Takes parallel
inputs list containing runID, initial values, and resume (NULL) as an
argument.
calculate.burnin
-- If TRUE
, use PEcAn.assim.batch::autoburin
function to calculate burnin. Otherwise, assume burnin is min(niter/2, iter_conv_check)
.
threshold
-- Maximum value of the Gelman-Rubin diagnostic for
determining convergence. Default = 1.1