DMPlexGetLETKFLocalizationMatrix#

Compute localization weight matrix for LETKF [move to ml/da/interface]

Synopsis#

PetscErrorCode DMPlexGetLETKFLocalizationMatrix(const PetscInt n_obs_vertex, const PetscInt n_obs_local, const PetscInt n_dof, Vec Vecxyz[3], Mat H, Mat *Q)

Collective

Input Parameters#

  • n_obs_vertex - Number of nearest observations to use per vertex (eg, MAX_Q_NUM_LOCAL_OBSERVATIONS in LETKF)

  • n_obs_local - Number of local observations

  • n_dof - Number of degrees of freedom

  • Vecxyz - Array of vectors containing the coordinates

  • H - Observation operator matrix

Output Parameter#

  • Q - Localization weight matrix (sparse, AIJ format)

Notes#

The output matrix Q has dimensions (n_vert_global x n_obs_global) where n_vert_global is the number of vertices in the DMPlex. Each row contains exactly n_obs_vertex non-zero entries corresponding to the nearest observations, weighted by the Gaspari-Cohn fifth-order piecewise rational function.

The observation locations are computed as H * V where V is the vector of vertex coordinates. The localization weights ensure smooth tapering of observation influence with distance.

Kokkos is required for this routine.

See Also#

Level#

intermediate

Location#

src/dm/impls/plex/kokkos/plexlocalizationletkf.kokkos.cxx

Examples#

src/dm/impls/plex/tutorials/ex20.c


Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages