0% found this document useful (0 votes)
9 views5 pages

EnKF Summary

The document provides a detailed explanation of the Ensemble Kalman Filter (EnKF) algorithm, which is used for assimilating observations into a model by replacing the forecast error covariance step with an ensemble of model state vectors. It discusses the importance of covariance localization, bias estimation for SSH altimetry anomalies, and methods to speed up the analysis process through coarsening and filtering techniques. Additionally, it addresses the representation of system noise and model errors to enhance the performance of the EnKF.

Uploaded by

ten.sigmas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views5 pages

EnKF Summary

The document provides a detailed explanation of the Ensemble Kalman Filter (EnKF) algorithm, which is used for assimilating observations into a model by replacing the forecast error covariance step with an ensemble of model state vectors. It discusses the importance of covariance localization, bias estimation for SSH altimetry anomalies, and methods to speed up the analysis process through coarsening and filtering techniques. Additionally, it addresses the representation of system noise and model errors to enhance the performance of the EnKF.

Uploaded by

ten.sigmas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

EnKF Summary

1 Algorithm
It is helpful to draw an analogy between the EnKF and the extended Kalman filter (e.g.,
Analytical Sciences Corporation Technical Staff 1974) which relates the forecast, x kf , and
analysis, x ka , at time t k to the true state at the previous analysis time, xk−
t
1 , by

x kt = M ( x kt −1 , f k −1 ) + ηk −1 , E(ηk −1ηkT−1 ) = Q k −1 , (1a )


T
∂M ⎡ ∂M ⎤
P =
k
f
Pa
k −1 ⎢ ⎥ + Q k −1 , (1b)
∂x x k -1 ⎣⎢ ∂x ⎥
x k -1 ⎦

y k = H k ( x kt ) + ε k , E(ε k ε kT ) = Rk , (1c)
K k = Pkf H kT [ H k Pkf H kT + Rk ] −1 , (1d)
x ka = x kf + K k [ y k − H k ( x kf )], (1e)
Pka = (I − K k H k ) Pkf . (1f )

In (1a), M is the model operator, f k −1 is the forcing between t k −1 and t k , and the system noise,
ηk −1 , with covariance matrix Qk−1 , represents the effect of model imperfections and forcing
errors between t k −1 and t k . The linearization (1b) relates the background error covariance
matrix at t k , Pkf , to the analysis error covariance matrix at t k −1 , Pka−1 .The observations
assimilated at t k , yk, are related to the true state by (1c) where H k is the observation operator
and εk , with covariance matrix Rk , is the observational error. The Kalman gain matrix, K k in
(1d-1f), dictates how the innovation vector, yk − H k ( x kf ) , and x kf are weighted in the analysis
computation (1e). The posterior Pka is related to Pkf by (1f).

The EnKF replaces the forecast error covariance step (1b) with the integration (2a) of an
ensemble of n model state vectors, x if,k , i = 1,K, n, subject to an ensemble of system-noise
representations, N i ,k −1 . The adequate representation of ηk −1 with N k −1 is essential to the
system’s performance. Dropping the k subscripts, the projection, HP f H T , of P f onto
observation space is given by (2b-2c) where the smoothing operator Φ attempts to correct the
effect of estimating the background covariances from a small ensemble. Covariance localization
is crucial to proper filter behavior A common way to achieve it uses the Schur (element by
element) product (•) of HP f H T with a compactly supported correlation matrix, C (Houtekamer
and Mitchell 2001).. Compact support is imposed in the representer function amplitude
calculation (2d) and in the analysis updates (2f). The latter step is the most expensive part of the
algorithm because the analysis update for each ensemble member i in each grid cell l requires the
Schur product of two vectors, c l • a i . The m-th element of the vector cl is given by (2e), where
ρ λ , ρ θ and ρ z are compactly supported 1-D correlation functions [equation (4.10) of Gaspari and
Cohn (1985)], associated each with a specific cut-off distance, and δlm = {δλlm , δθlm , δz lm }
contains the coordinate differences between grid cell l and observation m. The elements of C
result from the application of the same function to pairs of observation coordinates. It is shown
further that the cost of imposing compact support in (2f) can be greatly reduced at the expense of
minimally degrading the analysis.

x if,k = M ( x ia,k −1 , f k −1 ) + N i ,k −1 , E( N i ,k −1 N iT,k −1 ) ≈ Q k −1 , i = 1, K, n , (2a )

