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()
andpyPDAF.PDAF.get_state()
.- User-supplied functions are executed in the following sequence:
py__collect_state_pdaf
py__prepoststep_state_pdaf
py__init_dim_obs_pdaf
py__obs_op_pdaf (for ensemble mean)
py__obs_op_pdaf (for each ensemble member)
py__likelihood_pdaf
core DA algorithm
py__prepoststep_state_pdaf
py__distribute_state_pdaf
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