30 | | Generally, all three components are independent. In particular, the assimilation methods are implemented in the core part of PDAF. To combine the model and observational information one has to define the relation of the observations to the model fields (For example, model fields might be directly observed or the observed quantities are more complex functions of the model fields. In addition, the observations might be at different locations than the model grid points so that interpolation is required.) In addition one has to fill the state vector that is using in the DA methods with the model fields and write the analysis state vector back to the model fields. These relations and operations are implemented in separate routines that are supplied to the assimilation system by the user. These routines are called through a well-defined standard interface. To ease the implementation complexity, these user-defined routines can be implemented like routines of the model code. Thus, if a user has experience with the model, it should be rather easy to extend it by the routines required for the assimilation system. |
| 30 | PDAF combines these three components, which are otherwise independent. |
| 31 | * The **model** is provided by the user. It computes the time evolution of the model fields. For the data assimilation, it provides information on the model state fields, the time, and the model grid to the other components. |
| 32 | * The **assimilation methods** (DA methods) are implemented in the core part of PDAF. They obtain information from the model and the observations and operate on abstract state vectors. For this, one has to fill and ensemble of state vectors with the values of the model fields. After the assimilation update, the analysis state vector is written back to the model fields. This functionality is implemented in separate routines that are supplied to the assimilation system by the user. The DA methods also interacts with the observations, providing the state vectors to the observation operator and obtaining observed model state vectors. |
| 33 | * Information on **observations** (observation values, their coordinates and error estimates) have to be read from files. Further, one has to define the observation operator, which computes the model equivalent to the observations. PDAF-OMI provides a structured way for the handling of observations and to provide PDAF with the required information. |
| 34 | |
| 35 | Both, the subroutines of PDAF and the user-provided subroutines are called through a well-defined standard interface. To ease the implementation complexity, the user-defined routines can be implemented like routines of the model code. Thus, if a user has experience with the model, it should be rather easy to extend it by the routines required for the assimilation system. |
35 | | 1. '''Online mode:''' [[BR]] In this case, the model code is extended by calls to PDAF core routines. A single program is compiled. While running this single program, the necessary ensemble integrations and the actual assimilation are performed and the information transfer between the model and the data assimilation functions are performed in memory. |
36 | | 1. '''Offline mode:''' [[BR]] The model is executed separately from the assimilation program. Output files from the model are used as inputs for the assimilation program, which writes restart files for the model after computing the analysis step. |
| 40 | 1. '''Online mode:''' [[BR]] In the online mode, calls to subroutines for the data assimilation are inserted into the model code. Thesse routines call the PDAF core routines. A single data-assimilative model program is compiled. While running this single program, the necessary ensemble integrations and the actual assimilation are performed. The information transfer between the model and the data assimilation functions are performed in memory. |
| 41 | 1. '''Offline mode:''' [[BR]] In the offline mode, the model is executed separately from the assimilation program. The model write restart files, which are used as inputs for the assimilation program. After computing the analysis step with the DA method, the assimilation program writes new restart files for the model, which is then started to compute the next forecast phase. In Figure 1, the model on the bottom left side is replaced by the reading and writing of files. |
41 | | * The initialization phase of the model program is executed only once |
42 | | * The output files are limited to the necessary outputs for the estimated forecast and analysis states and/or ensembles. In contrast for the offline mode restart files have to be written and read for each forecast/assimilation cycle. |
43 | | * The assimilation system for the online mode can make efficient use of a large number of processors by executing a single program containing the full assimilation system. In contrast, in the offline mode, separate programs for the forecasts and the assimilation have to be run, each of these use typically less processors. |
| 46 | * The initialization phase of the model program is executed only once. |
| 47 | * The output files are limited to the necessary outputs for the estimated forecast and analysis states and/or ensembles. In contrast, for the offline mode restart files have to be written and read for each forecast/assimilation cycle and also the model is stopped and restarted |
| 48 | * The assimilation system for the online mode can make efficient use of a large number of processors by executing a single program containing the full assimilation system. In contrast, in the offline mode, separate programs for the forecasts and the assimilation have to be run, each of these use typically a smaller number of processors. |