“What is data assimilation really solving? What can it solve? How is the calculation actually done?” Ichiro Fukumori (JPL) GODAE Summer School September, 2004 What are we really solving? How can we solve it? OUTLINE 1. What is assimilation really solving? a) Filtering vs Smoothing b) Observability & Controllability c) Data Error and Model Error 2. Examples and Practical Issues; e.g., ECCO a) A hierarchical approach b) Practical derivation and implementation c) Assessment What is assimilation really solving? Filtering vs Smoothing 1. Kalman filtering and recursive smoothing are both least-squares inversions, but solve different parts of the assimilation problem, 2. Filtered solutions are physically inconsistent, 3. Smoothed solutions can be physically consistent, 4. Estimating model error sources is fundamental. I.Fukumori/JPL The Mathematical Problem of Assimilation Different times Observation Eqs M ⎛ ⎞ ⎛ M ⎞ Assimilation problem: Given ⎜ ⎟ ⎜ y ⎟ Hx t observations, y, and a model (A, ⎜ ⎟ ⎜ t ⎟ ⎜ ⎟ ⎜ y t +1 ⎟ Hxt +1 G, H), what are the model states ⎜ Eqs ⎟ ⎜ ⎟ Model ≈ M M (x) and their controls (u)? ⎜ ⎟ ⎜ ⎟ ⎜ xt +1 − Axt − Gut ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ ⎟ wind ⎜ xt + 2 − Axt +1 − Gut +1 ⎟ ⎜ 0 ⎟ ⎛ M ⎞ ⎜ ⎟ ⎜ M ⎟ M ⎜ u ⎟ surface heat flux ⎝ ⎠ ⎝ ⎠ ⎛ M ⎞ ⎜ i, j,k ⎟ ⎜τ ⎟ ⎜ ui +1, j , k ⎟ sea⎛ level M ⎞ i, j ⎟ ⎜ ⎜ ⎟ ⎜ ⎟ ⎜ τ i +1, j ⎟ M x y η , x: model state ( ) ⎧ 1 1 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎪ ⎜ vi , j , k ⎟ ⎜ η ( x2 , y2 ) ⎟ M y: observations ⎟ ⎪ x=⎜ ⎟, y = ⎜ ⎟ , u = ⎜⎜ e.g., qi , j ⎟ M ⎪H: observation operator ⎜ M ⎟ ⎜ ⎟ ⎜ ⎟ ⎨ ⎜ Ti , j , k ⎟ ⎜ T ( xn , yn , zn ) ⎟ M A G , : model dynamics ⎜ ⎟ ⎪ ⎜ ⎟ ⎜⎜ ⎟⎟ ⎜ ωi , j , k ⎟ ⎪u: control (e.g., forcing, M ⎜ M ⎟ ⎝ ⎠ ⎜⎜ ⎟⎟ temperature ⎪ ⎜ ⎟ M ⎠ si , j , k ⎩ and model errors) ⎝ ⎜ ⎟ interior flux error ⎜ M ⎟ I.Fukumori/JPL ⎝ ⎠ The Mathematical Problem of Assimilation M ⎛ ⎞ ⎛ M ⎞ ⎜ ⎟ ⎜ y ⎟ Hx t ⎜ ⎟ ⎜ t ⎟ ⎜ ⎟ ⎜ y t +1 ⎟ Hxt +1 ⎜ ⎟ ⎜ ⎟ ≈ M M ⎜ ⎟ ⎜ ⎟ ⎜ xt +1 − Axt − Gut ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ xt + 2 − Axt +1 − Gut +1 ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ M ⎟ M ⎝ ⎠ ⎝ ⎠ ⎛O ⎜L ⎜ ⎜L ⎜ ⎜L ⎜L ⎜ ⎜L ⎜N ⎝ This problem is essentially an inverse problem Ea ≈ b ⎛ M ⎞ M M M M M N⎞ ⎜ ⎟ ⎛ M ⎞ x t ⎟ ⎜ y ⎟ H L⎟ ⎜ ⎟ ⎜ xt +1 ⎟ ⎜ t ⎟ H L⎟ ⎜ ⎟ ⎜ y t +1 ⎟ ⎟ ⎟ ⎜ xt + 2 ⎟ ⎜ ≈⎜ M ⎟ L L L L L L⎟ ⎜ M ⎟ −A I −G L⎟ ⎜ ⎟ ⎜ 0 ⎟ ⎟ ⎟ ⎜ ut ⎟ ⎜ 0 −A I −G L ⎟ ⎟ ⎜ ut +1 ⎟ ⎜ M M M M M O ⎟⎠ ⎜⎜ ⎟⎟ ⎜⎝ M ⎟⎠ I.Fukumori/JPL ⎝ M ⎠ Least-Squares Solution Almost all direct assimilation methods can be recognized as a form of least-squares. Ea ≈ b For a linear inverse problem The least-squares solution is given by (Gauss-Markov inversion) aˆ = a 0 + R aa E T ( ER R aˆ aˆ = R aa − R aa E T E + R bb ) T aa ( ER ( b − Ea 0 ) E + R bb ) ER aa T aa −1 −1 aˆ : least-squares solution a 0 , R aa : first guess (prior solution) and its error covariance matrix R bb : error covariance matrix of b ˆ R aa ˆ ˆ : Error covariance of a I.Fukumori/JPL Kalman filter as Least-Squares Linear inverse problem and its least-squares solution; aˆ = a 0 + R aa E T ( ER E + R bb ) T aa −1 ( b − Ea 0 ) Ea ≈ b R aˆ aˆ = R aa − R aa ET ( ER aa ET + R bb ) ER aa −1 Kalman filter estimate : a f ˆ ˆ x = A x t −1 + Gu t −1 t “forecast” “analysis” xˆ ta = xˆ tf + Pt f HT ( HPt f HT + R t ) −1 (y t − Hxˆ tf ) Pt f = APˆ ta−1 AT + GQG T ˆP a = P f − P f HT ( HP f HT + R )−1 HP f t t t t t t There is a direct correspondence between the Kalman filtering algorithm and least-squares; i.e., Kalman filtering is nothing more than an inversion of the observation equation/operator H . Inverse Solution −1 T T aˆ = a 0 + R aa E ( ER aa E + R bb ) ( b − Ea 0 ) is the linear inverse solution of Ea ≈ b for any of following; T 1. Minimum (expected error) variance: min diag ( a − a )( a − a ) if T T True a R aa = ( a0 − a )( a0 − a ) , R bb = ( b − Εa )( b − Εa ) ) ( ( T 2. Least-squares: min ( a − a0 ) Wa ( a − a0 ) + ( b − Ea) Wb ( b − Ea) −1 −1 if Wa = R aa , Wb = R bb T 3. Maximum likelihood: max ⎡⎣℘( a ) ⎤⎦ if Gaussian probability distribution T −1 ℘( a ) = exp − ( a − a0 ) R aa ( a − a0 ) − (b − Ea)T R bb−1 (b − Ea) ( ) ) Least-squares does not necessarily assume Gaussian statistics. I.Fukumori/JPL Kalman filter as Least-Squares M ⎛ ⎞ ⎛ M ⎞ ⎜ ⎟ ⎜ y ⎟ Hx t ⎜ ⎟ ⎜ t ⎟ ⎜ ⎟ ⎜ y t +1 ⎟ Hxt +1 ⎜ ⎟ ⎜ ⎟ ≈ M M ⎜ ⎟ ⎜ ⎟ ⎜ xt +1 − Axt − Gut ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ ⎟ − − x A x G u 0 t +1 t +1 ⎟ ⎜ t +2 ⎜ ⎟ ⎜ ⎟ ⎜ M ⎟ M ⎝ ⎠ ⎝ ⎠ M ⎛ ⎞ ⎛ M ⎞ ⎜ ⎟ ⎜y ⎟ Hxt −1 ⎜ ⎟ ⎜ t −1 ⎟ ⎜ ⎟ ⎜ yt ⎟ Hx t ⎜ ⎟ ⎜ ⎟ ≈ A G 0 x x u − − 0 0 ⎟ ⎜ 1 ⎜ ⎟ ⎜ ⎟ ⎜ M ⎟ M ⎜ ⎟ ⎜ ⎟ A G u 0 x x − − t t ⎟ ⎜ t +1 ⎜ ⎟ ⎜ x − Ax − Gu ⎟ ⎜ 0 ⎟ t −1 t −1 ⎠ ⎝ t ⎝ ⎠ xˆ = xˆ + Pt H a t f t f T ( HP t f H + Rt ) T −1 (y t − Hxˆ tf ) • This is an inversion of the observation equation but NOT an inversion of the model equations. y The estimate is the least-squares solution for the end state, but not at intermediate times. y The virtue of Kalman filtering is that these inverted end states do not have to be recomputed over the entire period every time new observations are obtained. Kalman filter as Least-Squares The temporal evolution of filtered estimates are physically inconsistent (e.g., budgets do not close). Kalman filter estimate : xˆ tf = Axˆ ta−1 + Gut −1 xˆ = xˆ + Pt H a t f t f T ( HP t f H + Rt ) T −1 (y t − Hxˆ tf Combining the two steps give, xˆ = Axˆ a t a t −1 + Gut −1 + Pt H f T ( HP t f H + Rt ) T −1 (y t − Hxˆ tf ) Not associated with any particular physics (e.g., advection, mixing, external forcing) embodied in A and G. ) Consistency of Temporal Evolution xˆ = Axˆ a t a t −1 + Gut −1 + Pt H f T ( HPt H + R t ) f T −1 f ˆ y − H x ( t t ) Because of the filter’s data increments, the temporal evolution of the filtered state from xˆ ta−1 to xˆ ta , etc, cannot be physically accounted for; e.g., budgets cannot be closed. Filtered Estimate xˆ tf = Axˆ ta−1 + Gut −1 xˆ ta = xˆ tf + Pt f HT ( HPt f HT + R t ) xˆ a t −1 (y t − Hxˆ tf ) yt xˆ ta−1 Smoothed Estimate xˆ tf time I.Fukumori/JPL Example: Inconsistencies in Atmospheric Analyses 24% of mass change in NCEP’s operational analysis is physically unaccounted for. 1.0 change over 6-hours assimilation increment 0.8 0.6 0 10 20 mbar 0 2 4 mbar Smother as Least-Squares Kalman filter estimate: xˆ = Axˆ a t a t −1 + Gut −1 + Pt H f T ( HP t f H + Rt ) T −1 (y t − Hxˆ tf ) a ˆ x Smoothing problem: Given the updated estimate t invert the model to correct the prior state x t −1 and control ut −1 that; s ˆ ⎛ x a s s t −1 ⎞ xˆ t = Axˆ t −1 + Guˆ t −1 = ( A G ) ⎜ s ⎟ ⎝ uˆ t −1 ⎠ A least-squares solution that exactly satisfies the inverse problem Ea = b can be obtained by setting R bb = 0 in the canonical least-squares solution; By substitution, we have; ⎛ Pa A T ( APa A T + GQ G T ) −1 ⎞ a s t −1 t −1 ⎛ xˆ t −1 ⎞ ⎛ xˆ t −1 ⎞ ⎜ t −1 ⎟ ( xˆ a − Axˆ a − Gu ) = + t t −1 t −1 ⎜ s ⎟ ⎜ ⎟ ⎜ T T T −1 ⎟ a ˆ u u ⎝ t −1 ⎠ ⎝ t −1 ⎠ Qt −1G ( GQt −1G + APt −1A ) ⎝ ⎠ Smother as Least-Squares More generally, −1 T T T a a ⎛ ⎞ ⎛ xˆ ts ⎞ ⎛ xˆ ta ⎞ ⎜ Pt A ( APt A + GQt G ) ⎟ s a ˆ ˆ = + x − A x ( t +1 t − Gu t ) ⎜ s⎟ ⎜ ⎟ ⎜ 1 − ⎝ uˆ t ⎠ ⎝ ut ⎠ Qt G T ( GQt G T + APta A T ) ⎟ ⎝ ⎠ ⎛ Pa A T ( APa A T + GQ G T ) −1 APa ⎞ ⎛ a s a T ⎞ Lt Pt +1Lt t t t ⎛ P ⎞ ⎛P ⎞ ⎜ t ⎟ ⎟ +⎜ ⎜ ⎟=⎜ ⎟−⎜ T 1 − ⎝ Q ⎠ ⎝ Qt ⎠ Qt GT ( GQt GT + APta A T ) GQt ⎟ ⎜⎝ M ta Pts+1M ta ⎟⎠ ⎝ ⎠ a t s t s t where, ( AP A + GQ G ) ≡ Q G ( GQ G + AP A ) L ≡P A a t M a t a t a t T Least-squares solution; Ea ≈ b Extra term due to errors in xˆ ts+1 t T t T −1 T T t T −1 a t aˆ = a 0 + R aa E T ( ER E + R bb ) T aa −1 ( b − Ea 0 ) R aˆ aˆ = R aa − R aa ET ( ER aa ET + R bb ) ER aa −1 Smoother as Least-Squares −1 T T T a a ⎛ ⎞ ⎛ xˆ ts ⎞ ⎛ xˆ ta ⎞ ⎜ Pt A ( APt A + GQt G ) ⎟ s a ˆ ˆ = + x − A x ( t +1 t − Gu t ) ⎜ s⎟ ⎜ ⎟ ⎜ 1 − ⎝ uˆ t ⎠ ⎝ ut ⎠ Qt G T ( GQt G T + APta A T ) ⎟ ⎝ ⎠ y This is the Rauch-Tung-Striebel (RTS) fixed-interval smoother and is an inversion of the model equations. M ⎛ ⎞ ⎛ M ⎞ ⎜ ⎟ ⎜ y ⎟ Hx t ⎜ ⎟ ⎜ t ⎟ ⎜ ⎟ ⎜ y t +1 ⎟ Hxt +1 ⎜ ⎟ ⎜ ⎟ ≈ M M ⎜ ⎟ ⎜ ⎟ ⎜ xt +1 − Axt − Gut ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ ⎟ x − A x − G u 0 t +1 t +1 ⎟ ⎜ t +2 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ M M ⎝ ⎠ ⎝ ⎠ y This solves the entire assimilation problem by sequentially solving smaller calculations. y Another virtue is its results’ physical consistency. Smoother as Least-Squares ⎛ P a A T ( AP a A T + GQ G T )−1 ⎞ t t ⎛ xˆ ⎞ ⎛ xˆ ⎞ ⎜ t ⎟ xˆ s − Axˆ a − Gu = + ( t +1 t ⎜ ⎟ ⎜ ⎟ ⎜ t) −1 ⎟ a T T T ˆ u u ⎝ ⎠ ⎝ t ⎠ ⎜ Qt G ( GQt G + APt A ) ⎟ ⎝ ⎠ s t s t a t y By construction, this satisfies the model equation, xˆ ts = Axˆ ts−1 + Guˆ ts−1 making it amenable to process studies. This should not be confused with the “strong constraint” solution; In fact, xˆ ts ≠ Axˆ ts−1 + Gut −1 y Control estimates are of the essence. Smoothed state estimates can be computed from the control estimates. y The model for model process noise u t must be physically based for the result to be physically sensible. I.Fukumori/JPL Smoother as Least-Squares ⎛ P a A T ( AP a A T + GQ G T )−1 ⎞ t t ⎛ xˆ ⎞ ⎛ xˆ ⎞ ⎜ t ⎟ xˆ s − Axˆ a − Gu = + ( t +1 t ⎜ ⎟ ⎜ ⎟ ⎜ t) −1 ⎟ a T T T ˆ u u ⎝ ⎠ ⎝ t ⎠ ⎜ Qt G ( GQt G + APt A ) ⎟ ⎝ ⎠ s t s t a t y The RTS smoother recursively carries information of formally future observations backwards in time. y Utilizes all data within a fixed time-interval whereas the Kalman filter only utilizes data up to that instant. Data Kalman filter time Smoother y More accurate than the filter’s estimate. Other Smoothers y Fixed-Interval Smoother; time Besides the recursive RTS smoother, the adjoint method and Green’s function optimizations are other commonly used fixed-interval smoothers. y Fixed-Point Smoother; time y Fixed-Lag Smoother; time What are we really solving? How can we solve it? OUTLINE 1. What is assimilation really solving? a) Filtering vs Smoothing b) Observability & Controllability c) Data Error and Model Error 2. Examples and Practical Issues; e.g., ECCO a) A hierarchical approach b) Practical derivation and implementation c) Assessment Observability & Controllability Kalman Filter is an inversion of observation H. RTS smoother is an inversion of model evolution A and G. Identifies the problem the filter & smoother are solving (inverting). Observability identifies if the model state that can be determined. Controllability identifies if controls can be determined. Identifies the solution that could be determined. Observability If there are no errors in the observations and no errors in the model (except state is unknown), can we determine the model state uniquely ? y1 = H1x1 = H1 ( Ax 0 − Gu0 ) y1 + H1Gu0 = H 2 Ax 0 M ) y t + H t Gut −1 + Ht AGut − 2 + L + Ht A t −1Gu0 ≡ y t = H t A t x 0 ) y ⎛ 1⎞ ⎛ H1A ⎞ ⎜ M ⎟ = Ox where O ≡ ⎜ M ⎟ 1 ⎜) ⎟ ⎟ ⎜ ⎜y ⎟ ⎜ H At ⎟ ⎝ t⎠ ⎝ t ⎠ If O is full rank (column), there is a unique solution for the state, and the system is said to be observable. Controllability Can we determine controls that can drive the model to an arbitrary state? x1 = Ax 0 + Gu0 x 2 = Ax1 + Gu1 = A 2 x 0 + AGu0 + Gu1 M x t = Ax t −1 + Gut −1 = A t x 0 + A t −1Gu0 + A t − 2 Gu1 L + Gut −1 ⎛ u0 ⎞ ⎜ u ⎟ x t − A t x 0 = C ⎜ 1 ⎟ where ⎜ M ⎟ ⎜u ⎟ ⎝ t −1 ⎠ C ≡ ( G AG L A t −1G ) If C is full rank (row), there is a solution for the control that satisfies this equation, and the system is said to be controllable. Observability & Controllability These conditions are conceptually important. But the physical state being observable does not mean any meaningful estimate can be made; i.e., a f Difference between P and P may be indistinguishable. What are we really solving? How can we solve it? OUTLINE 1. What is assimilation really solving? a) Filtering vs Smoothing b) Observability & Controllability c) Data Error and Model Error 2. Examples and Practical Issues; e.g., ECCO a) A hierarchical approach b) Practical derivation and implementation c) Assessment What is assimilation really solving? “Data Error” and “Model Error” 1. The two are better thought of as observation constraint error and model constraint error, respectively, as opposed to errors of the data and model, per se. 2. “Data Error” includes representation errors, i.e., things that the models do not represent, 3. How to specify the two prior errors. “Data Error” & “Model Error” M ⎛ ⎞ ⎛ M ⎞ ⎜ ⎟ ⎜ y ⎟ Hx t ⎜ ⎟ ⎜ t ⎟ ⎜ ⎟ ⎜ y t +1 ⎟ Hxt +1 ⎜ ⎟ ⎜ ⎟ ≈ M M ⎜ ⎟ ⎜ ⎟ ⎜ xt +1 − Axt − Gut ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ ⎟ x − A x − G u 0 t +1 t +1 ⎟ ⎜ t +2 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ M M ⎝ ⎠ ⎝ ⎠ What are error covariance matrices R and Q? These two in effect define the inverse solution, and therefore, their understanding and proper specification are fundamental to solving the assimilation problem. Kalman filter estimate : “forecast” “analysis” xˆ tf = Axˆ ta−1 + Gut −1 xˆ ta = xˆ tf + Pt f HT ( HPt f HT + R t ) −1 (y t − Hxˆ tf Pt f = APˆ ta−1 AT + GQG T ˆP a = P f − P f HT ( HP f HT + R )−1 HP f t t t t t t ) “Data Error” R represents the error of the data constraint and includes model representation error. The true model state xt is a finite dimensional representation of the true state of the ocean, w t xt ≡ Πw t Π : Function defining the model state. Observations are related to the true state of the ocean by E: Function defining observation. y t = Ew t + ε ε: Measurement error In terms of the true model state, y t = Hxt + {Ew t − HΠw t } + ε (after Cohn, 1997, J. Met. Soc. Jap.) Error of observation equation y t = Hx t Ew t − HΠw t : Representation error “Data Error” Ew t − HΠw t : Representation error Error-free data Error-free model equivalent of data Π : Defines the model state. E : Defines observation. H : Defines model equivalent of data Examples; • Meso-scale variability for a non-eddy resolving model, • External tides for a rigid lid model, • Skin temperature for model with thick surface layer, • Micro-structure for most models, • Barotropic variability for a reduced-gravity model, • Baroclinic variability for a barotropic model, • Meteorologist do not force models too close to observations in numerical weather forecasting, • Individual float & drifter trajectories for any finite difference model. Examples of Drifter Trajectory (Paduan and Niiler, 1993, JPO) Example of diverging float Typical “spaghetti” diagram trajectories “Model Error” Q represents the error of the model constraint. Model evolution: x t +1 = A ( x t , uˆ ) Ocean evolution: w t +1 = L ( w t , v t ) 0 t Forcing, boundary condition, mixing parameters, model error sources. Real forcing & boundary condition. Functions describing the evolution The true model evolution can be written as, xt +1 = Πw t +1 = ΠL ( w t , v t ) { } xt +1 = A ( xt , uˆ 0t ) + ΠL ( w t , v t ) − A ( Πw t , uˆ 0t ) Error of the model evolution; x t +1 = A ( x t , uˆ 0t ) ΠL ( w t , v t ) − A ( Πw t , uˆ 0t ) : Model Process Noise True evolution Model evolution given true model state “Model Error” ΠL ( w t , v t ) − A ( Πw t , uˆ 0t ) : Model Process Noise Examples; 1) Differences in uˆ 0t and v (errors in non-state variables); forcing, boundary condition, model parameters, 2) Errors due to differences in A and L (errors in model algorithm); finite difference, interaction with scales and processes ignored { } xt +1 = A ( xt , uˆ 0t ) + ΠL ( w t , v t ) − A ( Πw t , uˆ 0t ) = A ( xt , ut ) Collectively, sources of model process noise are modeled as elements of the model control vector. Prior Error Specification Covariance Matching (Fu et al., 1993, JPO) Estimate R & Q from model-data comparison. Data y and its model simulation equivalent m could be written as; y =s+r m=s+n where, s : true signal ( Hx ) , r : data error, m: simulation of y ( Hx sim ) , n : simulation error ( Hx sim − Hx ) Then, yy T = ssT + sr T + rsT + rr T mmT = ssT + snT + nsT + nnT my T = ssT + sr T + nsT + nr T Prior Error Specification T If, sn ≈ 0 etc, R = rr T = yy T − my T HPsim HT = nnT = mmT − my T R estimate. Implicit Q estimate. Adjust process noise Q to match the solution of the “Lyapunov Equation” to that of the <nnT> estimate. T T Solve P as t→∞ Pt = APt −1A + GQG Then choose Q such that HPHT ≈ nnT Prior Error Specification Error variance estimate (Fukumori et al., 1999, JGR) R = rrT = yy T − my T HPsim HT = nnT = mmT − my T (a) Data Constraint Error (b) Model Simulation Error 80N 60N 40N 20N 0 20S 40S 60S 80S 80N 60N 40N 20N 0 20S 40S 60S 80S 0 90E 0 180 20 40 60 90W 80 100 0 0 2 (cm ) 90E -5 0 180 5 Q 10 15 90W 20 25 30 0 1st order match 2 (cm ) HPsim HT (c) Calibrated Model Process Noise 80N 60N 40N 20N 0 20S 40S 60S 80S 80N 60N 40N 20N 0 20S 40S 60S 80S 0 90E 0 180 1 2 90W 3 4 0 0 2 (dyn/cm2 ) 90E -5 0 180 5 10 15 90W 20 25 30 0 2 (cm ) I.Fukumori/JPL What are we really solving? How can we solve it? OUTLINE 1. What is assimilation really solving? a) Filtering vs Smoothing b) Observability & Controllability c) Data Error and Model Error 2. Examples and Practical Issues; e.g., ECCO a) A hierarchical approach b) Practical derivation and implementation c) Assessment “Estimating the Circulation and Climate of the Ocean” http://www.ecco-group.org GOAL: Advance data assimilation into an operational tool to help understand ocean circulation. • 3 groups: JPL, Scripps Institution of Oceanography, Massachusetts Institute of Technology. • Employ as much observations as possible. • State-of-the-art ocean general circulation model. • Advanced assimilation (Kalman filter/smoother, adjoint, Green’s function) characterized by its consistency. I.Fukumori/JPL ECCO Near Real-Time Analysis • Nowcasts every 10-days. • Highlights @ http://ecco.jpl.nasa.gov/external • SSH, Temperature profiles & timemean sea level. • Controls: winds, heat & fresh water fluxes and mixing parameters. • Green’s function, Kalman filter & RTS Smoother, Adjoint method) • LAS server from 1993 to present: http://www.eccogroup.org/las I.Fukumori/JPL ECCO Routine Assimilation MIT General Circulation Model (MITgcm) (Marshall et al., 1997, JGR) • Nonlinear primitive equation model • Adaptable to massively parallel supercomputers • Advanced physics (e.g., KPP & GM mixing) • Global, high resolution 9 80°S~ 80°N 9 0.3°×10m in tropics warm Temperature Profile 0 120W 0N depth (m) 100 200 180E 0N 300 400 cold 500 0 10 20 30 temperature (deg C) I.Fukumori/JPL Approximate Kalman filter & Smoother Kalman filter estimate : xˆ tf = Axˆ ta−1 + Gut −1 xˆ ta = xˆ tf + Pt f HT ( HPt f HT + R t ) −1 (y t − Hxˆ tf ) Pt f = APˆ ta−1 AT + GQG T ˆP a = P f − P f HT ( HP f HT + R )−1 HP f t t t t t t The explicit evaluation of P (“Riccati Equation”) is impractical because of their large dimension and time-evolution. ECCO employs three approximations of P; 1. Time-asymptotic 2. Reduced-state 3. Partitioned ECCO Approximate KFS 1) Time-asymptotic approximation (Fukumori et al., JPO, 1993); Pt f error Pt ≈ P f f Pf time P ≡ δ xδ x T ≈ B δ x ′δ x ′T BT ≈ BP′BT 3) Partitioning (Fukumori, MWR, 2002). space L dim (δ x ) L P ≈ ∑ Bi Pi′ BTi , i dim (δ x i′ ) T ′ ′ ′ Pi ≡ δ x iδ x i error δ x ≈ B1δ x1′ + L + B Lδ x ′L ≈ ∑ Biδ x i′ i error 2) State reduction (Fukumori and Rizzoli, JGR, 1995). δ x ≈ Bδ x ′, dim(δ x ) dim(δ x ′) space I.Fukumori/JPL What are we really solving? How can we solve it? OUTLINE 1. What is assimilation really solving? a) Filtering vs Smoothing b) Observability & Controllability c) Data Error and Model Error 2. Examples and Practical Issues; e.g., ECCO a) A hierarchical approach b) Practical derivation and implementation c) Assessment ECCO Approximate KFS 1. Errors due to wind error (process noise) are estimated. 2. Partition global domain into 8 different regions (basins) • Global barotropic cell • 7 Regional baroclinic cells I. II. III. IV. V. VI. VII. Tropical Indian (>40 ºS) Tropical Pacific (40 ºS ~ 40 ºN) Tropical Atlantic (40 ºS ~ 40 ºN) South Pacific (<20 ºS) South Atlantic-Indian (<20 ºS) North Pacific (>20 ºN) North Atlantic (>20 ºN) 50 0 -50 0 100 200 300 I.Fukumori/JPL ECCO Approximate KFS 3. State and control reduction: Horizontal velocity and vertical displacement in terms of vertical dynamic modes on a coarse horizontal grid. The reduced control is wind error on the same coarse grid. Vertical projection Horizontal interpolation (objective mapping) (dynamic modes) Reduced state (amplitude of dynamic mode on coarse grid) δ u = Dvel Oau , δ v = Dvel Oav , δ η = Ddisp Oadisp , δ τ = Oaτ ∂T ∂S δ T = δ η, δ S = δ η, δ h = F (δ η, T, S ) ∂z ∂z 3a. Vertical projection: D vel , D disp d ⎛ 1 dp ⎞ 1 ⎜ 2 ⎟+ 2 p=0 dz ⎝ N dz ⎠ c 2 d 2η ⎛ N ⎞ +⎜ ⎟ η =0 2 dz ⎝c⎠ I.Fukumori/JPL ECCO Approximate KFS 3b. Horizontal Interpolation: O “Objective Mapping” (Bretherton et al., 1976, DSR) Given measurements ϕ , the underlying field θ is estimated by A = ϕϕ T θ = CA −1ϕ where C = θϕ T This is just another least-squares aˆ = a 0 + R aa E T ( ER E + R bb ) T aa −1 ( b − Ea 0 ) Horizontal interpolation, O, is defined as objective mapping from a coarse grid system to the model grid system. Example of mapping of a perturbation at one coarse grid point; I.Fukumori/JPL ECCO Approximate KFS • Global barotropic cell: global 6º× 6º grid, barotropic UVH (966 ×3=2898 variables) • Regional baroclinic cells: regional 5º× 3º grid, baroclinic UVD (5 gravest modes) I. II. III. IV. V. VI. VII. Tropical Indian (>40 ºS ; 308 ×3 ×5=4620) Tropical Pacific (40 ºS ~ 40 ºN; 787 ×3 ×5=11805) Tropical Atlantic (40 ºS ~ 40 ºN; 350 ×3 ×5=5250) South Pacific (<20 ºS ; 633 ×3 ×5=9495) South Atlantic-Indian (<20 ºS ; 664 ×3 ×5=9960) North Pacific (>20 ºN; 271 ×3 ×5=4065) North Atlantic (>20 ºN; 198 ×3 ×5=2970) 50 In comparison, the model’s state dimension is 8 million (2 million grid points). 0 -50 0 100 200 300 I.Fukumori/JPL ECCO Approximate KFS 4. Compute P by formulating and explicitly deriving partitioned reduced-state models. 4a. Formulate partitioned reduced-state models. The reduced-state must form a closed system. A state and control perturbation δx, δu can be written as δ x = Bx ′ + Nn : B, N : range & null space of reduced-state ˆ ′ + Nm ˆ δ u = Bu : The control equivalent of state reduction. Given the model x t +1 = ℑ ( x t , ut ) the perturbation satisfies δ x t +1 = ℑ ( x% + δ x t , u% + δ ut ) − ℑ ( x% , u% ) ˆ ′t + Nm ˆ t − ℑ ( x% , u% ) or Bx ′t +1 + Nnt +1 = ℑ x% + Bx ′t + Nnt , u% + Bu ( ) ECCO Approximate KFS ( ) ˆ ′t + Nm ˆ t − ℑ ( x% , u% ) Bx ′t +1 + Nnt +1 = ℑ x% + Bx ′t + Nnt , u% + Bu Multiplying by the pseudo inverse of B, B* ( B*B = I , B* N = 0 ) ˆ ′t + Nm ˆ t − ℑ ( x% , u% ) x ′t + = B* ℑ x% + Bx ′t + Nnt , u% + Bu 1 ( ( ) ) For this to be a model for the reduced-state we cannot have ˆ t ; dependency on the null space, Nnt , Nm ( ( ) ˆ ′t − ℑ ( x% , u% ) x ′t +1 = B* ℑ x% + Bx ′t , u% + Bu ) This would be achieved if null (range) space perturbations remain in the null (range) space, because B* N = 0 ; i.e., state reduction must form a closed-system for it to be effective. ECCO Approximate KFS 4b. Derive partitioned reduced-state model in explicit matrix form to facilitate error evaluation. ( ( ) ˆ ′t − ℑ ( x% , u% ) x ′t +1 = B* ℑ x% + Bx ′t , u% + Bu ) x ′t +1 = A ′x ′t + G′u′t A ′ and G′ can be derived as coarse grain Green’s functions; ( A ′)i = A ′ei + G′0 = B* ( ℑ ( x% + Bei , u% ) − ℑ ( x% , u% ) ) ˆ i ) − ℑ ( x% , u% ) ) ( G′)i = A ′0 + G′ei = B* ( ℑ ( x% , u% + Be Similarly, H′ can be derived by, ( H′)i = H′ei = H ( x% + Bei ) − H ( x% ) where H is a function defining model equivalent of data. ECCO Approximate KFS ( A ′) = A ′e + G′0 = B ( ℑ ( x% + Be , u% ) − ℑ ( x% , u% ) ) * i i i Implementing B* requires some considerations; 1. O is sparse but O* is not. Thus, we do O = ( O O ) OT * (O O) T −1 T −1 is small and is, therefore, explicitly computed and stored. OT is implemented as the transpose (adjoint) of O . 2. η is evaluated by time-integrating vertical velocity instead of inverting ∂T ∂S δ T = δ η, δ S = δ η ∂z ∂z which is singular where stratification is weak. ECCO Approximate KFS 4c. Derive representative time-asymptotic limit of P. • Stationary solution to the Riccati Equation requires a stationary system, i.e., time-invariant A’, G’, H’, Q, R. • Approximate with a 3-day assimilation cycle; x ′t +1 = A ′x ′t + G′u′t If ℑ ( x% , u% ) is a 1-day integration. Then A ′ = C′3 where ( C′)i = B* ( ℑ ( x% + Bei , u% ) − ℑ ( x% , u% ) ) • Approximate all observing operation H’ and R with representative observations; e.g., Assume a full 10-day cycle of altimeter observations is available every 3-days but with 3.3 times the error variance. ECCO Approximate KFS e.g., TOPEX/POSEIDON and Jason have a 3-day subcycle. ECCO Approximate KFS 5. Implementation a) Actual assimilation is conducted every 6-hours using all observations taken within ±3-hours of the assimilation instant. b) Filtering is performed using an alternate formulation of the Kalman gain; K-filter increment ∆xˆ = Pt H a t filter gain Pt H f f T T ( HP t f H + Rt ) T −1 (y t − H ( xˆ tf ( HPt H + R t ) = Pta HT R t f T −1 )) −1 This form minimizes computations involving P and simplifies the matrix inversion that is needed. ECCO Approximate KFS K-filter increment ∆xˆ ta = Pta HTt R t −1 ( y t − H ( xˆ tf )) c) The K-filter increment is sum of partitioned increments; ∆xˆ ta = ∑ Bi ∆xˆ ′t ,ai i where ∆xˆ ′ = Pi′a H′t ,i R t a t ,i Or, T −1 ( ∆xˆ ′t ,ai = Pi′a BT H t ,i R t T y t − H ( xˆ tf −1 ( )) y t − H ( xˆ tf )) using the adjoint of H in place of HT. These calculations are performed from right to left; There is no explicit computation of product Pi′a H′t ,i T R t −1 because it is computationally inefficient. ECCO Approximate KFS d) Anomalies are assimilated for sea level and temperature profiles because of i. Unknown marine geoid, ii. Temporally uncorrelated process noise assumption. ( ( a T −1 ∆xˆ ′t a = Pi′ H′t ,i R t ( y t − y ) − H ( xˆ tf ) − m )) where y and m are time-means of data and model (simulation) equivalent of data mean, respectively. This choice of reference amounts to assimilating temporal anomalies of the data without altering the model time-mean. e) Integrate original model after state and diagnostic variables are updated; partitioned reduced-state model is never used to integrate state. ECCO Approximate KFS f) Smoothing is performed i. Derive smoothed wind correction by, ∆uˆ = Qi G ( GQi G + AP A s i T = QG P T In partitioned reduced-state; a i T f −1 ) ( xˆ T −1 s i +1 − Axˆ ia − Gui ) s a ˆ ˆ ∆ x + ∆ x ( i +1 i +1 ) ∆uˆ ts = ∑ Bˆ i ∆uˆ ′t ,si i where ∆uˆ ′ = Qi′G′i T Pi′ f s t ,i −1 ( ∆xˆ ′ s t +1,i + ∆xˆ ′t +a1,i ) ii. Re-run model simulation with smoother corrected wind because, xˆ ta+1 + ∆xˆ ts+1 ≠ ℑ ( xˆ ta + ∆xˆ ts , ut + ∆uˆ ts ) due to approximations, but xˆˆ s = ℑ xˆˆ s , u + ∆uˆ s t +1 ( t t t ) Skill & Test of Assimilation Assimilation should make models closer to data, both assimilated and independent. Data not explained by model Data variance explained by models; yy T − ( y − Hx )( y − Hx ) T Filters (forecasts) and Smoothers Simulations I.Fukumori/JPL Skill & Test of Assimilation Model-data residuals should be comparable to expectation simulation - forecast residual 1st order match HPsim HT − HP f HT forecast - analysis residual HP f HT − HP a HT I.Fukumori/JPL Skill & Test of Assimilation Comparison to independent data: ECCO assimilation explains observed polar motion better than ocean simulation does. Coherence of observed & modeled excitation (Gross et al., 2003, JGR) Summary 1. Data assimilation is an inverse problem of observations & model with state & model controls as unknowns; 2. Data constraint error includes model representation error, M ⎛ ⎞ ⎛ M ⎞ ⎜ ⎟ ⎜ y ⎟ Hxt ⎜ ⎟ ⎜ t ⎟ ⎜ ⎟ ⎜ y t +1 ⎟ H x t +1 ⎜ ⎟ ⎜ ⎟ ≈ M M ⎜ ⎟ ⎜ ⎟ ⎜ x t +1 − A x t − G u t ⎟ ⎜ 0 ⎟ ⎜ ⎟ ⎜ ⎟ x A x G u 0 − − t +1 t +1 ⎟ ⎜ t+2 ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ M ⎝ ⎠ ⎝ M ⎠ 3. Kalman filters and RTS smoothers are recursive leastsquares inversions, 4. Kalman filters invert observations; RTS smoothers invert model, Summary 5. Smoother’s control estimates are fundamental in solving the assimilation problem, filter smoother 6. Temporal evolution of filters is not physically consistent, but that of smoothers is, 7. Various approximations & simplifications are possible that make solving the assimilation problem tractable; ECCO KFS. Future Challenge Modeling different model error sources by identifying effective corresponding reduced-state approximations B is a central issue in data assimilation. Controls need explicit modeling for estimation; xt +1 = A ( xt , uˆ 0t ) + ΠL ( w t , v t ) − A ( Πw t , uˆ 0t ) { } = Axt + Gut True evolution Model evolution given true model state What are the most effective basis functions B that would represent effects of various model error sources ? Effective = Small dimension but closed system. ) ( ( ˆ ′ ) − ℑ ( x% , u% ) ) ≈ B ( ℑ ( x% + Bx ′ , u% + Bu ˆ ′ + Nm ˆ % % x ′t +1 = B* ℑ x% + Bx ′t + Nnt , u% + Bu t t − ℑ ( x, u ) * t t )
© Copyright 2024