pyPDAF.assimilate_enkf_nondiagr

pyPDAF.assimilate_enkf_nondiagr()

Online assimilation of global or Covariance localised stochastic EnKF for a single DA step using non-diagonal observation error covariance matrix.

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

This stochastic EnKF is implemented based on [1]

This is the only scheme for covariance localisation with non-diagonal observation error covariance matrix in PDAF.

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 each ensemble member)

  5. py__localize_pdaf

  6. py__add_obs_err_pdaf

  7. py__init_obscovar_pdaf

  8. py__obs_op_pdaf (repeated to reduce storage)

  9. core DA algorith

  10. py__prepoststep_state_pdaf

  11. py__distribute_state_pdaf

  12. 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__add_obs_err_pdaf (Callable) – Add observation error covariance matrix

  • py__init_obs_covar_pdaf (Callable) – Initialize mean observation error variance

  • 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