Version 1 (modified by lnerger, 4 years ago) (diff)



This page documents the routine PDAF_local_weight of PDAF.

The routine is used for localization in the analysis step of a filter and computes a weight according to the specified distance and the settings for the localizing function.

The interface is the following:

  SUBROUTINE PDAF_local_weight(wtype, rtype, cradius, sradius, distance, &
     nrows, ncols, A, var_obs, weight, verbose)

with the following arguments:

  • wtype : integer, intent(in)
    Type of weight function:
    (0) unit weight (=1 up to radius cradius)
    (1) exponential decrease (1/e at distance=sradius; 0 for distance>cradius)
    (2) 5th order polynomial with support radius sradius (Gaspari&Cohn 1999; 0 for distance>sradius)
  • rtype : integer, intent(in)
    Type of regulated weighting:
    (0) no regulation
    (1) regulation using mean variances
    (2) regulation using variance of single observation point
  • cradius : real, intent(in)
    Cut-off radius (weight is always =0 for distance>cradius)
  • sradius : real, intent(in)
    Support radius
  • distance : real, intent(in)
    Distance to observation
  • nrows : integer, intent(in)
    Number of rows in matrix A
  • ncols : integer, intent(in)
    Number of columns in matrix A
  • A : real, intent(in), dimension(nrows,ncols)
    Input matrix (only used for regulated localization)
  • var_obs : real, intent(in)
    Observation variance (only used for regulated localization)
  • weight : real, intent(out)
    computed localization weight
  • verbose : integer, intent(in)
    Verbosity flag