TaperedAdaptiveESMDA - #332
Conversation
| ... | ||
| ... for param_idx in yield_param_indices(): | ||
| ... X[param_idx, :] = smoother.assimilate_batch(X=X[param_idx, :], | ||
| ... correlation_callback=smoother.inflation_scale) |
There was a problem hiding this comment.
Feels somewhat circular to pass smoother.inflation_scale to smoother.assimilate_batch.
Could we instead make self.inflation_scale the default?
There was a problem hiding this comment.
agree! this should be standardized for all methods that take callback. one option is None, string, or custom callback function
There was a problem hiding this comment.
two options:
- a string (default) that refers to the paper (then we can extend with several strings if we want to in the future)
- a callback (which can include the "identity" callback which reduces this method to ESMDA)
| # - f(x <= beta * d) = 1 | ||
| # - f(x >= d) = E_max | ||
|
|
||
| E_max = 8.0 # Maximum inflation factor |
There was a problem hiding this comment.
I have not read the paper in detail yet, but this seems to be a "magic" number that might just be valid for the specific problem they are solving in the paper.
Perhaps we could just point to the paper and say see FIG. 11 and discussion on page 2603 or something like that?
There was a problem hiding this comment.
these numbers are indeed magic numbers
| N_m, N_e = X.shape # (num_parameters, ensemble_size) | ||
| assert N_e == self.delta_DT.shape[0], "Dimension mismatch" | ||
|
|
||
| delta_M = self._compute_delta_M(X=X, missing=missing) |
There was a problem hiding this comment.
Not something we need to think about in this PR, but let's have a chat about using M or X (or both) to represent the parameter matrix.
| delta_D = self.delta_DT.T | ||
|
|
||
| # Loop over every parameter index i | ||
| for i in range(corr_XY.shape[0]): |
There was a problem hiding this comment.
Don't want to prematurely optimize, but a hack we could perhaps use here is to quantize inflation_factors to a small set of levels and use a variant of the groupby_rows trick.
Just jotting it down so we can discuss.
No description provided.