    def __estimate_ar_parameters_radar(self):
        """
        Estimate autoregressive (AR) parameters for the radar rainfall field. If
        precipitation exists, compute temporal auto-correlations; otherwise, use
        predefined climatological values. Adjust coefficients if necessary and
        estimate AR model parameters.
        """

        # If there are values in the radar fields, compute the auto-correlations
        GAMMA = np.empty((self.__config.n_cascade_levels, self.__config.ar_order))
        if not self.__params.zero_precip_radar:
            # compute lag-l temporal auto-correlation coefficients for each cascade level
            for i in range(self.__config.n_cascade_levels):
                GAMMA[i, :] = correlation.temporal_autocorrelation(
                    self.__state.precip_cascades[i], mask=self.__params.mask_threshold
                )

        # Else, use standard values for the auto-correlations
        else:
            # Get the climatological lag-1 and lag-2 auto-correlation values from Table 2
            # in `BPS2004`.
            # Hard coded, change to own (climatological) values when present.
            # TODO: add user warning here so users can be aware of this without reading the code?
            GAMMA = np.array(
                [
                    [0.99805, 0.9925, 0.9776, 0.9297, 0.796, 0.482, 0.079, 0.0006],
                    [0.9933, 0.9752, 0.923, 0.750, 0.367, 0.069, 0.0018, 0.0014],
                ]
            )

            # Check whether the number of cascade_levels is correct
            if GAMMA.shape[1] > self.__config.n_cascade_levels:
                GAMMA = GAMMA[:, 0 : self.__config.n_cascade_levels]
            elif GAMMA.shape[1] < self.__config.n_cascade_levels:
                # Get the number of cascade levels that is missing
                n_extra_lev = self.__config.n_cascade_levels - GAMMA.shape[1]
                # Append the array with correlation values of 10e-4
                GAMMA = np.append(
                    GAMMA,
                    [np.repeat(0.0006, n_extra_lev), np.repeat(0.0014, n_extra_lev)],
                    axis=1,
                )

            # Finally base GAMMA.shape[0] on the AR-level
            if self.__config.ar_order == 1:
                GAMMA = GAMMA[0, :]
            if self.__config.ar_order > 2:
                for _ in range(self.__config.ar_order - 2):
                    GAMMA = np.vstack((GAMMA, GAMMA[1, :]))

            # Finally, transpose GAMMA to ensure that the shape is the same as np.empty((n_cascade_levels, ar_order))
            GAMMA = GAMMA.transpose()
            assert GAMMA.shape == (
                self.__config.n_cascade_levels,
                self.__config.ar_order,
            )

        # Print the GAMMA value
        nowcast_utils.print_corrcoefs(GAMMA)

        if self.__config.ar_order == 2:
            # adjust the lag-2 correlation coefficient to ensure that the AR(p)
            # process is stationary
            for i in range(self.__config.n_cascade_levels):
                GAMMA[i, 1] = autoregression.adjust_lag2_corrcoef2(
                    GAMMA[i, 0], GAMMA[i, 1]
                )

        # estimate the parameters of the AR(p) model from the auto-correlation
        # coefficients
        self.__params.PHI = np.empty(
            (self.__config.n_cascade_levels, self.__config.ar_order + 1)
        )
        for i in range(self.__config.n_cascade_levels):
            self.__params.PHI[i, :] = autoregression.estimate_ar_params_yw(GAMMA[i, :])

        nowcast_utils.print_ar_params(self.__params.PHI)
Estimate autoregressive (AR) parameters for the radar rainfall field. If
precipitation exists, compute temporal auto-correlations; otherwise, use
predefined climatological values. Adjust coefficients if necessary and
estimate AR model parameters.
pysteps/blending/steps.py