• Keine Ergebnisse gefunden

Using Ensemble Kalman Filters to Assimilate Dynamic Ocean Topography Data into a Global Ocean Model

N/A
N/A
Protected

Academic year: 2022

Aktie "Using Ensemble Kalman Filters to Assimilate Dynamic Ocean Topography Data into a Global Ocean Model"

Copied!
38
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Using Ensemble Kalman Filters

to Assimilate Dynamic Ocean Topography Data into a Global Ocean Model

Lars Nerger

Alfred Wegener Institute for Polar and Marine Research Bremerhaven, Germany

and

Bremen Supercomputing Competence Center BremHLR Bremen, Germany

Lars.Nerger@awi.de

IGG, Uni. Bonn, 20.6.2013

(2)

Lars Nerger – Assimilating DOT data with EnKFs

Outline

  Ensemble-based Kalman filters

  Implementation aspects

  Application with global ocean model

Collaborations:

AWI: W. Hiller, J. Schröter, A. Alexandrov, P. Kirchgessner, S. Loza, T. Janjic (now DWD)

BSH: F. Janssen, S. Massmann O.A.Sys GmbH: Reiner Schnur

(3)

Lars Nerger – Assimilating DOT data with EnKFs

Application Example

Information: Model Information: Observation

Model surface temperature Satellite surface temperature

•  Generally correct, but has errors

•  all fields, fluxes, …

•  Generally correct, but has errors

•  sparse information

(only surface, data gaps, one field) Combine both sources of information

quantitatively by computer algorithm

➜  data assimilation

(4)

Lars Nerger – Assimilating DOT data with EnKFs

Data Assimilation

  Optimal estimation of system state:

• 

initial conditions (for weather/ocean forecasts, …)

• 

state trajectory (temperature, concentrations, …)

•  parameters (growth of phytoplankton, …)

•  fluxes (heat, primary production, …)

•  boundary conditions and ‘forcing’ (wind stress, …)

  Characteristics of system:

• 

high-dimensional numerical model -

O

(106-109)

•  sparse observations

•  non-linear

(5)

Lars Nerger – Assimilating DOT data with EnKFs

Ensemble-based Kalman Filters

(6)

Lars Nerger – Assimilating DOT data with EnKFs

Ensemble-based Kalman Filter

First formulated by G. Evensen (EnKF, 1994)

Kalman filter: express probability distributions by mean and covariance matrix

EnKF: Use ensembles to represent probability distributions

observation

time 0 time 1 time 2

analysis ensemble

forecast

ensemble transformation initial

sampling state

estimate

forecast

Looks trivial!

BUT:

There are many possible

choices!

(7)

Lars Nerger – Assimilating DOT data with EnKFs

  Properties and differences are not fully understood

ETKF Which filter should one use?

Many choices - a little “ zoo ” (not complete):

EAKF EnKF(94/98)

SEIK

EnSRF SEEK

RRSQRT ROEK

MLEF EnKF(2003)

EnKF(2004)

SPKF ESSE EnKF(94/98)

SEEK

SEIK

Studied in Nerger

et al. Tellus (2005)

RHF

(8)

Lars Nerger – Assimilating DOT data with EnKFs

Data Assimilation – Model and Observations

Two components:

1. State:

Dynamical model

x 2 R

n

x

i

= M

i 1,i

[x

i 1

]

2. Obervations:

Observation equation (relation of observation to state x):

Observation error covariance matrix:

y 2 R

m

y = H [x]

R

(9)

Lars Nerger – Assimilating DOT data with EnKFs

a

The Ensemble Kalman Filter (EnKF, Evensen 94)

Ensemble

Analysis step:

Update each ensemble member

Kalman filter

5 EnKF

Init

x

a0

⌅ R

n

, P

a0

⌅ R

nn

(41) { x

a(l)0

, l = 1, . . . , N } (42) x

a0

= 1

N

N

l=1

x

a(l)0

⇥ x

t0

(43)

P ˜

a0

:= 1

N 1

N

l=1

⇤ x

a(l)0

x

a0

⌅⇤

x

