| | 1 | = localize_covar_pdaf = |
| | 2 | |
| | 3 | The page document the user-supplied call-back routine `localize_covar_pdaf`. |
| | 4 | |
| | 5 | The routine `localize_covar_pdaf` (called `U_localize` inside the PDAF core routines) is a call-back routine that has to be provided by the user. |
| | 6 | The routine is used with the localized EnKF and called during the analysis step. The purpose of the routine is to apply covariance localization to the matrices '''HP''' and '''HPH^T^''', which are provided as input/output arguments. |
| | 7 | |
| | 8 | The interface is the following: |
| | 9 | {{{ |
| | 10 | SUBROUTINE localize_covar_pdaf(dim_p, dim_obs, HP, HPH) |
| | 11 | }}} |
| | 12 | with |
| | 13 | * `dim` : `integer, intent(in)`[[BR]] State dimension |
| | 14 | * `dim_obs` : `integer, intent(in)`[[BR]] Number of observations at current time step (i.e. the size of the observation vector) |
| | 15 | * `HP` : `real, intent(in), dimension(dim_obs, dim_p)`[[BR]] Matrix HP |
| | 16 | * `HPH` : `real, intent(in), dimension(dim_obs, dim_obs)`[[BR]] Matrix HPH^T |
| | 17 | |
| | 18 | |
| | 19 | Notes: |
| | 20 | * In case of a parallelization with domain decomposition, `HP` contains only the columns of the matrix that resides on the model sub-domain of the calling process. The number of rows is that of the global number of observations |
| | 21 | |
| | 22 | Hints: |
| | 23 | * To compute the localization one can use the routine `PDAF_local_weight` after computing the distance between two elements in the matrix '''HP''' or '''HPH^T^'''. |