= U_localize_covar_serial = The page documents the user-supplied call-back routine `U_localize_covar_serial`, which was introduced with PDAF V3.0. 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 code is `localize_covar_pdaf`, but the user can choose the name of the routine. 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 index `iobs` related to the observation operator '''Hi'''). Here '''Hi PH^T^''' is the vector relating to the observed covariance matrix for the full observation vector. This vector is required for parallelization. The interface is: {{{ SUBROUTINE U_localize_covar_serial(iobs, dim_p, dim_obs, HP_p, HXY_p) INTEGER, INTENT(in) :: iobs ! Index of the assimilated single observation INTEGER, INTENT(in) :: dim_p ! Process-local state dimension INTEGER, INTENT(in) :: dim_obs_f ! Number of full observations REAL, INTENT(inout) :: HP_p(dim_p) ! Process-local part of matrix HP for observation iobs REAL, INTENT(inout) :: HXY_p(dim_obs_F) ! Process-local part of matrix HX(HX_full) for full observations }}} **Hint:** * To compute the localization one can use the routine `PDAF_local_weight` after computing the distance between two elements in each of the vectors '''Hi P''' and '''Hi PH^T'''.