Changes between Version 2 and Version 3 of localize_covar_serial_pdaf
- Timestamp:
- Mar 25, 2025, 7:53:11 PM (7 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
localize_covar_serial_pdaf
v2 v3 4 4 5 5 The routine `localize_covar_serial_pdaf` (`U_localize_covar_serial` inside PDAF) is a call-back routine that has to be provided by the user. 6 6 7 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. 7 8 8 The interface is the following:9 The interface is: 9 10 {{{ 10 11 SUBROUTINE localize_covar_serial_pdaf(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_full) for full observations 12 13 INTEGER, INTENT(in) :: iobs ! Index of the assimilated single observation 14 INTEGER, INTENT(in) :: dim_p ! Process-local state dimension 15 INTEGER, INTENT(in) :: dim_obs_f ! Number of full observations 16 REAL, INTENT(inout) :: HP_p(dim_p) ! Process-local part of matrix HP for observation iobs 17 REAL, INTENT(inout) :: HXY_p(dim_obs_F) ! Process-local part of matrix HX(HX_full) for full observations 19 18 }}} 20 19 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'''.20 **Hint:** 21 * 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'''.