{
S = {s1 , s 2 , K, s n } = H (Φ ( x1f − x f )), H (Φ ( x 2f − x f )),K , H (Φ ( x nf − x f )) , (2b) }
1
HP f H T = SS T , (2c)
n −1
a i = [C • ( HP f H T + R)] −1 ( y + e i − H ( x if )), E(e i e iT ) ≈ R, i = 1, K, n , (2d )
c l,m = ρ(δlm ) = ρ λ (δλ lm )ρ θ (δθ lm )ρ ζ (δz lm ), (2e)
1 n
x ia,l = x if,l + ∑
n − 1 j=1
(Φ ( x fj,l − x lf )) s Tj (c l • a i ), i = 1, K, n. (2f )

Note, that since multivariate covariance functions are used, x in (2) contains the T, S, u and v
fields. Stability considerations prevent us from directly updating h in the analysis, even though it
is also a model prognostic. However, the layer thicknesses adjust gradually between analyses in
response to the T, S, u and v increments.

While (2) describes how the EnKF is used to process in situ temperature, salinity or current
observations, the assimilation of SSH altimetry anomalies requires that model biases
[specifically in this instance the difference between the geoid and the slowly evolving long-term-
mean model SSH field, where “long term” refers to timescales larger than those of the
assimilation experiment] be accounted for. Altimeter anomalies are thus processed according to
(3) with a bias estimation technique inspired from Dee and DaSilva (1998).

In (3), bkf and bka are the prior and posterior bias estimates, Pbf is the prior bias error covariance
matrix and C b is a compactly supported correlation matrix, similar to C except that the cut off
radii of the ρ λ , ρ θ and ρ z correlation functions used to compute it are not the same as those used
to compute C. After some tuning, we made the radii three-times larger in C b . Effectively, this
allows for the presence of longer-range correlations in the bias update (3c) than in the forecast
update (3d) (Keppenne et al. 2005). Only the unbiased part on the innovation vector,
y − H ( x f − b) , plays a role in the updates.. Efficiency considerations lead us to use the same
ensemble to represent both P f and Pbf . Hence, we assume Pbf = α P f , where α is an adjustable
proportionality factor. Thus, in (3e), the vector a b of representer amplitudes used in the bias
update (3f) is obtained in the same way as the a i used in the forecast update (3h) are calculated
in (3g).
bkf = bka−1 , (3a )
Lk = (C b • Pbf ) H T [ H (C b • Pbf + C • P f ) H T + R ], −1 (3b)
b a = b f − L [ y − H ( x f − b f )], (3c)
x ia = x if + K [ y + e i − H ( x if − b a )], i = 1, K , n , (3d )

SS T
a b = [(C + αC b ) • + R] −1 ( y − H ( x f − b f )), (3e)
n −1
α n
bla = blf − ∑ ( x fj,l − x lf ) s Tj (c b,l • a b ), (3f )
n − 1 j=1
a i = [C • HP f H T + R] −1 ( y + e i − H ( x if − b a )), E(e i e iT ) ≈ R, i = 1, K , n , (3g )
n
1
x ia,l = x if,l + ∑
n − 1 j=1
( x fj,l − x lf ) s Tj (c l • a i ), i = 1,K , n. (3h )

The analysis increments, x ia − x if , obtained with (2f) or (3h) are applied gradually to each
ensemble member using incremental analysis updating (IAU: Bloom et al. 1996).

2. Speed up
To speed up the analysis substantially, the n × 1 vectors s Tj (cl • ai ) in (2f) and (3h) and
s Tj (cb,l • ab ) in (3f) can be calculated on a coarse subsampled grid and interpolated to each grid
cell of the fine grid. Table 1 lists, for various coarsening ratios, the wall-clock time requirements
and RMS observation minus analysis (OMA) difference at observation location [i.e., RMS of
y − H ( x a ) ] for one analysis with a 17-member EnKF on 128 Intel Altix CPUs.

A coarsening ratio of k means that the s Tj (cl • ai ) and s Tj (cb,l • ab ) calculations occur at every k-
th gridpoint. All other operations take place on the fine grid. The analysis cycle consists in a 2-
day ensemble integration taking 641 seconds followed by a SSH analysis. Biquadratic
interpolation is used to interpolate from the coarse grid to the fine grid. The performance loss
listed in Table 1 is

RMS( y − H ( x a )) − RMS( y − H ( x fine


a
))
1− ,
RMS( y − H ( x fine
f
)) − RMS( y − H ( x fine
a
))

