pyPDAF.PDAF.omi_gather_obs

pyPDAF.PDAF.omi_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

  • 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

    The1st-th dimension dim_obs_p is dimension of PE-local observation vector;

  • cradius (float) – localization radius

Returns:

dim_obs – Full number of observations

Return type:

int