| 8 | |
| 9 | == Simplifying the implementation == |
| 10 | |
| 11 | PDAF simplifies the implementation of data assimilation systems using existing model code by the following: |
| 12 | |
| 13 | 1. PDAF provides fully implemented, parallelized, and optimized ensemble-based algorithms for data assimilation. Currently, these are ensemble-based Kalman filters like the LSEIK, LETKF, and EnKF methods. |
| 14 | 1. PDAF is attached to the model source code by minimal changes to the code, which we call 'online mode'. These changes only concern the general part of the code, but not the numerics of the model. In addition, a small set of routines is required that are specific to the model or the observations to be assimilated. These routines can be implemented like routines of the model. |
| 15 | 1. PDAF is called through a well-defined standard interface. This allows, for example, to switch between the LETKF, LESTKF, and LSEIK methods without additional coding. |
| 16 | 1. PDAF provides parallelization support for the data assimilation system. If your numerical model is already parallelized, PDAF enables the data assimilation system to run several model tasks in parallel within a single executable. However, PDAF can also be used without parallelization, for example to test small systems. |
| 17 | 1. PDAF does not require that your model can be called as a subroutine. Rather PDAF is added to the model and the formed data assimilation system can be executed pretty much like the model-program would without data assimilation. |
| 18 | 1. PDAF also offers an offline mode. This is for the case that you don't want to (or even cannot) modify your model source code at all. In the offline mode, PDAF is compiled separately from the model together with the supporting routines to handle the observations. Then the model and the assimilation step are executed separately. While this strategy is possible, we don't recommend it, because it's computationally less efficient. |
| 19 | 1. Starting with PDAF 1.13, the PDAF release also provides bindings to coupled PDAF with selected real models. For a start we provide the modelbinding for the MITgcm ocean circulation model. |
| 20 | |
34 | | |
35 | | == Simplifying the implementation == |
36 | | |
37 | | PDAF simplifies the implementation of data assimilation systems using existing model code by the following: |
38 | | |
39 | | 1. PDAF provides fully implemented, parallelized, and optimized ensemble-based algorithms for data assimilation. Currently, these are ensemble-based Kalman filters like the LSEIK, LETKF, and EnKF methods. |
40 | | 1. PDAF is attached to the model source code by minimal changes to the code. These changes only concern the general part of the code, but not the numerics of the model. In addition, a small set of routines is required that are specific to the model or the observations to be assimilated. These routines can be implemented like routines of the model. |
41 | | 1. PDAF is called through a well-defined standard interface. This allows, for example, to switch between the LSEIK, LETKF, and LESTKF methods without additional coding. |
42 | | 1. PDAF provides parallelization support for the data assimilation system. If your numerical model is already parallelized, PDAF enables the data assimilation system to run several model tasks in parallel within a single executable. However, PDAF can also be used without parallelization, for example to test small systems. |
43 | | 1. PDAF does not require that your model can be called as a subroutine. Rather PDAF is added to the model and the formed data assimilation system can be executed pretty much like the model-program would without data assimilation. |
44 | | 1. PDAF also offers an offline mode. This is for the case that you don't want to (or even cannot) modify your model source code at all. In the offline mode, PDAF is compiled separately from the model together with the supporting routines to handle the observations. Then the model and the assimilation step are executed separately. While this strategy is possible, we don't recommend it, because it's computationally less efficient. |
45 | | 1. Starting with PDAF 1.13, the PDAF release also provides bindings to coupled PDAF with selected real models. For a start we provide the modelbinding for the MITgcm ocean circulation model. |