Changes between Version 4 and Version 5 of PDAFomi_additional_functionality


Ignore:
Timestamp:
Sep 19, 2024, 12:33:12 PM (3 weeks ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAFomi_additional_functionality

    v4 v5  
    171171
    172172This function only supports geographic coordinates given in radians.
     173
     174== Determining observation localization weights ==
     175
     176When using non-diagonal observation error covariance matrices **R**, one has to code the localization weighting in the user-supplied routines. To obtain the localization weight according to the distance between the local analysis domain and the observation, one can utilize the routine `PDAFomi_observation_localization_weights, which ensures that the OMI-internal information is correctly handled.
     177
     178=== PDAFomi_observation_localization_weights ===
     179
     180This routine was introduced with PDAF V2.3.
     181
     182This routine returns a vector of observation localization weights computed according to the localization specifications in `thisobs_l` and observation coordinates in `thisobs`. The routine can be called in `prodRinvA_l_pdafomi` or `likelihood_l_pdafomi` in order to obtain the localization weights for observations. For diagonal observation error covariance matrices, the weighting is computed by OMI internally, but for nondiagonal R-matrices, the use had to implement the application of the localization.
     183
     184The interface is the following:
     185{{{
     186  SUBROUTINE PDAFomi_observation_localization_weights(thisobs_l, thisobs, ncols, &
     187             A_l, weight, verbose)
     188
     189    TYPE(obs_l), INTENT(inout) :: thisobs_l  ! Data type with local observation
     190    TYPE(obs_f), INTENT(inout) :: thisobs    ! Data type with full observation
     191    INTEGER, INTENT(in) :: ncols             ! Rank of initial covariance matrix
     192    REAL, INTENT(in) :: A_l(:, :)            ! Input matrix, size (thisobs_l%dim_obs_l, ncols)
     193    INTEGER, INTENT(in) :: verbose           ! Verbosity flag
     194    REAL, INTENT(out) :: weight(thisobs_l%dim_obs_l) ! Localization weights
     195}}}
     196
     197
     198Notes:
     199 * Array `A_l` is usually the input argument to the routine [wiki:prodRinvA_l_pdaf prodRinvA_l_pdaf]. It is only used when the regulated localization is used.
     200 * The regulated localization computes an alternative localization function based on the ration of state error variances to observation error variances. the regulated localization method is described in the paper Nerger et al. (Quarterly Journal of the Royal Meteorological Society, 138 (2012) 802-812; see [wiki:PublicationsandPresentations publications].)
     201