# As in Lorenz 1996 "Predictability..." from common import * from mods.LorenzUV.core import model_instance LUV = model_instance(nU=36, J=10, F=10) nU = LUV.nU ################ # Full ################ # t = Chronology(dt=0.005, dtObs=0.05, T=4**3, BurnIn=6) Dyn = { 'M': LUV.M, 'model': with_rk4(LUV.dxdt, autonom=True), 'noise': 0, 'jacob': LUV.dfdx, } X0 = GaussRV(C=0.01 * eye(LUV.M)) R = 1.0 jj = arange(LUV.nU) Obs = partial_direct_Obs(LUV.M, jj) Obs['noise'] = R other = {'name': rel_path(__file__, 'mods/') + '_full'}
# Uses nU, J, F as in core.py, which is taken from Wilks2005. # Obs settings taken from different places (=> quasi-linear regime). from common import * from mods.LorenzUV.core import model_instance LUV = model_instance() nU = LUV.nU # Wilks2005 uses dt=1e-4 with RK4 for the full model, # and dt=5e-3 with RK2 for the forecast/truncated model. # As berry2014linear notes, this is possible coz # "numerical stiffness disappears when fast processes are removed". ################ # Full ################ #t = Chronology(dt=0.001,dtObs=0.05,T=4**3,BurnIn=6) # allows using rk2 t = Chronology(dt=0.005, dtObs=0.05, T=4**3, BurnIn=6) # requires rk4 f = { 'm': LUV.m, 'model': with_rk4(LUV.dxdt, autonom=True), 'noise': 0, 'jacob': LUV.dfdx, 'plot': LUV.plot_state } X0 = GaussRV(C=0.01 * eye(LUV.m))