LA⚓︎
Linear advection (i.e. translation) in 1D.
Optimal solution provided by Kalman filter (ExtKF). System is typically used with a relatively large size (Nx=1000), but initialized with a moderate wavenumber (k), which a DA method should hopefully be able to exploit.
The system (and the impact on the DA) can also be adjusted by selecting non-optimal time steps, and/or various noise configs.
A summary for the purpose of DA is provided in section 3.3 of thesis found at ora.ox.ac.uk/objects/uuid:9f9961f0-6906-4147-a8a9-ca9f2d0e4a12
Modules:
Name | Description |
---|---|
demo |
Demonstrate the Linear Advection (LA) model. |
evensen2009 |
A mix of evensen2009a and sakov2008a. |
raanes2015 |
Reproduce results from Fig. 2 of raanes2014. |
small |
Smaller version. |
Fmat(Nx, c, dx, dt)
⚓︎
Generate transition matrix.
Nx
- System sizec
- Velocity of wave. Wave travels to the rigth forc>0
.dx
- Grid spacingdt
- Time step
Note that the 1st-order upwind scheme used here is exact
(vis-a-vis the analytic solution) only for dt = abs(dx/c)
,
in which case it corresponds to
np.roll(x,1,axis=x.ndim-1)
, i.e. circshift in Matlab.
basis_vector(Nx, k)
⚓︎
Generate basis vectors.
- Nx - state vector length
- k - max wavenumber (wavelengths to fit into interval 1:Nx)
homogeneous_1D_cov(M, d, kind='Expo')
⚓︎
Generate a covariance matrix for a 1D homogenous random field.
Generate initial correlations for Linear Advection experiment.
d
- decorr length, where the unit distance = M(i)-M(i-1)
for all i
.