kipe.estimation module

Parameter estimation with the ROUKF: kipe estimation.

Estimation runs the reduced-order unscented Kalman filter (kipe.roukf) over a set of measurements: at each measurement time, the sigma points are propagated with the forward solver, compared with the data through the observation operators, and the estimate is corrected. Outer iterations repeat the pass, starting from the previous estimate. estimate() builds all of this from a study file.

The estimation history is written to <output.path>/estimation/: history.csv (one row per assimilation step, written as the filter runs) and history.npz (all steps, including the full parameter covariance). estimate() also writes the provenance of the run there (kipe.provenance). With several noise realizations (synthesis.realizations), each estimation uses the data of one realization and writes to its subdirectory, e.g., estimation/r07/.

class kipe.estimation.Estimation(solver: ForwardSolver, parameterization: Parameterization, measurements: list[Measurement], options: EstimationOptions, output: Path, comm: mpi4py.MPI.Comm = mpi4py.MPI.COMM_WORLD)[source]

Bases: object

Parameter estimation with the ROUKF over a set of measurements.

Parameters:
  • solver – the forward solver

  • parameterization – the estimated parameters, with their initial estimate and uncertainty

  • measurements – the measurements; they must share their times

  • options – number of outer iterations and sigma-point stencil

  • output – directory for the estimation history

  • comm – communicator over which the model state is distributed

Raises:

StudyFileError – if the measurements have different times

run() → Parameters[source]

Run the outer iterations, each a pass of the filter over all measurements.

Each pass after the first starts from the previous estimate, with the initial uncertainty.

Returns:

the estimated parameters, as physical values

kipe.estimation.estimate(study: StudyOptions, comm: mpi4py.MPI.Comm = mpi4py.MPI.COMM_WORLD, realization: int = 0) → Parameters[source]

Estimate the parameters of a study; write the estimation history and the provenance.

Builds the forward solver, the estimated parameters and the measurements (with their data) from the study file, then runs the Estimation.

Parameters:
  • study – the study options

  • comm – communicator over which the model state is distributed

  • realization – number of the noise realization whose data are used (synthesis.realizations)

Returns:

the estimated parameters, as physical values

Raises:

StudyFileError – if the study lacks what estimation needs, has no such realization, or the data do not fit