introduction to ensemble kalman filter - welcome to the ... · introduction to ensemble kalman...

38
Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group B. Hunt, J. Yorke, E.Ott K. Ide, T. Miyoshi, E. Kalnay, I. Szunyogh (TAMU), E. Kostelich (ASU) and 16 current students and Ph.D.s JCSDA Summer Colloquium 2009

Upload: haduong

Post on 28-Sep-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Introduction to EnsembleKalman Filter

E. Kalnay with Hong Li and T. MiyoshiUniversity of MarylandChaos-Weather Group

B. Hunt, J. Yorke, E.OttK. Ide, T. Miyoshi, E. Kalnay,

I. Szunyogh (TAMU), E. Kostelich (ASU) and 16 currentstudents and Ph.D.s

JCSDA Summer Colloquium 2009

Page 2: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Recall the basic formulation of OIRecall the basic formulation of OI

Ta= T

b+ w(T

o! T

b) 0 " w " 1

Optimal weight to minimize the analysis errors: w =!b

2

!b

2+!

o

2

OI for a scalar (analysis):

Page 3: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Recall the basic formulation of OIRecall the basic formulation of OI

OI for a scalar (analysis):Ta= T

b+ w(T

o! T

b) 0 " w " 1

Optimal weight to minimize the analysis errors: w =!b

2

!b

2+!

o

2

OI for a vector: xib= Mx

i!1a

xi

a= x

i

b+K(y

i

o ! Hxi

b)

K = PbHT HPbHT+ R"# $%

!1

Pa = I !KH[ ]Pb

Pb= !x

b•!x

b

T!x

b= x

b" x

t

In OI is statistically pre-estimated and constant in time.Is this a good approximation?

Pb

Page 4: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

OI and Kalman Filter for a scalarOI and Kalman Filter for a scalar

OI for a scalar: Tb(ti) = MT

a(ti!1); "

b

2= (1+ a)"

a

2=

1

1! w"

a

2= const

w ="b

2

"b

2+"

o

2; "

a

2= (1! w)"

b

2

Ta(ti) = T

b(ti) + w(T

o(ti) ! T

b(ti)) 0 # w # 1

Page 5: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

OI and Kalman Filter for a scalarOI and Kalman Filter for a scalar

OI for a scalar: Tb(ti) = MT

a(ti!1); "

b

2= (1+ a)"

a

2=

1

1! w"

a

2= const

w ="b

2

"b

2+"

o

2; "

a

2= (1! w)"

b

2

Ta(ti) = T

b(ti) + w(T

o(ti) ! T

b(ti)) 0 # w # 1

Kalman Filterfor a scalar:

Now the background error variance is forecasted using thelinear tangent model and its “adjoint”.

Tb(ti) = MT

a(ti!1); "

b

2= (L"

a)(L"

a)T; L = dM / dT

w ="b

2

"b

2+"

o

2; "

a

2= (1! w)"

b

2

Ta(ti) = T

b(ti) + w(T

o(ti) ! T

b(ti)) 0 # w # 1

Page 6: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 7: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 8: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 9: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 10: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 11: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 12: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 13: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 14: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 15: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 16: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Ensemble Kalman Filter (EnKF)

Pib=

1

m !1(xk

f! x

t)i (xk

f! x

t)iT

k=1

m

" , m#$

We use the ensemble to estimate *

Pib!

1

K "1(xk

f" x

f)i (xk

f" x

f)iT

k=1

m

#

=1

K "1Xi

bXi

bT

Problem left: how to estimate theanalysis error covariance and theanalysis perturbations?

Pi

a=

1

K !1X

i

aX

i

aT

Page 17: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 18: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 19: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 20: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 21: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group
Page 22: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Local Ensemble Transform Kalman Filter(Ott et al, 2004, Hunt et al, 2004, 2007)

• Model independent(black box)• Obs. assimilatedsimultaneously at eachgrid point• 100% parallel: fast• No adjoint needed• 4D LETKF extension

(Start with initial ensemble)

LETKFObservationoperator

Model

ensemble analyses

ensemble forecasts

ensemble“observations”

Observations

Page 23: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Perform data assimilation in a local volume, choosing observations

The state estimate is updated at thecentral grid red dot

Localization based on observations

Page 24: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Perform data assimilation in a local volume, choosing observations

The state estimate is updated at thecentral grid red dot

