Changes between Version 6 and Version 7 of OMI_observation_operators_PDAF3


Ignore:
Timestamp:
Sep 1, 2025, 11:25:44 AM (21 hours ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OMI_observation_operators_PDAF3

    v6 v7  
    3838 - '''[wiki:PDAFomi_obs_op_gatheronly]'''[[br]]
    3939  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
     44The arguments of the observation operators, except `PDAFomi_obs_op_extern` are
     45{{{
     46  SUBROUTINE PDAFomi_obs_op_X(thisobs,[nrows,] state_p, ostate)
    4447
    4548     TYPE(obs_f), INTENT(inout) :: thisobs  ! Data type with full observation
     
    4952}}}
    5053Where `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
     55The 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
    5164
    5265
     
    151164  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.
    152165
     166Note: 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
    153168The arguments of the observation operators are
    154169{{{