Learn R Programming

pomp (version 3.3)

kalman: Ensemble Kalman filters

Description

The ensemble Kalman filter and ensemble adjustment Kalman filter.

Usage

# S4 method for data.frame
enkf(
  data,
  Np,
  h,
  R,
  params,
  rinit,
  rprocess,
  ...,
  verbose = getOption("verbose", FALSE)
)

# S4 method for pomp enkf(data, Np, h, R, ..., verbose = getOption("verbose", FALSE))

# S4 method for data.frame eakf( data, Np, C, R, params, rinit, rprocess, ..., verbose = getOption("verbose", FALSE) )

# S4 method for pomp eakf(data, Np, C, R, ..., verbose = getOption("verbose", FALSE))

Arguments

data

either a data frame holding the time series data, or an object of class ‘pomp’, i.e., the output of another pomp calculation.

Np

the number of particles to use.

h

function returning the expected value of the observation given the state.

R

matrix; variance of the measurement noise.

params

optional; named numeric vector of parameters. This will be coerced internally to storage mode double.

rinit

simulator of the initial-state distribution. This can be furnished either as a C snippet, an R function, or the name of a pre-compiled native routine available in a dynamically loaded library. Setting rinit=NULL sets the initial-state simulator to its default. For more information, see ?rinit_spec.

rprocess

simulator of the latent state process, specified using one of the rprocess plugins. Setting rprocess=NULL removes the latent-state simulator. For more information, see ?rprocess_spec for the documentation on these plugins.

...

additional arguments supply new or modify existing model characteristics or components. See pomp for a full list of recognized arguments.

When named arguments not recognized by pomp are provided, these are made available to all basic components via the so-called userdata facility. This allows the user to pass information to the basic components outside of the usual routes of covariates (covar) and model parameters (params). See ?userdata for information on how to use this facility.

verbose

logical; if TRUE, diagnostic messages will be printed to the console.

C

matrix converting state vector into expected value of the observation.

Value

An object of class ‘kalmand_pomp’.

Note for Windows users

Some Windows users report problems when using C snippets in parallel computations. These appear to arise when the temporary files created during the C snippet compilation process are not handled properly by the operating system. To circumvent this problem, use the cdir and cfile options (described here) to cause the C snippets to be written to a file of your choice, thus avoiding the use of temporary files altogether.

References

G. Evensen. Sequential data assimilation with a nonlinear quasi-geostrophic model using Monte Carlo methods to forecast error statistics. Journal of Geophysical Research: Oceans 99, 10143--10162, 1994.

J.L. Anderson. An ensemble adjustment Kalman filter for data assimilation. Monthly Weather Review 129, 2884--2903, 2001.

G. Evensen. Data assimilation: the ensemble Kalman filter. Springer-Verlag, 2009.

See Also

More on particle-filter based methods in pomp: bsmc2(), cond.logLik(), eff.sample.size(), filter.mean(), filter.traj(), mif2(), pfilter(), pmcmc(), pred.mean(), pred.var(), saved.states(), wpfilter()

More on pomp estimation algorithms: abc(), bsmc2(), estimation_algorithms, mif2(), nlf, pmcmc(), pomp-package, probe.match, spect.match