pyPDAF.PDAF.omi_localize_covar_noniso_locweights

pyPDAF.PDAF.omi_localize_covar_noniso_locweights()

The function has to be called in localize_covar_OBTYPE in each observation module. It applies the covariance localisation in stochastic EnKF. This is used for non-isotropic localisation with different weight function for horizontal and vertical directions. where the localisation radius is different. See https://pdaf.awi.de/trac/wiki/PDAFomi_localize_covar

Parameters:
  • i_obs (int) – index of observation type

  • locweights (ndarray[tuple[2], np.intc]) – Types of localization function 0) unit weight; 1) exponential; 2) 5-th order polynomial; 3) 5-th order polynomial with regulatioin using mean variance; 4) 5-th order polynomial with regulatioin using variance of single observation point; The first dimension is horizontal weight function and the second is the vertical function

  • cradius (ndarray[tuple[ncoord], np.float64]) –

    Vector of localization cut-off radii for each dimension; observation weight=0 if distance > cradius

    The array dimension ncoord is number of coordinate dimension

  • sradius (ndarray[tuple[ncoord], np.float64]) –

    Vector of support radii of localization function for each dimension. It has no impact if locweight=0; weight = exp(-d / sradius) if locweight=1; weight = 0 if d >= sradius else f(sradius, distance) if locweight in [2,3,4].

    The array dimension ncoord is number of coordinate dimension

  • coords (ndarray[tuple[ncoord, dim_p], np.float64]) –

    Coordinates of state vector elements

    The 1st-th dimension ncoord is number of coordinate dimension The 2nd-th dimension dim_p is State dimension

  • HP (ndarray[tuple[dim_obs, dim_p], np.float64]) –

    Matrix HP, dimension (nobs, dim)

    The 1st-th dimension dim_obs is Observation dimension The 2nd-th dimension dim_p is State dimension

  • HPH (ndarray[tuple[dim_obs, dim_obs], np.float64]) –

    Matrix HPH, dimension (nobs, nobs)

    The 1st-th dimension dim_obs is Observation dimension The 2nd-th dimension dim_obs is Observation dimension

Returns:

  • HP (ndarray[tuple[dim_obs, dim_p], np.float64]) – Matrix HP, dimension (nobs, dim)

    The 1st-th dimension dim_obs is Observation dimension The 2nd-th dimension dim_p is State dimension

  • HPH (ndarray[tuple[dim_obs, dim_obs], np.float64]) – Matrix HPH, dimension (nobs, nobs)

    The 1st-th dimension dim_obs is Observation dimension The 2nd-th dimension dim_obs is Observation dimension