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.
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
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: