pyPDAF.assim_offline_nonlin_nondiagr

pyPDAF.assim_offline_nonlin_nondiagr()

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

See pyPDAF.PDAF3.assim_offline() 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__prepoststep_state_pdaf

  2. py__init_dim_obs_pdaf

  3. py__obs_op_pdaf (for ensemble mean)

  4. py__obs_op_pdaf (for each ensemble member)

  5. py__likelihood_pdaf

  6. core DA algorithm

  7. py__prepoststep_state_pdaf

References

Parameters:
  • 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

Returns:

outflag – Status flag

Return type:

int