Changes between Version 6 and Version 7 of OMI_observation_operators_PDAF3
- Timestamp:
- Sep 1, 2025, 11:25:44 AM (21 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OMI_observation_operators_PDAF3
v6 v7 38 38 - '''[wiki:PDAFomi_obs_op_gatheronly]'''[[br]] 39 39 This observation operator is used for strongly coupled data assimililation in coupled models. It served for the particular case that model variables are observed in a coupled model system in another model component only. For this case, this observation operator only performs the gather operation to obtain the full observations. 40 41 The arguments of the observation operators are 42 {{{ 43 SUBROUTINE PDAFomi_obs_op_X (thisobs,[nrows,] state_p, ostate) 40 - '''[wiki:PDAFomi_obs_op_extern]'''[[br]] 41 This observation operator is used for the case that the observed state is computed externally, e.g. directly in the model during a forecast. The interface of the observation operator allow the use to directly provide the observed state as an argument. 42 43 44 The arguments of the observation operators, except `PDAFomi_obs_op_extern` are 45 {{{ 46 SUBROUTINE PDAFomi_obs_op_X(thisobs,[nrows,] state_p, ostate) 44 47 45 48 TYPE(obs_f), INTENT(inout) :: thisobs ! Data type with full observation … … 49 52 }}} 50 53 Where `thisobs` is the observation type variable, `state_p` is the input state vector provided by PDAF and `ostate` is the observed state 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. 54 55 The arguments of the observation operator `PDAFomi_obs_op_extern` are 56 {{{ 57 SUBROUTINE PDAFomi_obs_op_extern(thisobs, ostate_p, ostate) 58 59 TYPE(obs_f), INTENT(inout) :: thisobs ! Data type with full observation 60 REAL, INTENT(in) :: ostate_p(:) ! Process-local observed model state (provided by user) 61 REAL, INTENT(inout) :: obs_f_all(:) ! Full observed state for all observation types (array provided by PDAF) 62 }}} 63 51 64 52 65 … … 151 164 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. 152 165 166 Note: There is no adjoint observation operator for `PDAFomi_obs_op_extern` because the operation is user defined. Thus, the user one would need to implement the coresponding adjoint operator. 167 153 168 The arguments of the observation operators are 154 169 {{{