pyPDAF.assim_offline_lknetf_nondiagr

pyPDAF.assim_offline_lknetf_nondiagr()

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

PDAFlocal-OMI modules require fewer user-supplied functions and improved efficiency.

LKNETF [1] for a single DA step using non-diagnoal observation error covariance matrix. See pyPDAF.PDAF3.assimilate() for using diagnoal observation error covariance matrix. The filter type is set in pyPDAF.PDAF.init(). This function should be called at each model time step.

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

  2. py__init_n_domains_p_pdaf

  3. py__init_dim_obs_pdaf

  4. py__obs_op_pdaf (for each ensemble member)

  5. loop over each local domain:
    1. py__init_dim_l_pdaf

    2. py__init_dim_obs_l_pdaf

    3. py__prodRinvA_pdaf

    4. py__likelihood_l_pdaf

    5. core DA algorithm

    6. py__obs_op_pdaf (only called with HKN and HNK options called for each ensemble member)

    7. py__likelihood_hyb_l_pdaf

    8. py__prodRinvA_hyb_l_pdaf

  6. 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__prepoststep_pdaf (Callable) – User supplied pre/poststep routine

  • py__init_n_domains_p_pdaf (Callable) – Provide number of local analysis domains

  • py__init_dim_l_pdaf (Callable) – Init state dimension for local ana. domain

  • py__init_dim_obs_l_pdaf (Callable) – Initialize local dimimension of obs. vector

  • py__prodrinva_l_pdaf (Callable) – Provide product of inverse of R with matrix A

  • py__prodrinva_hyb_l_pdaf (Callable) – Product R^-1 A on local analysis domain with hybrid weight

  • py__likelihood_l_pdaf (Callable) – Compute likelihood and apply localization

  • py__likelihood_hyb_l_pdaf (Callable) – Compute likelihood and apply localization with tempering

Returns:

outflag – Status flag

Return type:

int