Ejemplo n.º 1
0
# 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'}
Ejemplo n.º 2
0
# 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))