| 1 | = U_localize_covar_serial = |
| 2 | |
| 3 | The page document the user-supplied call-back routine `U_localize_covar_serial`, which was introduced with PDAF V3.0. |
| 4 | |
| 5 | The routine `U_localize_covar_serial` is a call-back routine that has to be provided by the user. The typical name in the user codee is `localize_covar_pdaf`, but the user can choose the name of the routine. |
| 6 | The routine is used in the ENSRF/EAKF and is called during the analysis step. The purpose of the routine is to apply covariance localization to the vectors '''Hi P''' and '''Hi PH^T''' for the assimilation of a single observation (determined by the observation operator '''Hi'''). Here '''Hi PH^T''' is for the vector relating to the observed covariance matrix for the full observation vector, which is reuired for parallelization |
| 7 | |
| 8 | The interface is the following: |
| 9 | {{{ |
| 10 | SUBROUTINE U_localize_covar_serial(iobs, dim_p, dim_obs, HP_p, HXY_p) |
| 11 | }}} |
| 12 | with arguments: |
| 13 | {{{ |
| 14 | INTEGER, INTENT(in) :: iobs !< Index of the assimilated single observation |
| 15 | INTEGER, INTENT(in) :: dim_p !< Process-local state dimension |
| 16 | INTEGER, INTENT(in) :: dim_obs_f !< Number of full observations |
| 17 | REAL, INTENT(inout) :: HP_p(dim_p) !< Process-local part of matrix HP for observation iobs |
| 18 | REAL, INTENT(inout) :: HXY_p(dim_obs_F) !< Process-local part of matrix HX(HX_all) for full observations |
| 19 | }}} |
| 20 | |
| 21 | Hints: |
| 22 | * To compute the localization one can use the routine `PDAF_local_weight` after computing the distance between two elements in the vector '''Hi P''' or '''Hi PH^T'''. |