All observations (purple diamonds)within the local region are assimilated

Localization based on observations

The LETKF algorithm can be described in a single slide

Page 25: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Local Ensemble Transform Kalman Filter (Local Ensemble Transform Kalman Filter (LETKFLETKF))

Forecast step:Analysis step: construct

Locally: Choose for each grid point the observations to be used, andcompute the local analysis error covariance and perturbations inensemble space:

Analysis mean in ensemble space:and add to to get the analysis ensemble in ensemble space

The new ensemble analyses in model space are the columns of . Gathering the grid point analyses forms the new

global analyses. Note that the the output of the LETKF are analysisweights and perturbation analysis matrices of weights . Theseweights multiply the ensemble forecasts.

x

n,k

b= M

nx

n!1,k

a( )Xb

= x1

b ! xb | ... | xK

b ! xb"# $%;

yi

b= H (x

i

b); Y

n

b= y

1

b ! yb | ... | yK

b ! yb"# $%

!Pa= K !1( )I + YbT

R!1Y

b"# $%!1;W

a= [(K !1) !Pa ]1/2

Xn

a= X

n

bW

a+ x

b

wa= !P

aY

bTR

!1(yo! y

b )

Wa

Globally:

wa

Wa

Page 26: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Repeat: Repeat: LETKFLETKF, globally, with notes (4D-LETKF), globally, with notes (4D-LETKF)

Forecast step:

Analysis step: construct

x

n,k

b= M

nx

n!1,k

a( )

Xb= x

1

b ! xb | ... | xK

b ! xb"# $%;

yi

b= H (x

i

b); Y

n

b= y

1

b ! yb | ... | yK

b ! yb"# $%

Globally:

Notes: Pb= X

bX

bT

Yb! HX

b , but it is computed nonlinearly

4D-LETKF is done by simply concatenating in the vertical thevectors and matrix valid at different times in theassimilation window. The rest is the same.

yo, y

b

Yb

Page 27: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Repeat: LETKFRepeat: LETKF, locally, with notes, locally, with notesLocally: Choose for each grid point the observations to be used, andcompute the local analysis error covariance and perturbations inensemble space:

Analysis mean in ensemble space:and add to to get the analysis ensemble in ensemble space

The new ensemble analyses in model space are the columns of . Gathering the grid point analyses forms the new

global analyses. Note that the the output of the LETKF are analysisweights and perturbation analysis matrices of weights . Theseweights multiply the ensemble forecasts.

!Pa= K !1( )I + YbT

R!1Y

b"# $%!1; W

a= [(K !1) !Pa ]1/2

Xn

a= X

n

bW

a+ x

b

wa= !P

aY

bTR

!1(yo! y

b )

Wa

wa

Wa

!Pa= K !1( )I + YbT

R!1Y

b"# $%!1

Notes: is Pa!1

= Pb!1

+HTR

!1H"# $%

in ensemble space, where is the unit matrix/(K-1)! !Pb!1

= I / (K !1)

Note that here, the columns of are the full analysisensemble members (not the perturbations).

Xa

Page 28: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

The 4D-LETKF produces an analysis in terms ofweights of the ensemble forecast members at theanalysis time tn, giving the trajectory that best fits allthe observations in the assimilation window.

analysis time weightsImplication of getting analysis weights

Page 29: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

The 4D-LETKF produces an analysis in terms ofweights of the ensemble forecast members at theanalysis time tn, giving the trajectory that best fits allthe observations in the assimilation window.

analysis time weightsA linear comb. of trajectories is ~a trajectory. If it is closeto the truth at the end it should be close to the truththroughout the trajectory (neglecting model errors).

Page 30: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

No-cost LETKF smoother ( ): apply at tn-1 the sameweights found optimal at tn. It works for 3D- or 4D-LETKF

The no-cost smoother makes possible: Outer loop (like in 4D-Var) “Running in place” (faster spin-up) Use of future data in reanalysis Ability to use longer windows

Page 31: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

No-cost LETKF smoothertested on a QG model: It works!

“Smoother” reanalysis

LETKF Analysisxna= xn

f+ Xn

fwn

aLETKF analysis

at time n

Smoother analysis at time n-1

!xn!1a

= xn!1f

+ Xn!1

fwn

a

This very simple smoother allows us to go backand forth in time within an assimilation window:it allows assimilation of future data in reanalysis

