Changes between Version 16 and Version 17 of OMI_observation_operators
 Timestamp:
 Dec 18, 2021, 1:50:47 PM (14 months ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

OMI_observation_operators
v16 v17 39 39 OMI currently provides 3 observation operators: 40 40  '''[wiki:PDAFomi_obs_op_gridpoint]'''[[br]] 41 This observation operator is used for the case that observations are model variables located at grid points. Thus, the operation is to select single element from the state vector according to the index array `thisobs%id_obs_p` initialized in `init_dim_obs_ f_OBSTYPE`.41 This observation operator is used for the case that observations are model variables located at grid points. Thus, the operation is to select single element from the state vector according to the index array `thisobs%id_obs_p` initialized in `init_dim_obs_OBSTYPE`. 42 42  '''[wiki:PDAFomi_obs_op_gridavg]'''[[br]] 43 This observation operator is used for the case that observations are the average of model variables at grid points. The averages are computed according to the number of rows in the index array `thisobs%id_obs_p` initialized in `init_dim_obs_ f_OBSTYPE`.43 This observation operator is used for the case that observations are the average of model variables at grid points. The averages are computed according to the number of rows in the index array `thisobs%id_obs_p` initialized in `init_dim_obs_OBSTYPE`. 44 44  '''[wiki:PDAFomi_obs_op_interp_lin]'''[[br]] 45 This observation operator computes the observation by linear interpolation. It uses the index array `thisobs%id_obs_p` and the array `thisobs%icoeff_p` holding interpolation coefficients initialized in `init_dim_obs_ f_OBSTYPE`. To use this observation operator, one has to allocate and initialize `thisobs%icoeff_p` as described below.45 This observation operator computes the observation by linear interpolation. It uses the index array `thisobs%id_obs_p` and the array `thisobs%icoeff_p` holding interpolation coefficients initialized in `init_dim_obs_OBSTYPE`. To use this observation operator, one has to allocate and initialize `thisobs%icoeff_p` as described below. 46 46 47 47 The arguments of the observation operators are … … 146 146 OMI provides the adjoint observation operators corresponding to the forward observation operators: 147 147  '''[wiki:PDAFomi_obs_op_adj_gridpoint]'''[[br]] 148 This observation operator is used for the case that observations are model variables located at grid points. Thus, the operation is to select single element from the state vector according to the index array `thisobs%id_obs_p` initialized in `init_dim_obs_ f_OBSTYPE`.148 This observation operator is used for the case that observations are model variables located at grid points. Thus, the operation is to select single element from the state vector according to the index array `thisobs%id_obs_p` initialized in `init_dim_obs_OBSTYPE`. 149 149  '''[wiki:PDAFomi_obs_op_adj_gridavg]'''[[br]] 150 This observation operator is used for the case that observations are the average of model variables at grid points. The averages are computed according to the number of rows in the index array `thisobs%id_obs_p` initialized in `init_dim_obs_ f_OBSTYPE`.150 This observation operator is used for the case that observations are the average of model variables at grid points. The averages are computed according to the number of rows in the index array `thisobs%id_obs_p` initialized in `init_dim_obs_OBSTYPE`. 151 151  '''[wiki:PDAFomi_obs_op_adj_interp_lin]'''[[br]] 152 This observation operator is used for the case of linear interpolation. It uses the index array `thisobs%id_obs_p` and the array `thisobs%icoeff_p` holding interpolation coefficients initialized in `init_dim_obs_ f_OBSTYPE`. To use this observation operator, one has to allocate and initialize `thisobs%icoeff_p` as described below.152 This observation operator is used for the case of linear interpolation. It uses the index array `thisobs%id_obs_p` and the array `thisobs%icoeff_p` holding interpolation coefficients initialized in `init_dim_obs_OBSTYPE`. To use this observation operator, one has to allocate and initialize `thisobs%icoeff_p` as described below. 153 153 154 154 The arguments of the observation operators are … … 170 170 3. Call `PDAFomi_gather_obsstate` to gather the full observation vector `obs_f_all`. This call is mandatory even if the model is not parallelized. The interface is: 171 171 {{{ 172 SUBROUTINE PDAFomi_gather_obsstate(thisobs, o bsstate_p, obsstate_f)172 SUBROUTINE PDAFomi_gather_obsstate(thisobs, ostate_p, obs_f_all) 173 173 174 174 TYPE(obs_f), INTENT(inout) :: thisobs ! Data type with full observation