pyPDAF.PDAFomi.gather_obs

pyPDAF.PDAFomi.gather_obs()

Gather the dimension of a given type of observation across multiple local domains/filter processors.

This function can be used in the user-supplied function of py__init_dim_obs_f_pdaf().

This function does three things:
  1. Receiving observation dimension on each local process.

  2. Gather the total dimension of given observation type across local process and the displacement of PE-local observations relative to the total observation vector

  3. Set the observation vector, observation coordinates, the inverse of the observation variance, and localisation radius for this observation type.

Parameters:
  • i_obs (int) – index of observation type

  • dim_obs_p (int) – PE-local dimension of observation vector

  • obs_p (ndarray[tuple[dim_obs_p, ...], np.float64]) – PE-local observation vector The array dimension dim_obs_p is dimension of PE-local observation vector

  • ivar_obs_p (ndarray[tuple[dim_obs_p, ...], np.float64]) – PE-local inverse of observation error variance The array dimension dim_obs_p is dimension of PE-local observation vector

  • ocoord_p (ndarray[tuple[thisobs(i_obs)%ncoord, dim_obs_p, ...], np.float64]) – pe-local observation coordinates The 1st-th dimension dim_obs_p is dimension of PE-local observation vector

  • ncoord (int) – Number of rows of coordinate array

  • lradius (float) – localization radius

Returns:

dim_obs – Full number of observations

Return type:

int