Page 32: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Example: forecast sensitivity to observationsLiu, Hong and Kalnay, in preparation

The only difference between and is the assimilation of observations at 00hr.

Observation impact on the reduction of forecast error:

(Adapted from Langlandand Baker, 2004)

et |0 = xt |0f! xt

a

et |0

et |!6

!e2= (e

t |0

Tet |0" e

t |"6

Tet |"6)

analysis t

et |!6

et |0

-6hr 00hr

OBS.

Page 33: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Example: forecast sensitivity to observations

!e2= (et |0

Tet |0 " et |"6

Tet |"6

) = (et |0T " et |"6

T)(et |0 + et |"6

)

= (xt |0f " xt |"6

f)T

(et |0 + et |"6)

= M(x0

a " x0|"6

b)#$ %&

T

(et |0 + et |"6), so that

!e2= MK(y " H (x

0|"6

b)#$ %&

T

(et |0 + et |"6)

Langland and Baker (2004) solve this with the adjoint:!e2 = MK(y " H (x

0|"6b)#$ %&

T

(et |0+ e

t |"6 )

= (y " H (x0|"6b)#$ %&

T

KTM

T(e

t |0+ e

t |"6 )

This requires the adjoint of the model and of the dataassimilation system (Langland and Baker, 2004)

Page 34: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Example: forecast sensitivity to observations

Langland and Baker (2004):

!e2 = MK(y " H (x0|"6b)#$ %&

T

(et |0+ e

t |"6 )

= (y " H (x0|"6b)#$ %&

T

KTM

T(e

t |0+ e

t |"6 )

With EnKF we can use the original equation without “adjointing”:

!e2 = MK(y " H (x0|"6b)#$ %&

T

(et |0 + et |"6 )

= Xt |0

f Y0

aTR"1(y " H (x

0|"6b)#$ %&

T

(et |0 + et |"6 )

K = PaH

TR

!1= X

aX

aTH

TR

!1 so that we can write

MK =MXa(X

aTH

T)R

!1= Xt |0

fY

aTR

!1

This is a simple product using the available nonlinear forecastensemble and

so thatRecall that

Xt |0

fY0

aT= (HP

a)T

Page 35: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Test ability to detect the poor quality observation onthe Lorenz 40 variable model

Like adjoint method, ensemble sensitivity method can detect the observationpoor quality (11th observation location)

The ensemble sensitivity method has a stronger signal when the observation hasnegative impact on the forecast.

Observation impact from LB (red) and from ensemble sensitivity method (green)

Larger random error Biased observation case

Page 36: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Test ability to detect poor quality observation fordifferent forecast lengths

After 2-days theadjoint has the wrongsensitivity sign!

The ensemblesensitivity method hasa strong signal evenafter forecast error hassaturated!

Larger random error Biased observation case

2 days

5 days

20 days

Page 37: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

How can we possibly detect bad observations evenafter all skill is lost???

After 20-days there is noforecast skill but theensemble sensitivity stilldetects the wrongobservation.

The ensemble sensitivityis based on the assumptionthat the analysis weightscan be used in theforecasts. This is accurateeven after forecast errorhas saturated (triangles).

As a result we canidentify a bad observationeven after forecast skill islost.

20 days

Mean Square Error of the -6hr weighted forecasts (diamonds),MSE of the 0hr ensemble mean (circles) and MS Differencebetween ensemble mean and weighted forecasts (triangles).

Error made by using the -6hrweights in the forecasts

Page 38: Introduction to Ensemble Kalman Filter - Welcome to the ... · Introduction to Ensemble Kalman Filter E. Kalnay with Hong Li and T. Miyoshi University of Maryland Chaos-Weather Group

Summary

• EnKF is simple, does not require linear tangentmodel or adjoint of either the model M or the forwardoperator H

• There are two types of EnKF: perturbed observations(e.g., Evensen, Houtekamer), and Square Root Filter(e.g., Whitaker and Hamill, Anderson, Bishop). Theseassimilate one obs at a time.

• The LETKF (Hunt et al.) is a SQRF done locally inspace: the analysis and analysis perturbations areweighted averages of the ensemble forecasts.

• This makes possible a “no cost smoother”.• EnKF calculates exactly Pa (the Hessian!), and the

Kalman gain matrix K. This makes possible tocompute longer forecasts sensitivity to observations.