a(l)0

x

a0

T

⇥ P

a0

(44)

P

a0

= LL

T

, L ⌅ R

nq

(45) x

a(i)0

= x

a0

+ Lb

(i)

, b

(i)

⌅ R

q

(46)

⇤ N (0, 1) (47)

Forecast

x

a(l)i

= M

i,i 1

[x

a(l)i 1

] +

(l)i

(48)

Analysis

{ y

o(l)k

, l = 1, . . . , N } (49) x

a(l)k

= x

fk(l)

+ K ˜

k

y

ko(l)

H

k

x

fk(l)

⌥⌅

(50) x

a(l)k

= x

fk(l)

+ K ˜

k

y

ko(l)

H

k

x

fk(l)

(51) K ˜

k

= P ˜

fk

H

Tk

H

k

P ˜

fk

H

Tk

+ R

k

1

(52) K

k

= P

fk

H

Tk

H

k

P

fk

H

Tk

+ R

k

1

(53) H

k

P

fk

H

Tk

+ R

k

⌅ R

mm

(54) P ˜

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(55)

x

ak

:= 1 N

N

l=1

x

a(l)k

(56)

P ˜

ak

:= 1

N 1

N

l=1

⇤ x

a(l)k

x

ak

⌅⇤

x

a(l)k

x

ak

T

(57)

5

5 EnKF

Init

x

a0

⌅ R

n

, P

a0

⌅ R

nn

(41) { x

a(l)0

, l = 1, . . . , N } (42) x

a0

= 1

N

N

l=1

x

a(l)0

⇥ x

t0

(43)

P ˜

a0

:= 1

N 1

N

l=1

⇤ x

a(l)0

x

a0

⌅⇤

x

a(l)0

x

a0

T

⇥ P

a0

(44)

P

a0

= LL

T

, L ⌅ R

nq

(45) x

a(i)0

= x

a0

+ Lb

(i)

, b

(i)

⌅ R

q

(46)

⇤ N (0, 1) (47)

Forecast

x

a(l)i

= M

i,i 1

[x

a(l)i 1

] +

(l)i

(48)

Analysis

{ y

ko(l)

, l = 1, . . . , N } (49) x

a(l)k

= x

fk(l)

+ K ˜

k

y

ko(l)

H

k

x

fk(l)

⌥⌅

(50) x

a(l)k

= x

fk(l)

+ K ˜

k

y

o(l)k

H

k

x

fk(l)

(51) x

a(l)k

= x

fk(l)

+ K

k

y

k(l)

H

k

x

fk(l)

(52) K ˜

k

= P ˜

fk

H

Tk

H

k

P ˜

fk

H

Tk

+ R

k

1

(53) K

k

= P

fk

H

Tk

H

k

P

fk

H

Tk

+ R

k

1

(54) H

k

P

fk

H

Tk

+ R

k

⌅ R

mm

(55) P ˜

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(56)

x

ak

:= 1 N

N

l=1

x

a(l)k

(57)

P ˜

ak

:= 1

N 1

N

l=1

⇤ x

a(l)k

x

ak

⌅⇤

x

a(l)k

x

ak

T

(58)

5

5 EnKF

Init

x

a0

⌅ R

n

, P

a0

⌅ R

nn

(41) { x

a(l)0

, l = 1, . . . , N } (42) x

a0

= 1

N

N

l=1

x

a(l)0

⇥ x

t0

(43)

P ˜

a0

:= 1

N 1

N

l=1

⇤ x

a(l)0

x

a0

⌅⇤

x

a(l)0

x

a0

T

⇥ P

a0

(44)

P

a0

= LL

T

, L ⌅ R

nq

(45) x

a(i)0

= x

a0

+ Lb

(i)

, b

(i)

⌅ R

q

(46)

⇤ N (0, 1) (47)

Forecast

x

a(l)i

= M

i,i 1

[x

a(l)i 1

] +

(l)i

(48)

Analysis

{ y

o(l)k

, l = 1, . . . , N } (49) x

a(l)k

= x

fk(l)

+ K ˜

k

y

o(l)k

