Skip to content

update_ensemble! hangs on all-NaN G_ensemble #565

@costachris

Description

@costachris

When all columns of g are NaN, update_ensemble! hangs indefinitely. Ideally this can throw an error right away. I believe this results in DataMisfitController.calculate_timestep! producing NaN timesteps, leading to sqrt of an all-NaN covariance matrix which never returns.

minimal reproducer:

using EnsembleKalmanProcesses as EKP, LinearAlgebra

obs_vec = [EKP.Observation(Dict(
    "samples" => randn(60), "covariances" => Diagonal(0.001*ones(60)), "names" => "obs_$i",
)) for i in 1:6]
obs_series = EKP.ObservationSeries(obs_vec, EKP.RandomFixedSizeMinibatcher(6, "trim"), ["obs_$i" for i in 1:6])
ekp = EKP.EnsembleKalmanProcess(randn(10, 100), obs_series, EKP.Inversion();
    scheduler=EKP.DataMisfitController(on_terminate="continue"),
    failure_handler_method=EKP.SampleSuccGauss())
EKP.update_ensemble!(ekp, fill(NaN, 360, 100))  # hangs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions