Version 3 (modified by 9 days ago) ( diff ) | ,
---|
U_localize_covar_serial
The page document 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 for the vector relating to the observed covariance matrix for the full observation vector, which 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_all) 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 PHT.