f a
where x fine and x fine are the ensemble mean forecast and analysis without any coarsening. Given
that only one analysis cycle is involved, x f = x fine
f
.
Coarsening ratio 1 (no coarsening) 4 16 64
Wallclock time (S) 544 (1185) 152 (793) 43 (684) 16 (657)
RMS OMA (m) 0.05631 0.05634 0.05639 0.05647
Performance loss (%) 0.15 0.4 0.8

Table 1. Wallclock time and RMS OMA difference for one analysis cycle with 17 ensemble
members on 128 SGI® Altix™ CPUs. The parenthesized times include the 2-day 17-member
ensemble integration preceding the analysis.

3. Background covariance conditioning


The Φ operator is a spatio-temporal filter. Like the Schur product with a compactly supported
correlation function, the spatial component of Φ attempts to compensate for the fact that the
required elements of P f are estimated from a low order ensemble. While the Schur product
effectively removes spurious long range covariances, it does not effectively damp the high-
frequency short-scale oscillations which are present in low-rank error covariance estimates. The
spatial component of Φ works similarly to a Gaussian filter to blur away these high-frequency
oscillations. Gaussian filters are commonly used in image processing to remove noise by
convolving the signal with a Gaussian. They are preferable to other forms of spatial averaging
because the filter kernel weighs nearby pixels more heavily than remote ones and because the
filter response function itself is a Gaussian. The difference is that we base the filter kernel on the
approximately Gaussian compactly supported ρ θ and ρ θ functions, but use shorter spatial scales
than in (2d-f) or (3e-h). The filter is not applied along the vertical dimension because doing so
would perturb each layer’s temperature salt and momentum budgets.

The role of the temporal component of Φ is to remove short time-scale synoptic noise from the
background covariances. Without it, high-frequency gravity waves can contaminate the
covariances causing instabilities to be excited when successive assimilations alternately steer the
model fields in opposite directions. While the spatial component of Φ already attenuates the
signature of gravity waves, the performance of the EnKF is further enhanced by the simple
application of an exponential moving average in time to the model state vectors,

x iΦ,k = (1 − β) x iΦ,k −1 + β x if,k , i = 1,K, n, (4)

where xiΦ,k is the time filtered version of x if at model time step k. The drawback is that while
the temporal filter is trivial to apply, it significantly raises the memory requirements because
x if and x iΦ are kept in memory for each ensemble member.

4. System noise representation


To parameterize the forcing errors, the zonal, τ x , and meridional, τ y , wind stress fields are
perturbed such that the wind stresses applied to ensemble member i at time t k are given by
τ x( i,)y ( t k ) = τ x( i,)y ( t k ) + ηδτ x( i,)y ( t k ), (5a )
δτ x(i,)y ( t k ) = δτ x( i,)y ( t k −1 ) + γ (τ x , y ( t (ki1) ) − τ x , y ( t (ki2) )), (5b)

where t (ki1) and t (ki2) are two randomly chosen dates, η = 0.1 determines the amplitude of the
perturbation and γ = 0.2 determines its temporal autocorrelation. Basing the perturbations on
differences between actual wind stress fields ensures their spatial coherence. The effect of these
perturbations is felt mainly in the shallowest ocean layers.

Model errors are parameterized by perturbing each ensemble member’s vertical-diffusion budget
for temperature and salinity and, horizontally, by perturbing the (4th-order) Shapiro filter budgets
for temperature, salinity and currents. These perturbations are intended to account for truncation
and discretization errors. The budget fields, bi ( t k ) , for ensemble member i at time t k are
simply replaced with

bip ( t k ) = (1 + γ ) bi ( t k ), (6)

where γ is a uniformly distributed random scalar.in [-0.5, 0.5].

Finally, a complementary perturbation term,

δi ( t k ) = ∑ γ ij ( t k )v j , (7)
j

is computed daily as a linear combination of scaled model empirical orthogonal functions


(EOFs), v j , j = 1,...,32, and applied gradually to ensemble member i using the IAU procedure.
The γ ij are normally distributed random numbers with variance 0.25. The v j are the leading
EOFs from an ensemble of ocean model runs forced with atmospheric forcing data sets perturbed
so as to represent internal atmospheric noise (Borovikov et al. 2004). This last component of the
system noise model is meant to represent both forcing and model errors. Unlike the analysis
update which doesn’t modify the h field, this perturbation is applied to the T, S, u, v, and h fields.
Because it is applied in every model layer, this term is effective in maintaining ensemble spread
deep below the mixed layer where the effect of the forcing perturbations (5) is negligible.

You might also like