pyPDAF.PDAFomi.obs_op_interp_lin

pyPDAF.PDAFomi.obs_op_interp_lin()

Observation operator that linearly interpolates model grid values to observation location.

The grid points used by linear interpolation is specified in id_obs_p of obs_f, which can be set by pyPDAF.PDAFomi.set_id_obs_p().

The function also requires icoeff_p attribute of obs_f, which can be set by pyPDAF.PDAFomi.set_icoeff_p()

The interpolation coefficient can be obtained by pyPDAF.PDAFomi.get_interp_coeff_lin1D(), pyPDAF.PDAFomi.get_interp_coeff_lin(), and pyPDAF.PDAFomi.get_interp_coeff_tri()

The details of interpolation setup can be found at relevant PDAF wiki page

The function is used in the user-supplied function py__obs_op_pdaf.

Parameters:
  • i_obs (int) – index of observations

  • nrows (int) – Number of values to be averaged

  • state_p (ndarray[tuple[dim_p, ...], np.float64]) – PE-local model state (dim_p) The array dimension dim_p is dimension of model state

  • obs_f_all (ndarray[tuple[nobs_f_all, ...], np.float64]) – Full observed state for all observation types (nobs_f_all) The array dimension nobs_f_all is dimension of the observation

Returns:

obs_f_all – Full observed state for all observation types (nobs_f_all)

The array dimension nobs_f_all is dimension of the observation

Return type:

ndarray[tuple[nobs_f_all, …], np.float64]