Observation operator for linear interpolation
Application of observation operator for the case that the observation value is given as the interpolation using pre-computed coefficients.
For this case INIT_DIM_OBS_F will prepare the index array thisobs%id_obs_p containing the information which elements of the PE-local state vector contain the observed values. Further the array thisobs%icoeff_p is prepared which contains the interpolation coefficients. This can be prepared using a help routine like get_interp_coeff_tri.
The routine is called by all filter processes. It first selects the observed elements for a PE-local domain. Afterwards, the values are gathered into the full vector using PDAFomi_gather_obsstate.
The routine has to fill the part of the full observation vector OBS_F_ALL that represents the current observation type. The routine first applied the observation operator for the current observation type and the calls PDAFomi_gather_obsstate to gather the observation over all processes and fills OBS_F_ALL.
The routine has to be called by all filter processes.
Revision history: * 2019-12 - Lars Nerger - Initial code * Later revisions - see repository log
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(obs_f), | intent(inout) | :: | thisobs | |||
integer, | intent(in) | :: | nrows | |||
real, | intent(in) | :: | state_p(:) | |||
real, | intent(inout) | :: | obs_f_all(:) |