21 | | After the adaption of the parallelization, the initialization of PDAF has to be implemented. It is performed by the routine `PDAF_init`. This subroutine has several arguments. To ensure a clean code, one can collect the initializations of all variables required for the call to `PDAF_init` a single subroutine. With this only a single additional subroutine call has to be inserted to the model source code for the initialization. In the example in `tutorial/online_2D_serialmodel` the routine in the file `init_pdaf.F90` collects all initializations for PDAF. The routine has no arguments. Likewise, the templates (in sub-directories of `templates/`) provide a commented template for this routine, which can be used as the basis of the implementation. |
| 21 | The PDAF release provides example code for the online mode in `tutorial/online_2D_parallelmodel` and `tutorial/online_2D_serialmodel`. We refer to these codes to use it as a basis. |
| 22 | |
| 23 | The routine `PDAF_init` is called to initialize PDAF. This call sets parameters for the data assimilation, chooses the data assimilation method and initializes the ensemble. In the tutorial and template codes we collect the initialization of all variables required for the call to `PDAF_init` into the single subroutine `init_pdaf`. With this only a single additional subroutine call has to be inserted to the model source code for the initialization. The file `templates/online/init_pdaf.F90` provides a commented template for this routine, which can be used as the basis of the implementation. |