H

k

x

fk(l)

⌥⌅

(50) x

a(l)k

= x

fk(l)

+ K ˜

k

y

ko(l)

H

k

x

fk(l)

(51) x

a(l)k

= x

fk(l)

+ K

k

y

k(l)

H

k

x

fk(l)

(52) K ˜

k

= P ˜

fk

H

Tk

H

k

P ˜

fk

H

Tk

+ R

k

1

(53) K

k

= P

fk

H

Tk

H

k

P

fk

H

Tk

+ R

k

1

(54) H

k

P

fk

H

Tk

+ R

k

⌅ R

mm

(55) P ˜

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(56)

P

fk

:= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(57)

x

ak

:= 1 N

N

l=1

x

a(l)k

(58)

P ˜

ak

:= 1

N 1

N

l=1

⇤ x

a(l)k

x

ak

⌅⇤

x

a(l)k

x

ak

T

(59)

5

5 EnKF

Init

x

a0

⌅ R

n

, P

a0

⌅ R

nn

(41) { x

a(l)0

, l = 1, . . . , N } (42) x

a0

= 1

N

N

l=1

x

a(l)0

⇥ x

t0

(43)

P ˜

a0

:= 1

N 1

N

l=1

⇤ x

a(l)0

x

a0

⌅⇤

x

a(l)0

x

a0

T

⇥ P

a0

(44)

P

a0

= LL

T

, L ⌅ R

nq

(45) x

a(i)0

= x

a0

+ Lb

(i)

, b

(i)

⌅ R

q

(46)

⇤ N (0, 1) (47)

Forecast

x

a(l)i

= M

i,i 1

[x

a(l)i 1

] +

(l)i

(48)

Analysis

{ y

o(l)k

, l = 1, . . . , N } (49) x

a(l)k

= x

fk(l)

+ K ˜

k

y

o(l)k

H

k

x

fk(l)

⌥⌅

(50) x

a(l)k

= x

fk(l)

+ K ˜

k

y

ko(l)

H

k

x

fk(l)

(51) x

a(l)k

= x

fk(l)

+ K

k

y

k(l)

H

k

x

fk(l)

(52) K ˜

k

= P ˜

fk

H

Tk

H

k

P ˜

fk

H

Tk

+ R

k

1

(53) K

k

= P

fk

H

Tk

H

k

P

fk

H

Tk

+ R

k

1

(54) H

k

P

fk

H

Tk

+ R

k

⌅ R

mm

(55) P ˜

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(56)

P

fk

:= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(57)

x

ak

:= 1 N

N

l=1

x

a(l)k

(58)

P ˜

ak

:= 1

N 1

N

l=1

⇤ x

a(l)k

x

ak

⌅⇤

x

a(l)k

x

ak

T

(59)

5

Ensemble

covariance matrix

Ensemble mean (state estimate)

(10)

Lars Nerger – Assimilating DOT data with EnKFs

A simple test problem

  Twin experiment with nonlinear shallow water model

  Initial state estimate: temporal mean state

  Initial covariance matrix: variability around mean state

(11)

Lars Nerger – Assimilating DOT data with EnKFs

Shallow water model: filter performances

  SEEK stagnates

  same convergence behavior for EnKF and SEIK

  smaller performance for EnKF than for SEIK

  EnKF ensemble 1.5-2 times larger than SEIK ensemble for same filtering performance

Error reduction due to assimilation

Ensemble size

Nerger, Hiller, Schröter. Tellus 57A (2005) 715-735

(12)

Lars Nerger – Assimilating DOT data with EnKFs

Some results: EnKF vs. SEIK

•  EnKF94/98

•  very simple to implement

•  costly (compute analysis update in observation space)

•  observation ensemble introduces sampling errors

•  random ensemble initialization has slow convergence

•  SEIK

•  more difficult to implement

•  much faster (analysis update in ensemble space)

•  faster convergence with initialization using singular value decomposition (empirical orthogonal functions)

Nerger, Hiller, Schröter. Tellus 57A (2005) 715-735

What makes SEIK faster than EnKF?

