obs_op_adj_pdaf
The page document the user-supplied call-back routine obs_op_adj_pdaf
.
The routine obs_op_adj_pdaf
(U_obs_op_adj
inside the PDAF library routines) is a call-back routine that has to be provided by the user.
The routine is used with the all 3D-Var methods. It has to perform the operation of the adjoint observation operator. It has to perform the operation of the adjoint observation operator. The operator acts on a vector in observation space that is provided as m_state_p. The resulting state vector has to be returned in state_p
.
The interface is the following:
SUBROUTINE obs_op_adj_pdaf(step, dim_p, dim_obs_p, state_p, m_state_p) INTEGER, INTENT(in) :: step ! Current time step INTEGER, INTENT(in) :: dim_p ! PE-local dimension of state INTEGER, INTENT(in) :: dim_obs_p ! Dimension of observed state REAL, INTENT(in) :: m_state_p(dim_obs_p) ! PE-local observed state REAL, INTENT(out) :: state_p(dim_p) ! PE-local model state
Hints:
- For a model using domain decomposition, the operation is on the PE-local sub-domain of the model and has to provide the observed sub-state for the PE-local domain.
- If the observation operator involves a global operation, e.g. some global integration, while using domain-decomposition one has to gather the information from the other model domains using MPI communication.
Last modified 3 years ago
Last modified on Dec 9, 2021, 3:22:06 PM