pyPDAF.PDAFomi.obs_op_interp_lin¶
- pyPDAF.PDAFomi.obs_op_interp_lin(i_obs: int, nrows: int, state_p: np.ndarray, obs_f_all: np.ndarray) np.ndarray¶
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(), andpyPDAF.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]