(13)

Lars Nerger – Assimilating DOT data with EnKFs

Two features of the SEIK filter

1.  Avoid perturbing observations

•  Apply two step update:

1.  Update ensemble mean state

2.  Transform forecast ensemble to represent analysis P

2.  Ensemble transformation in ensemble space

•  Degrees of freedom of analysis: ensemble size – 1

•  EnKF uses update in observation space (usually much larger than ensemble size)

Typical for ensemble square-root Kalman filters

(14)

Lars Nerger – Assimilating DOT data with EnKFs

Efficient use of ensembles

Kalman gain

K ˜

k

= ˜ P

fk

H

Tk

H

k

P ˜

fk

H

Tk

+ R

k

1

K ˜

k

= ⇣

P ˜

fk

1

+ H

T

R

1

H

1

H

T

R

1

Alternative form (Sherman-Morrison-Woodbury matrix identity)

Looks worse: matrices need inversion

n ⇥ n

K ˜

k

= X

0

h

(N 1)I + X

0T

H

T

R

1

HX

0

i

1

X

0T

H

T

R

1

However: with ensemble

Inversion of matrix

(Ensemble perturbation matrix )

P ˜

fk

= (N 1)

1

X

0

X

0T

N ⇥ N

X

0

= X X ¯

(15)

Lars Nerger – Assimilating DOT data with EnKFs

ETKF Which filter should one use?

Many choices - a little “ zoo ” (not complete):

EAKF

ETKF EnKF(94/98)

SEIK

EnSRF SEEK

RRSQRT ROEK

EnKF(2003) EnKF(2004)

ESTKF EnKF(94/98)

SEEK

SEIK

Studied in Nerger et al. Tellus (2005)

SEIK

New study:

Nerger et al., Mon. Wea. Rev.

(2012)

New filter formulation

MLEF

SPKF

ESSE

RHF

(16)

Lars Nerger – Assimilating DOT data with EnKFs

Square root of covariance matrix (ensemble size N, state dim n)

T is specific for filter algorithm:

ETKF:

T removes ensemble mean

(usually, compute directly ) Z has dimension nN

SEIK:

T removes ensemble mean and drops last column Z has dimension n(N-1)

Analysis

X

fk

= ⌃

x

fk(1)

, . . . , x

fk(N)

(167) X

fk

= ⌃

x

fk

, . . . , x

fk

(168)

Z

fk

= X

fk

X

fk

(169)

Z = X

f

T (170)

P ˇ

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(171) P ˇ

fk

= 1

N 1 Z

fk

Z

fk

T

(172) P ˇ

fk

= Z

fk

G ⇤

Z

fk

T

(173) G := 1

N 1 I (174)

x

ak

= x

fk

+ Z

fk

w

k

(175) w

k

= A

k

(H

k

Z

fk

)

T

R

k 1

y

ok

H

k

x

fk

(176)

A

k 1

= G

1

