dapper.mods.Lorenz96.raanes2016
Reproduce bib.raanes2015rts
.
1"""Reproduce `bib.raanes2015rts`.""" 2 3import dapper.mods as modelling 4from dapper.mods.Lorenz96.sakov2008 import HMM as _HMM 5 6HMM = _HMM.copy() 7HMM.tseq = modelling.Chronology(0.01, dko=15, T=4**5, BurnIn=20) 8 9# from dapper.mods.Lorenz96.raanes2016 import HMM 10# xps += EnKS ('Sqrt',N=25,infl=1.08,rot=False,Lag=12) 11# xps += EnRTS('Sqrt',N=25,infl=1.08,rot=False,DeCorr=0.99) 12# ... 13# print_averages(xps,avrgs,[],['rmse.u'])
HMM =
HiddenMarkovModel({
'Dyn':
Operator({
'M': 40,
'model': <function step>,
'noise':
GaussRV({
'mu': array([0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0.]),
'M': 40,
'C': 0
}),
'linear': <function dstep_dx>
}),
'Obs':
<TimeDependentOperator> CONSTANT operator sepcified by .Op1:
Operator({
'M': 40,
'model':
Direct obs. at [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39]
<function partial_Id_Obs.<locals>.model>,
'noise':
GaussRV({
'C': <CovMat>
M: 40
kind: 'diag'
trunc: 1.0
rk: 40
full: (only computing/printing corners)
[[1. 0. 0. ... 0. 0. 0.]
[0. 1. 0. ... 0. 0. 0.]
[0. 0. 1. ... 0. 0. 0.]
...
[0. 0. 0. ... 1. 0. 0.]
[0. 0. 0. ... 0. 1. 0.]
[0. 0. 0. ... 0. 0. 1.]]
diag:
[1. 1. 1. ... 1. 1. 1.],
'mu': array([0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0.]),
'M': 40
}),
'linear':
Constant matrix
[[1. 0. 0. ... 0. 0. 0.]
[0. 1. 0. ... 0. 0. 0.]
[0. 0. 1. ... 0. 0. 0.]
...
[0. 0. 0. ... 1. 0. 0.]
[0. 0. 0. ... 0. 1. 0.]
[0. 0. 0. ... 0. 0. 1.]]
<function partial_Id_Obs.<locals>.linear>,
'localizer':
<function
localization_setup.<locals>.localization_now at
0x7fa23ff61ab0>
}),
'tseq':
<Chronology>
- K: 102405
- Ko: 6826
- T: 1024.05
- BurnIn: 20
- dto: 0.15
- dt: 0.01,
'X0':
GaussRV({
'C': <CovMat>
M: 40
kind: 'diag'
trunc: 1.0
rk: 40
full: (only computing/printing corners)
[[0.001 0. 0. ... 0. 0. 0. ]
[0. 0.001 0. ... 0. 0. 0. ]
[0. 0. 0.001 ... 0. 0. 0. ]
...
[0. 0. 0. ... 0.001 0. 0. ]
[0. 0. 0. ... 0. 0.001 0. ]
[0. 0. 0. ... 0. 0. 0.001]]
diag:
[0.001 0.001 0.001 ... 0.001 0.001 0.001],
'mu': array([1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0.]),
'M': 40
}),
'liveplotters':
[(1, <function spatial1d.<locals>.init at
0x7fa23ff62560>), (1, <class
'dapper.tools.liveplotting.correlations'>), (0, <class
'dapper.tools.liveplotting.spectral_errors'>), (0,
<function phase_particles.<locals>.init at
0x7fa23ff625f0>), (0, <function
sliding_marginals.<locals>.init>)],
'sectors': {},
'name': 'Lorenz96/sakov2008.py'
})