This function provides the block-based MCMC sampling approach.

analysis_sda_block(
  settings,
  block.list.all,
  X,
  obs.mean,
  obs.cov,
  t,
  nt,
  MCMC.args,
  block.list.all.pre = NULL
)

Arguments

settings

pecan standard multi-site settings list.

block.list.all

Lists of forecast and analysis outputs for each time point of each block. If t=1, we initialize those outputs of each block with NULL from the `sda.enkf.multisite` function.

X

A matrix contains ensemble forecasts with the dimensions of `[ensemble number, site number * number of state variables]`. The columns are matched with the site.ids and state variable names of the inside the `FORECAST` object in the `sda.enkf.multisite` script.

obs.mean

Lists of date times named by time points, which contains lists of sites named by site ids, which contains observation means for each state variables of each site for each time point.

obs.cov

Lists of date times named by time points, which contains lists of sites named by site ids, which contains observation covariances for all state variables of each site for each time point.

t

time point in format of YYYY-MM-DD.

nt

total length of time steps, corresponding to the `nt` variable in the `sda.enkf.multisite` function.

MCMC.args

arguments for the MCMC sampling, details can be found in the roxygen strucutre for control list in the `sda.enkf.multisite` function.

block.list.all.pre

pre-existed block.list.all object for passing the aqq and bqq to the current SDA run, the default is NULL. Details can be found in the roxygen structure for `pre_enkf_params` of the `sda.enkf.multisite` function

Value

It returns the `build.block.xy` object and the analysis results.

Details

This function will add data and constants into each block that are needed for the MCMC sampling.

Author

Dongchen Zhang