+ (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(177) A

k 1

= (N 1)I + (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(178) P ˇ

ak

= Z

fk

A

k

(Z

fk

)

T

(179) A

1

= I + (HZ)

T

R

1

HZ

f

(180)

P

a

= ZAZ

T

(181)

Ensemble transformation

X

a

= X

a

+ X

fk

W (182)

X

ak

= X

fk

+ Z

fk

W

k

+ W

k

(183) W

k

= ⌃

w

k

, . . . , w

k

(184) P

ak

= 1

N 1 Z

ak

(Z

ak

)

T

(185) Z

ak

= ⇥

N 1Z

fk

A

1/2k

(186)

Z

ak

= Z

fk

W

k

(187)

W

k

= ⇥

N 1U

k

S

k 1/2

U

Tk

(188)

U

k

S

k

V

k

= A

k 1

(189)

15 Analysis

X f k = ⌃

x f k (1) , . . . , x f k (N )

(167) X f k = ⌃

x f k , . . . , x f k

(168)

Z f k = X f k X f k (169)

Z = X f T (170)

P f = ZZ T (171)

P ˇ f k = 1

N 1

⇧ N

l=1

⇤ x f k (l) x f k ⌅⇤

x f k (l) x f k ⌅ T

(172) P ˇ f k = 1

N 1 Z f k

Z f k ⌅ T

(173) P ˇ f k = Z f k G ⇤

Z f k ⌅ T

(174) G := 1

N 1 I (175)

x a k = x f k + Z f k w k (176) w k = A k (H k Z f k ) T R k 1

y k o H k x f k

(177)

A k 1 = G 1 + (H k Z f k ) T R k 1 H k Z f k (178) A k 1 = (N 1)I + (H k Z f k ) T R k 1 H k Z f k (179) P ˇ a k = Z f k A k (Z f k ) T (180) A = G + (HZ) T R 1 HZ ⇥ 1

(181)

P a = ZAZ T (182)

Ensemble transformation

X a = X a + X f k W (183)

X a k = X f k + Z f k W k + W k

(184) W k = ⌃

w k , . . . , w k

(185) P a k = 1

N 1 Z a k (Z a k ) T (186) Z a k = ⇥

N 1Z f k A 1/2 k (187)

Z a k = Z f k W k (188)

W k = ⇥

N 1U k S k 1/2 U T k (189)

U k S k V k = A k 1 (190)

15

Analysis

X

fk

= ⌃

x

fk(1)

, . . . , x

fk(N)

(168) X

fk

= ⌃

x

fk

, . . . , x

fk

(169)

Z

fk

= X

fk

X

fk

(170)

Z = X X (171)

Z = X

f

T (172)

P

f

= ZZ

T

(173)

P ˇ

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(174) P ˇ

fk

= 1

N 1 Z

fk

Z

fk

T

(175) P ˇ

fk

= Z

fk

G ⇤

Z

fk

T

(176) G := 1

N 1 I (177)

x

ak

= x

fk

+ Z

fk

w

k

(178) w

k

= A

k

(H

k

Z

fk

)

T

R

k 1

y

ko

H

k

x

fk

(179)

A

k 1

= G

1

+ (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(180) A

k 1

= (N 1)I + (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(181) P ˇ

ak

= Z

fk

A

k

(Z

fk

)

T

(182) A = G + (HZ)

T

R

1

HZ ⇥

1

(183)

P

a

= ZAZ

T

(184)

Ensemble transformation

X

a

= X

a

+ X

fk

W (185)

X

a

⇥ ZW (186)

WW

T

= A (187)

X

ak

= X

fk

+ Z

fk

W

k

+ W

k

(188) W

k

= ⌃

w

k

, . . . , w

k

(189)

15

Transformation matrix in ensemble space (small matrix)

ETKF:

A has dimension N

2

G = I (identity matrix) SEIK:

A has dimension (N-1)

2

G = ( T T

T

)

-1

Analysis

X

fk

= ⌃

x

fk(1)

, . . . , x

fk(N)

(167) X

fk

= ⌃

x

fk

, . . . , x

fk

(168)

Z

fk

= X

fk

X

fk

(169)

Z = X

f

T (170)

P

f

= ZZ

T

(171)

P ˇ

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(172) P ˇ

fk

= 1

N 1 Z

fk

Z

fk

T

(173) P ˇ

fk

= Z

fk

G ⇤

Z

fk

T

(174) G := 1

N 1 I (175)

x

ak

= x

fk

+ Z

fk

w

k

(176) w

k

= A

k

(H

k

Z

fk

)

T

R

k 1

y

ok

H

k

x

fk

(177)

A

k 1

= G

1

+ (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(178) A

k 1

= (N 1)I + (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(179) P ˇ

ak

= Z

fk

A

k

(Z

fk

)

T

(180) A = G + (HZ)

T

R

1

HZ ⇥

1

(181)

P

a

= ZAZ

T

(182)

Ensemble transformation

X

a

= X

a

+ X

fk

W (183)

X

ak

= X

fk

+ Z

fk

W

k

+ W

k

(184) W

k

= ⌃

w

k

, . . . , w

k

(185) P

ak

= 1

N 1 Z

ak

(Z

ak

)

T

(186) Z

ak

= ⇥

N 1Z

fk

A

1/2k

(187)

Z

ak

= Z

fk

W

k

(188)

W

k

= ⇥

N 1U

k

S

k 1/2

U

Tk

(189)

U

k

S

k

V

k

= A

k 1

(190)

15

Analysis state covariance matrix

Analysis

X

fk

= ⌃

x

fk(1)

, . . . , x

fk(N)

(167) X

fk

= ⌃

x

fk

, . . . , x

fk

(168)

Z

fk

= X

fk

X

fk

(169)

Z = X

f

T (170)

P ˇ

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(171) P ˇ

fk

= 1

N 1 Z

fk

Z

fk

T

(172) P ˇ

fk

= Z

fk

G ⇤

Z

fk

T

(173) G := 1

N 1 I (174)

x

ak

= x

fk

+ Z

fk

w

k

(175) w

k

= A

k

(H

k

Z

fk

)

T

R

k 1

y

ko

H

k

x

fk

(176)

A

k 1

= G

1

+ (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(177) A

k 1

= (N 1)I + (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(178) P ˇ

ak

= Z

fk

A

k

(Z

fk

)

T

(179)

A

1

= I + (HZ)

T

R

1

HZ (180)

P

a

= ZAZ

T

(181)

Ensemble transformation

X

a

= X

a

+ X

fk

W (182)

X

ak

= X

fk

+ Z

fk

W

k

+ W

k

(183) W

k

= ⌃

w

k

, . . . , w

k

(184) P

ak

= 1

N 1 Z

ak

(Z

ak

)

T

(185) Z

ak

= ⇥

N 1Z

fk

A

1/2k

(186)

Z

ak

= Z

fk

W

k

(187)

W

k

= ⇥

N 1U

k

S

k 1/2

U

Tk

(188)

U

k

S

k

V

k

= A

k 1

(189)

15

Computations in ensemble-spanned space

Ensemble transformation based on square root of A

Very efficient:

Transformation matrix computed in space of dim. N or N-1

Analysis

X

fk

= ⌃

x

fk(1)

, . . . , x

fk(N)

(167) X

fk

= ⌃

x

fk

, . . . , x

fk

(168)

Z

fk

= X

fk

X

fk

(169)

Z = X

f

T (170)

P

f

= ZZ

T

(171)

P ˇ

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(172) P ˇ

fk

= 1

N 1 Z

fk

Z

fk

T

(173) P ˇ

fk

= Z

fk

G ⇤

Z

fk

T

(174) G := 1

N 1 I (175)

x

ak

= x

fk

+ Z

fk

w

k

(176) w

k

= A

k

(H

k

Z

fk

)

T

R

k 1

y

ko

H

k

x

fk

(177)

A

k 1

= G

1

+ (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(178) A

k 1

= (N 1)I + (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(179) P ˇ

ak

= Z

fk

A

k

(Z

fk

)

T

(180) A = G + (HZ)

T

R

1

HZ ⇥

1

(181)

P

a

= ZAZ

T

(182)

Ensemble transformation

X

a

= X

a

+ X

fk

W (183)

X

a

⇥ X

f

L (184)

LL

T

= A (185)

X

ak

= X

fk

+ Z

fk

W

k

+ W

k

(186) W

k

= ⌃

w

k

, . . . , w

k

(187)

15 Analysis

X

fk

= ⌃

x

fk(1)

, . . . , x

fk(N)

(167) X

fk

= ⌃

x

fk

, . . . , x

fk

(168)

Z

fk

= X

fk

X

fk

(169)

Z = X

f

T (170)

P

f

= ZZ

T

(171)

P ˇ

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(172) P ˇ

fk

= 1

N 1 Z

fk

Z

fk

T

(173) P ˇ

fk

= Z

fk

G ⇤

Z

fk

T

(174) G := 1

N 1 I (175)

x

ak

= x

fk

+ Z

fk

w

k

(176) w

k

= A

k

(H

k

Z

fk

)

T

R

k 1

y

ok

H

k

x

fk

(177)

A

k 1

= G

1

+ (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(178) A

k 1

= (N 1)I + (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(179) P ˇ

ak

= Z

fk

A

k

(Z

fk

)

T

(180) A = G + (HZ)

T

R

1

HZ ⇥

1

(181)

P

a

= ZAZ

T

(182)

Ensemble transformation

X

a

= X

a

+ X

fk

W (183)

X

a

⇥ ZL (184)

LL

T

= A (185)

X

ak

= X

fk

+ Z

fk

W

k

+ W

k

(186) W

k

= ⌃

w

k

, . . . , w

k

(187)

15

(17)

Lars Nerger – Assimilating DOT data with EnKFs

The T matrix

SEIK and ETKF use different projections T

➜  results in slightly different ensemble transformations

➜  SEIK is slightly faster than ETKF

ETKF uses minimal ensemble transformation – desirable feature!

Analysis

X

fk

= ⌃

x

fk(1)

, . . . , x

fk(N)

(167) X

fk

= ⌃

x

fk

, . . . , x

fk

(168)

Z

fk

= X

fk

X

fk

(169)

Z = X

f

T (170)

P ˇ

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(171) P ˇ

fk

= 1

N 1 Z

fk

Z

fk

T

(172) P ˇ

fk

= Z

fk

G ⇤

Z

fk

T

(173) G := 1

N 1 I (174)

x

ak

= x

fk

+ Z

fk

w

k

(175) w

k

= A

k

(H

k

Z

fk

)

T

R

k 1

y

ko

H

k

x

fk

(176)

A

k 1

= G

1

+ (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(177) A

k 1

= (N 1)I + (H

k

Z

fk

)

T

R

k 1

H

k

Z

fk

(178) P ˇ

ak

= Z

fk

A

k

(Z

fk

)

T

(179) A

1

= I + (HZ)

T

R

1

HZ

f

(180)

P

a

= ZAZ

T

(181)

Ensemble transformation

X

a

= X

a

+ X

fk

W (182)

X

ak

= X

fk

+ Z

fk

W

k

+ W

k

(183) W

k

= ⌃

w

k

, . . . , w

k

(184) P

ak

= 1

N 1 Z

ak

(Z

ak

)

T

(185) Z

ak

= ⇥

N 1Z

fk

A

1/2k

(186)

Z

ak

= Z

fk

W

k

(187)

W

k

= ⇥

N 1U

k

S

k 1/2

U

Tk

(188)

U

k

S

k

V

k

= A

k 1

(189)

15

(18)

Lars Nerger – Assimilating DOT data with EnKFs

Error Subspace Transform Kalman Filter (ESTKF)

Combine advantages of SEIK and ETKF

Redefine T:

1.  Remove ensemble mean from all columns 2.  Subtract fraction of last column from all others 3.  Drop last column

L. Nerger et al., Monthly Weather Review 140 (2012) 2335-2345

Features of the ESTKF:

•  Same ensemble transformation as ETKF

•  Slightly cheaper computations

•  Direct access to ensemble-spanned error space

(19)

Lars Nerger – Assimilating DOT data with EnKFs

Requirements for applying ensemble Kalman filters

“Pure” ensemble-based Kalman filters have usually bad performance

•  e.g. due to small ensemble size

Improvements through

•  Covariance inflation

•  Localization

•  Model error simulation

S: Analysis region

D: Corresponding data region Localization

(20)

Lars Nerger – Assimilating DOT data with EnKFs

Implementation Aspects

(21)

Lars Nerger – Assimilating DOT data with EnKFs

Computational and Practical Issues

Data assimilation with ensemble-based Kalman filters is costly!

Memory: Huge amount of memory required (model fields and ensemble matrix)

Computing: Huge requirement of computing time (ensemble integrations)

Parallelism: Natural parallelism of ensemble integration exists (needs to be implemented)

„Fixes “ : Filter algorithms do not work in their pure form („fixes “ and tuning are needed)

because Kalman filter optimal only in linear case

(22)

Lars Nerger – Assimilating DOT data with EnKFs

Implementing Ensemble Filters & Smoothers

Ensemble forecast

•  can require model error simulation

•  naturally parallel

Analysis step of filter algorithms operates on abstract state vectors (no specific model fields)

Analysis step requires information on observations

•  which field?

•  location of observations

•  observation error covariance matrix

•  relation of state vector to observation

➜ Analysis step can be implemented independently of model!

(23)

Lars Nerger – Assimilating DOT data with EnKFs

Offline mode – separate programs Model

Aaaaaaaa Aaaaaaaa aaaaaaaa a

Start

Stop

read ensemble files analysis step

Aaaaaaaa Aaaaaaaa aaaaaaaaa

Start

Stop Do i=1, nsteps

Initialize Model

generate mesh Initialize fields

Time stepper

consider BC Consider forcing

Post-processing

For each ensemble state

•  Initialize from restart files

•  Integrate

•  Write restart files

•  Read restart files (ensemble)

•  Compute analysis step

•  Write new restart files

Assimilation program

write model restart files

⬅ generic

(24)

Lars Nerger – Assimilating DOT data with EnKFs

Extending a Model for Data Assimilation

Aaaaaaaa Aaaaaaaa aaaaaaaaa

Start

Stop Do i=1, nsteps

Initialize Model

generate mesh Initialize fields

Time stepper

consider BC Consider forcing

Post-processing

Aaaaaaaa Aaaaaaaa aaaaaaaaa

Start

Stop Do i=1, nsteps

Initialize Model

generate mesh Initialize fields

Time stepper

consider BC Consider forcing

Post-processing

Model

Ensemble forecast

Analysis step

Initialization Extension for data assimilation

Aaaaaaaa Aaaaaaaa aaaaaaaaa

Start

Stop

Initialize Model

generate mesh Initialize fields

Time stepper

consider BC Consider forcing

Post-processing init_parallel_asml

Do i=1, nsteps get_state_asml

init_asml

put_state_asml Filter-Analysis

Online assimilation program:

➜ Avoid expensive writing and reading of ensemble files

(25)

Lars Nerger – Assimilating DOT data with EnKFs

Features of online program

•  minimal changes to model code when combining model with filter algorithm (adding 4 routines)

•  model not required to be a subroutine

•  no change to model numerics

•  control of assimilation program coming from model

•  filter method encapsulated in subroutine

•  simple switching between different filters and data sets

•  complete parallelism in model, filter, and ensemble integrations

Implementation structure can be implemented in a generic

framework (for online and offline modes)

(26)

Lars Nerger – Assimilating DOT data with EnKFs

PDAF: A tool for data assimilation

PDAF - Parallel Data Assimilation Framework

  an environment for ensemble assimilation

  provide support for ensemble forecasts

  provide fully-implemented filter algorithms

  for testing algorithms and real applications

  useable with virtually any numerical model

  makes good use of supercomputers

Open source:

Code and documentation available at http://pdaf.awi.de

L. Nerger, W. Hiller, Computers & Geosciences 55 (2013) 110-118

Referenzen

ÄHNLICHE DOKUMENTE

Subantarctic and Polar fronts and southern boundary of ACC computed from in-situ measurements (Orsi et al., 1995).. Ø  The MSS is extended over land as well as within gaps in

Studies about the properties of the ensemble transformation in different square-root filters (e.g., Wang et al. 2004; Sakov and Oke 2008) have shown that a symmetric matrix C

In contrast, for ’normal’ (fixed) OL, the effective localization length of the Kalman gain grows if the observation error variance becomes smaller than the estimated error of

Lower Right: True state (black) and analysis (red) after one assimilation step with localized ensemble covariance with overlapping observations and B... Example domain

  state estimate and error covariance matrix.   uncertainty of (initial)

If the influence of the observations is larger, OL requires a smaller localization length scale and, still, can lead to inferior assimilation results than using CL.. The

If the influence of the observations is larger, OL requires a smaller localization length scale and, still, can lead to inferior assimilation results than using CL.. The

An algorithm is presented that for each subdomain of ensemble localization uses observations from a domain larger than the ensemble subdomain and a Schur product with an