dapper.mods.Lorenz96.todter2015_G

From dapper.mods.Lorenz96.todter2015 again, but with Gaussian likelihood.

 1"""From `dapper.mods.Lorenz96.todter2015` again, but with Gaussian likelihood."""
 2
 3import dapper.mods as modelling
 4from dapper.mods.Lorenz96.todter2015 import HMM as _HMM
 5
 6HMM = _HMM.copy()
 7HMM.Obs.Op1.noise = modelling.GaussRV(C=HMM.Obs.Op1.noise.C)
 8
 9####################
10# Suggested tuning
11####################
12
13#                                                          rmse.a
14# xps += LETKF(N=40,rot=True,infl=1.04       ,loc_rad=5) # 0.42
15# xps += LETKF(N=80,rot=True,infl=1.04       ,loc_rad=5) # 0.42
16
17# xps += LNETF(N=40,rot=True,infl=1.10,Rs=1.9,loc_rad=5) # 0.54
18# xps += LNETF(N=80,rot=True,infl=1.06,Rs=1.4,loc_rad=5) # 0.47
HMM = HiddenMarkovModel({ 'Dyn': Operator({ 'M': 80, '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., 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': 80, 'C': 0 }) }), 'Obs': <TimeDependentOperator> CONSTANT operator sepcified by .Op1: Operator({ 'M': 40, 'model': Direct obs. at [ 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78] <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]), 'M': 40 }), 'linear': Constant matrix [[1. 0. 0. ... 0. 0. 0.] [0. 0. 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. 1. 0.]] <function partial_Id_Obs.<locals>.linear>, 'localizer': <function localization_setup.<locals>.localization_now at 0x7fa23fdb29e0> }), 'tseq': <Chronology> - K: 20480 - Ko: 10239 - T: 1024.0 - BurnIn: 20 - dto: 0.1 - dt: 0.05, 'X0': GaussRV({ 'C': <CovMat> M: 80 kind: 'diag' trunc: 1.0 rk: 80 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([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., 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': 80 }), 'liveplotters': [], 'sectors': {}, 'name': 'Lorenz96/todter2015.py' })