Changes between Version 21 and Version 22 of OMI_observation_operators
- Timestamp:
- Dec 18, 2021, 1:57:06 PM (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OMI_observation_operators
v21 v22 159 159 The arguments of the observation operators are 160 160 {{{ 161 CALL PDAFomi_obs_op_X (thisobs,[nrows,] state_p, ostate) 161 CALL PDAFomi_obs_op_adj_X (thisobs,[nrows,] state_p, ostate) 162 163 TYPE(obs_f), INTENT(inout) :: thisobs ! Data type with full observation 164 INTEGER, INTENT(in) :: nrows ! Number of values to be averaged 165 REAL, INTENT(in) :: obs_f_all(:) ! Full observed state for all observation types (array provided by PDAF) 166 REAL, INTENT(inout) :: state_p(:) ! Process-local model state (provided by PDAF) 162 167 }}} 163 168 Where `thisobs` is the observation type variable, `ostate` is the input vector in the observation space provided by PDAF and `state_p` is the output state vector that will be returned to PDAF. `nrows` only exists for the observation operators X=gridavg and X=interp_lin and specifies the number of grid points involved in the observation operation. For X=gridpoint, this argument does not exist. … … 168 173 The current set of observation operators provided by PDAF-OMI is rather fundamental. However, there are also observation types which are not variables of state vector, but functions of several values. Likewise one might want to use a more sophisticated interpolation than the linear one or some interpolation that treats the horizontal and vertical directions separately. For these cases you can implement you own operators. 169 174 170 || The template observation operator in '''/template/omi/ob_op_pdafomi_TEMPLATE.F90'''can be used as the basis for the implementation. It describes the steps needs in the implementation. ||175 || The '''template observation operator''' in `/template/omi/ob_op_pdafomi_TEMPLATE.F90` can be used as the basis for the implementation. It describes the steps needs in the implementation. || 171 176 172 177 Each observation operator include the following functionality: