| 1 | = `init_dim_obs_pdaf` = |
| 2 | |
| 3 | The page document the user-supplied call-back routine `init_dim_obs_pdaf`. |
| 4 | |
| 5 | The routine `init_dim_obs_pdaf` (called `U_init_dim_obs` inide the PDAF core routines) is a call-back routine that has to be provided by the user. The routine is used with all global filters. The purpose of the routine is to determine the size of the vector of observations. |
| 6 | The routine is called at the beginning of each analysis step. |
| 7 | |
| 8 | The interface is the following: |
| 9 | {{{ |
| 10 | SUBROUTINE init_dim_obs_pdaf(step, dim_obs_p) |
| 11 | }}} |
| 12 | with |
| 13 | * `step` : `integer, intent(in)`[[BR]] Current time step |
| 14 | * `dim_obs_p` : `integer, intent(out)[[BR]] Size of the observation vector |
| 15 | |
| 16 | Notes: |
| 17 | * Without parallelization `dim_obs_p` will be the number of observations for the full model domain. When a domain-decomposed model is used, `dim_obs_p` will be the size of the observation vector for the sub-domain of the calling process. |
| 18 | |
| 19 | Some hints: |
| 20 | * It can be useful to not only determine the size of the observation vector at this point. One can also already gather information about the locations of the observations, which will be used later, e.g. to implement the observation operator. An array for the locations can be defined in a module like `mod_assimilation` of the example implementation. |