liveplotting⚓︎
On-line (live) plots of the DA process for various models and methods.
Liveplotters are given by a list of tuples as property or arguments in
mods.HiddenMarkovModel.
-
The first element of the tuple determines whether the liveplotter is shown if the names of liveplotters are not given by
liveplotsargument inassimilate. -
The second element in the tuple gives the corresponding liveplotter function/class. See example of function
LPsinmods.Lorenz63.
The liveplotters can be fine-tuned by each DA experiments via argument of
liveplots when calling assimilate.
-
liveplots = Trueturns on liveplotters set to default in the first argument of theHMM.liveplotterand default liveplotters defined in this module (sliding_diagnosticsandweight_histogram). -
liveplotscan also be a list of specified names of liveplotter, which is the name of the corresponding liveplotting classes/functions.
Modules:
| Name | Description |
|---|---|
pb |
Make |
viz |
Plot utilities. |
LivePlot
⚓︎
Live plotting manager.
Deals with
- Pause, skip.
- Which liveploters to call.
plot_u- Figure window (title and number).
__init__(stats, liveplots, key0=(0, None, 'u'), E=None, P=None, speed=1.0, replay=False, **kwargs)
⚓︎
Initialize plots.
- liveplots: figures to plot; alternatives:
"default"/[]/True: All default figures for this HMM."all": Even more.- non-empty
list: Only the figures with these numbers (int) or names (str). False: None.
- speed: speed of animation.
>100: instantaneous1: (default) as quick as possible allowing for plt.draw() to work on a moderately fast computer.<1: slower.
update(key, E, P)
⚓︎
Update liveplots
correlations
⚓︎
Plots the state (auto-)correlation matrix.
sliding_diagnostics
⚓︎
Plots a sliding window (like a heart rate monitor) of certain diagnostics.
spectral_errors
⚓︎
Plots the (spatial-RMS) error as a functional of the SVD index.
weight_histogram
⚓︎
Plots histogram of weights. Refreshed each analysis.
circulant_ACF(C, do_abs=False)
⚓︎
Compute the auto-covariance-function corresponding to C.
This assumes it is the cov/corr matrix of a 1D periodic domain.
Vectorized or FFT implementations are possible.
d_ylim(data, ax=None, cC=0, cE=1, pp=(1, 99), Min=-1e+20, Max=+1e+20)
⚓︎
Provide new ylim's intelligently, from percentiles of the data.
data: iterable of arrays for computing percentiles.-
pp: percentiles -
ax: If present, then the delta_zoom in/out is also considered. -
cE: exansion (widenting) rate ∈ [0,1]. Default: 1, which immediately expands to percentile. -
cC: compression (narrowing) rate ∈ [0,1]. Default: 0, which does not allow compression. -
Min/Max: bounds
Despite being a little involved, the cost of this subroutine is typically not substantial because there's usually not that much data to sort through.
duplicate_with_blanks_for_resampled(E, dims, key, has_w)
⚓︎
Particle filter: insert breaks for resampled particles.
not_empty(xx)
⚓︎
Works for non-iterable and iterables (including ndarrays).
update_alpha(key, stats, lines, scatters=None)
⚓︎
Adjust color alpha (for particle filters).
validate_lag(Tplot, tseq)
⚓︎
Return validated T_lag such that is is:
- equal to
Tplotwith fallback:HMM.tseq.Tplot. - no longer than
HMM.tseq.T.
Also return corresponding K_lag, a_lag.