pyPDAF.assim_offline_3dvar_all¶
- pyPDAF.assim_offline_3dvar_all()¶
Offline assimilation for all types of 3DVar DA for a single DA step using diagonal observation error covariance matrix.
See
pyPDAF.PDAF3.put_state_3dvar_nondiagR()
,pyPDAF.PDAF3.put_state_en3dvar_lestkf_nondiagR()
,pyPDAF.PDAF3.put_state_en3dvar_estkf_nondiagR()
,pyPDAF.PDAF3.put_state_hyb3dvar_lestkf_nondiagR()
,pyPDAF.PDAF3.put_state_hyb3dvar_estkf_nondiagR()
for non-diagonal observation error covariance matrix.When 3DVar is used, the background error covariance matrix has to be modelled for cotrol variable transformation. This is a deterministic filtering scheme so no ensemble and parallelisation is needed. This function should be called at each model time step.
- For parametrised 3DVar, user-supplied functions are executed in the following sequence:
py__prepoststep_state_pdaf
py__init_dim_obs_pdaf
py__obs_op_pdaf
- Iterative optimisation:
py__cvt_pdaf
py__obs_op_lin_pdaf
py__obs_op_adj_pdaf
py__cvt_adj_pdaf
core DA algorithm
py__cvt_pdaf
py__prepoststep_state_pdaf
- For 3DEnVar, user-supplied functions are executed in the following sequence:
py__prepoststep_state_pdaf
py__init_dim_obs_pdaf
py__obs_op_pdaf
- Starting the iterative optimisation:
py__cvt_ens_pdaf
py__obs_op_lin_pdaf
py__obs_op_adj_pdaf
py__cvt_adj_ens_pdaf
core DA algorithm
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
core DA algorithm
py__prepoststep_state_pdaf
- For hybrid 3DVar, 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__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
core DA algorithm
py__prepoststep_state_pdaf
- Parameters:
py__init_dim_obs_pdaf (Callable) – Initialize dimension of full observation vector
py__obs_op_pdaf (Callable) – Full observation operator
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__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
- Returns:
outflag – Status flag
- Return type:
int