wiki:U_localize_covar_serial

Version 4 (modified by lnerger, 9 days ago) ( diff )

--

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 PHT for the assimilation of a single observation (determined by the index iobs related to the observation operator Hi). Here Hi PHT is the vector relating to the observed covariance matrix for the full observation vector. This vector is required for parallelization.

The interface is the following:

  SUBROUTINE U_localize_covar_serial(iobs, dim_p, dim_obs, HP_p, HXY_p)

with arguments:

  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}}}

Hints:
 * 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'''.
Note: See TracWiki for help on using the wiki.