Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More general failure criteria #272

Closed
glwagner opened this issue Jun 4, 2022 · 0 comments · Fixed by #273
Closed

More general failure criteria #272

glwagner opened this issue Jun 4, 2022 · 0 comments · Fixed by #273

Comments

@glwagner
Copy link
Member

glwagner commented Jun 4, 2022

We currently identified "failed" particles by checking if the forward map contains NaN:

# Handle failed particles
nan_values = column_has_nan(Gⁿ)
failed_columns = findall(nan_values) # indices of columns (particles) with `NaN`s
successful_columns = findall(.!nan_values)
some_failures = length(failed_columns) > 0

column_has_nan(G) = vec(mapslices(any, isnan.(G); dims=1))

However, this failure criterion is too restrictive. For example, a forward map can "effectively fail" if it contains values with vastly different magnitudes than other particles. In that case, the EKI update will fail because the correlation matrices cannot be calculated within double precision.

To handle this problem and also perhaps to increase the quality of the EKI algorithm, I think we should support more general failure criteria than "forward map contains NaN". One generalization is to mark a column as failed if its norm is much greater (say by 1e9) than the median forward map. Other criteria could also be developed (perhaps also depending on the raw simulation output, rather than the forward map output).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant