• Keine Ergebnisse gefunden

Practical Aspects of Ensemble-based Kalman Filters

N/A
N/A
Protected

Academic year: 2022

Aktie "Practical Aspects of Ensemble-based Kalman Filters"

Copied!
36
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Practical Aspects of

Ensemble-based Kalman Filters

Lars Nerger

Alfred Wegener Institute for Polar and Marine Research Bremerhaven, Germany

and

Bremen Supercomputing Competence Center BremHLR Bremen, Germany

lars.nerger@awi.de

(2)

Outline

Lars Nerger – Practical Aspects of Ensemble-based KFs

Aspects

  Computing

  Analysis formulation

  Localization

Collaborations:

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

BSH: F. Janssen, S. Massmann Bremen University: A. Bunse-Gerstner

(3)

The Problem

Lars Nerger – Practical Aspects of Ensemble-based KFs

(4)

Application Example

Information: Model Information: Observation

S. Loza et al., Journal of Marine Systems 105 (2012) 152-162

Model surface temperature Satellite surface temperature

Norway

Sweden

Finland

UK

  Forecasting in North & Baltic Seas

  Combine model and observations for optimal initial condition

  State vector size: 2.6 · 106 (4 fields 3D, 1 field 2D)

  Obervations: 10000 – 37000 (Surface temperature only)

  Ensemble size 8

Oberwolfach

(5)

Forecast deviation from satellite data

No assimilation Assimilation

RMS

bias

Improvements also sub-surface and in other fields

Lars Nerger – Practical Aspects of Ensemble-based KFs

(6)

Problem: Estimate model state (trajectory) from

•  guess at initial time

•  model dynamics

•  observational data

Characteristics of system:

•  approximated by discretized differential equations

• 

high-dimension -

O

(107-109)

•  sparse observations

•  non-linear

Current “standard” methods:

•  Optimization algorithms (“4DVar”)

•  Ensemble-based estimation algorithms

Data Assimilation

This talk!

Lars Nerger – Practical Aspects of Ensemble-based KFs

(7)

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!

Lars Nerger – Practical Aspects of Ensemble-based KFs

(8)

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

Lars Nerger – Ensemble square-root KFs

(9)

What we are looking for…

  Goal: Find the assimilation method with

  smallest estimation error

  most accurate error estimate

  least computational cost

  least tuning

  Want to understand and improve performance

  Difficulty:

  Optimality of Kalman filter well known for linear systems

  No optimality for non-linear systems

➜  limited analytical possibilities

➜  apply methods to test problems

Lars Nerger – Ensemble square-root KFs

(10)

Computing

Lars Nerger – Practical Aspects of Ensemble-based KFs

(11)

single program

state time

state

observations

mesh data

Indirect exchange (module/common) Explicit interface

Model

initialization time integration post processing

Filter

Initialization analysis re-initialization

Observations

obs. vector obs. operator

obs. error

Logical separation of assimilation system

Core of PDAF

Nerger, L., Hiller, W. (2012). Software for Ensemble-based DA Systems – Implementation and Scalability. Computers and Geosciences. In press. doi:10.1016/j.cageo.2012.03.026

(12)

PDAF: A tool for data assimilation

PDAF - Parallel Data Assimilation Framework

  a software to provide assimilation methods

  an environment for ensemble assimilation

  for testing algorithms and real applications

  useable with virtually any numerical model

  also:

•  apply identical methods to different models

•  test influence of different observations

  makes good use of supercomputers

(Fortran and MPI; tested on up to 4800 processors)

More information and source code available at http://pdaf.awi.de

Lars Nerger – Practical Aspects of Ensemble-based KFs

(13)

Analysis Formulations

Lars Nerger – Practical Aspects of Ensemble-based KFs

(14)

  Properties and differences are hardly understood

  Learn from studying relations and differences

_

_

ETKF

Ensemble-based/error-subspace Kalman filters

A little “ zoo ” (not complete):

EAKF

ETKF EnKF(94/98)

SEIK

EnSRF SEEK

RRSQRT ROEK

MLEF EnKF(2003)

EnKF(2004)

SPKF ESSE

ESTKF EnKF(94/98)

SEEK

SEIK

Studied in Nerger et al. (2005)

SEIK

New study

(Nerger et al. 2012)

New filter formulation

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

RHF

anamorphosis

(15)

Model Equations

Stochastic dynamic model:

Stochastic observation model:

Assumptions:

1 Model Equations

x

ti

= M

i,i 1

[x

ti 1

] + ⌘

i

, x

ti

, ⌘

i

⇥ R

n

(1) y

k

= H

k

[x

tk

] + ✏

k

, y

k

, ✏

k

⇥ R

m

(2) y

k

= H

k

x

tk

+ ✏

k

, y

k

, ✏

k

⇥ R

m

(3)

i

N (0, Q

i

); ⌘

i

Tj

= Q

i ij

(4)

k

N (0, R

k

); ✏

k

Tl

= R

k kl

(5)

x

ti

N (¯ x

ti

, P

i

) (6)

k

Tk

= 0; ⌘

i

(x

ti

)

T

= 0; ✏

k

(x

tk

)

T

= 0 (7)

1

1 Model Equations

x

ti

= M

i,i 1

[x

ti 1

] + ⌘

i

, x

ti

, ⌘

i

⇥ R

n

(1) y

k

= H

k

[x

tk

] + ✏

k

, y

k

, ✏

k

⇥ R

m

(2) y

k

= H

k

x

tk

+ ✏

k

, y

k

, ✏

k

⇥ R

m

(3)

i

N (0, Q

i

); ⌘

i

Tj

= Q

i ij

(4)

k

N (0, R

k

); ✏

k

Tl

= R

k kl

(5)

x

ti

N (¯ x

ti

, P

i

) (6)

k

Tk

= 0; ⌘

i

(x

ti

)

T

= 0; ✏

k

(x

tk

)

T

= 0 (7)

1

1 Model Equations

x

ti

= M

i,i 1

[x

ti 1

] + ⌘

i

, x

ti

, ⌘

i

⇥ R

n

(1) y

k

= H

k

[x

tk

] + ✏

k

, y

k

, ✏

k

⇥ R

m

(2) y

k

= H

k

x

tk

+ ✏

k

, y

k

, ✏

k

⇥ R

m

(3)

i

N (0, Q

i

); ⌘

i

Tj

= Q

i ij

(4)

k

N (0, R

k

); ✏

k

Tl

= R

k kl

(5)

x

ti

N (¯ x

ti

, P

i

) (6)

k

Tk

= 0; ⌘

i

(x

ti

)

T

= 0; ✏

k

(x

tk

)

T

= 0 (7)

1

1 Model Equations

x

ti

= M

i,i 1

[x

ti 1

] + ⌘

i

, x

ti

, ⌘

i

⇥ R

n

(1) y

k

= H

k

[x

tk

] + ✏

k

, y

k

, ✏

k

⇥ R

m

(2) y

k

= H

k

x

tk

+ ✏

k

, y

k

, ✏

k

⇥ R

m

(3)

i

N (0, Q

i

); ⌘

i

Tj

= Q

i ij

(4)

k

N (0, R

k

); ✏

k

Tl

= R

k kl

(5)

x

ti

N (¯ x

ti

, P

i

) (6)

k

Tk

= 0; ⌘

i

(x

ti

)

T

= 0; ✏

k

(x

tk

)

T

= 0 (7)

1

1 Model Equations

x

ti

= M

i,i 1

[x

ti 1

] + ⌘

i

, x

ti

, ⌘

i

⇥ R

n

(1) y

k

= H

k

[x

tk

] + ✏

k

, y

k

, ✏

k

⇥ R

m

(2) y

k

= H

k

x

tk

+ ✏

k

, y

k

, ✏

k

⇥ R

m

(3)

i

N (0, Q

i

); ⌘

i

Tj

= Q

i ij

(4)

k

N (0, R

k

); ✏

k

Tl

= R

k kl

(5)

x

ti

N (¯ x

ti

, P

i

) (6)

k

Tk

= 0; ⌘

i

(x

ti

)

T

= 0; ✏

k

(x

tk

)

T

= 0 (7)

1

1 Model Equations

x

ti

= M

i,i 1

[x

ti 1

] + ⌘

i

, x

ti

, ⌘

i

⇥ R

n

(1) y

k

= H

k

[x

tk

] + ✏

k

, y

k

, ✏

k

⇥ R

m

(2) y

k

= H

k

x

tk

+ ✏

k

, y

k

, ✏

k

⇥ R

m

(3)

i

N (0, Q

i

); ⌘

i

Tj

= Q

i ij

(4)

k

N (0, R

k

); ✏

k

Tl

= R

k kl

(5)

x

ti

N (¯ x

ti

, P

i

) (6)

k

Tk

= 0; ⌘

i

(x

ti

)

T

= 0; ✏

k

(x

tk

)

T

= 0 (7)

1

Model error

Observation error

Lars Nerger – Practical Aspects of Ensemble-based KFs

(16)

The Ensemble Kalman Filter (EnKF, Evensen 94)

Generate random ensemble

Ensemble statistics approximate and covariance

Initialization:

Forecast:

Analysis:

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

ko(l)

, 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

o(l)k

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

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)

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

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

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

(17)

Issues of the EnKF94

Monte Carlo Method

  ensemble of observations required

(samples matrix R; introduces sampling error)

Inversion of large matrix

(can be singular, possibly large differences in eigenvalues >0)

Alternative:

  Compute analysis in space spanned by ensemble Methods: Ensemble Square-Root Kalman Filters, e.g.

  SEIK (Pham et al., 1998)

  ETKF (Bishop et al., 2001)

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) H

k

P

fk

H

Tk

+ R

k

⌅ R

mm

(53) P ˜

fk

= 1

N 1

N

l=1

⇤ x

fk(l)

x

fk

⌅⇤

x

fk(l)

x

fk

T

(54)

x

ak

:= 1 N

N

l=1

x

a(l)k

(55)

P ˜

ak

:= 1

N 1

N

l=1

⇤ x

a(l)k

x

ak

⌅⇤

x

a(l)k

x

ak

T

(56)

5

Lars Nerger – Practical Aspects of Ensemble-based KFs

Referenzen

ÄHNLICHE DOKUMENTE

•  EnKF uses update in observation space (usually much larger than ensemble size). Typical for ensemble square-root

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

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