pyPDAF.assimilate_nonlin_nondiagr

pyPDAF.assimilate_nonlin_nondiagr()

Online assimilation of global nonlinear filters for a single DA step using non-diagonal observation error covariance matrix.

See pyPDAF.PDAF3.assimilate() for diagonal observation error covariance matrix.

Here, this function call is used for global NETF [1], and particle filter [2]. The filter type is set in pyPDAF.PDAF.init(). This function should be called at each model time step.

The function is a combination of pyPDAF.PDAF.omi_put_state_global_nondiagR() and pyPDAF.PDAF.get_state().

User-supplied functions are executed in the following sequence:
  1. py__collect_state_pdaf

  2. py__prepoststep_state_pdaf

  3. py__init_dim_obs_pdaf

  4. py__obs_op_pdaf (for ensemble mean)

  5. py__obs_op_pdaf (for each ensemble member)

  6. py__likelihood_pdaf

  7. core DA algorithm

  8. py__prepoststep_state_pdaf

  9. py__distribute_state_pdaf

  10. py__next_observation_pdaf

References

Parameters:
  • py__collect_state_pdaf (Callable) – Routine to collect a state vector

  • py__distribute_state_pdaf (Callable) – Routine to distribute a state vector

  • py__init_dim_obs_pdaf (Callable) – Initialize dimension of full observation vector

  • py__obs_op_pdaf (Callable) – Full observation operator

  • py__likelihood_pdaf (Callable) – Compute likelihood

  • py__prepoststep_pdaf (Callable) – User supplied pre/poststep routine

  • py__next_observation_pdaf (Callable) – Provide information on next forecast

Returns:

outflag – Status flag

Return type:

int