romtools.workflows.inverse.eki_drivers#

Functions

compute_eki_update(parameter_samples, qois, ...)

compute_eki_update2(parameter_samples, qois, ...)

run_eki(model, parameter_space, ...[, ...])

Run a single-fidelity ensemble Kalman inversion (EKI) workflow.

romtools.workflows.inverse.eki_drivers.run_eki(model, parameter_space, observations, observations_covariance, parameter_mins=None, parameter_maxes=None, absolute_eki_directory='/home/runner/work/rom-tools-and-workflows/rom-tools-and-workflows/work/', ensemble_size=30, initial_step_size=0.1, regularization_parameter=0.0001, step_size_growth_factor=1.25, step_size_decay_factor=2.0, max_step_size_decrease_trys=5, relaxation_parameter=1.05, error_norm_tolerance=1e-05, delta_params_tolerance=1e-06, max_iterations=50, random_seed=1, evaluation_concurrency=1, restart_file=None)[source]#

Run a single-fidelity ensemble Kalman inversion (EKI) workflow.

This routine iteratively updates a parameter ensemble to match observations using model evaluations and a Kalman-style update. It supports adaptive step sizing, restart files, and concurrent sample evaluation.

Parameters:
  • model (QoiModel) – QoiModel to evaluate at ensemble samples.

  • parameter_space (ParameterSpace) – ParameterSpace used to draw the initial ensemble.

  • observations (ndarray) – Observed QoI vector.

  • observations_covariance (ndarray) – Observation covariance matrix.

  • parameter_mins (ndarray) – Optional lower bounds on parameters.

  • parameter_maxes (ndarray) – Optional upper bounds on parameters.

  • absolute_eki_directory (str) – Absolute path to the working directory for runs.

  • ensemble_size (int) – Number of ensemble members.

  • initial_step_size (float) – Initial step size for the update.

  • regularization_parameter (float) – Tikhonov regularization parameter.

  • step_size_growth_factor (float) – Growth factor when a step is accepted.

  • step_size_decay_factor (float) – Decay factor when a step is rejected.

  • max_step_size_decrease_trys (int) – Max consecutive step reductions before exit.

  • relaxation_parameter (float) – Error reduction factor for step acceptance.

  • error_norm_tolerance (float) – Stop when mean error norm falls below this value.

  • delta_params_tolerance (float) – Stop when parameter update norm falls below this value.

  • max_iterations (int) – Maximum number of EKI iterations.

  • random_seed (int) – RNG seed for initial sampling.

  • evaluation_concurrency – Concurrent model evaluations per iteration.

  • restart_file – Optional restart file path.

Returns:

Tuple of (parameter_samples, qois) from the final iteration.