pyPDAF.assim_offline_hyb3dvar_lestkf_nondiagr¶
- pyPDAF.assim_offline_hyb3dvar_lestkf_nondiagr()¶
Offline hybrid 3DEnVar for a single DA step using non-diagonal observation error covariance matrix.
Here, the background error covariance is hybridised by a static background error covariance, and a flow-dependent background error covariance estimated from ensemble. The 3DVar generates an ensemble mean and the ensemble perturbation is generated by LESTKF in this implementation. This function should be called at each model time step.
- User-supplied functions are executed in the following sequence:
py__prepoststep_state_pdaf
py__init_dim_obs_pdaf
py__obs_op_pdaf
- The iterative optimisation:
py__cvt_pdaf
py__cvt_ens_pdaf
py__obs_op_lin_pdaf
py__prodRinvA_pdaf
py__obs_op_adj_pdaf
py__cvt_adj_pdaf
py__cvt_adj_ens_pdaf
core DA algorithm
py__cvt_pdaf
py__cvt_ens_pdaf
- Perform LESTKF:
py__init_n_domains_p_pdaf
py__init_dim_obs_pdaf
py__obs_op_pdaf (for each ensemble member)
- loop over each local domain:
py__init_dim_l_pdaf
py__init_dim_obs_l_pdaf
py__prodRinvA_l_pdaf
core DA algorithm
py__prepoststep_state_pdaf
- 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__prodrinva_pdaf (Callable) – Provide product R^-1 A
py__cvt_ens_pdaf (Callable) – Apply control vector transform matrix to control vector
py__cvt_adj_ens_pdaf (Callable) – Apply adjoint control vector transform matrix
py__cvt_pdaf (Callable) – Apply control vector transform matrix to control vector
py__cvt_adj_pdaf (Callable) – Apply adjoint control vector transform matrix
py__obs_op_lin_pdaf (Callable) – Linearized observation operator
py__obs_op_adj_pdaf (Callable) – Adjoint observation operator
py__prodrinva_l_pdaf (Callable) – Provide product R^-1 A and apply localizations
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__prepoststep_pdaf (Callable) – User supplied pre/poststep routine
py__next_observation_pdaf (Callable) – Provide information on next forecast
outflag (int) – Status flag
- Returns:
outflag – Status flag
- Return type:
int