I.   Introduction.

    What is data assimilation ?

    Data assimilation is the process which is used to constraint a model and its previsions to get closer to the observations. If the model was perfect, and the modelised system perfectly known at the beginning of the time interval, the results of the model and of the observations would be the same.
    The main idea of the data assimilation method is to minimize a function to find the most appropriate value (3D-VAR) :

x_b is the value given by the model and y is an observation at the same time.
The importance of one of these two values can be showed by balancing the terms of the former equation, it gives :

by introducing matrix of errors for the observations (R) and for the model (P), the following equation is obtained :

The result of the minimisation gives :

It is possible to take into account the dynamic of the modelised phenomenon with the extension of the temporal dimension of the 3D-VAR, the considered equation to mminimize is then (4D-VAR) :


 
 
 
 

    The PALM Software :

    The PALM project aims at launching and synchronizing the different components of the data assimilation system MERCATOR. MERCATOR plans to use a system of simulation and prevision of the global ocean with a high resolution assimilating datas from satellites and in situ datas. The philosophy of PALM is to decompose every assimilation method into fondamental steps and treat them differently depending if they deal with physics or algebra. Each step linked with the physical problem (model, observations, variance and covariance matrix....) is seen as a box (called unit) which is linked to the structure with PALM but can be removed and replaced by any other box with the same function. That is why it is possible to change easily the way datas are assimilated.
PALM deals with the algebric part of the assimilation problem preparing the chaining of the appropriate units.

This image comes from PREPALM which is the graphic interface of PALM. It deals with the definition of the communications between the subroutines of a program. Each arrow represents a communication or more (the number of communication is written on each arrow). It is possible to stock informations in the buffer and even to make operations (addition, substraction or substitution) on values.
 
 

Go to next page