def METHOD_NAME(self, cubes: CubeList) -> Cube:
    """
    Create a shower condition probability from cloud fraction and convective
    ratio fields. This plugin thresholds the two input diagnostics,
    creates a hybrid probability field from the resulting binary fields,
    and then collapses the realizations to give a non-binary probability
    field that represents the likelihood of conditions being showery.
    Args:
        cubes:
            A cubelist containing a cube of cloud fraction and one of
            convective ratio.
    Returns:
        Probability of any precipitation, if present, being classified as
        showery
    """
    cloud, convection = self._extract_inputs(cubes)
    # Threshold cubes
    cloud_thresholded = BasicThreshold(
        self.cloud_threshold, comparison_operator="<="
    ).METHOD_NAME(cloud)
    convection_thresholded = BasicThreshold(self.convection_threshold).METHOD_NAME(
        convection
    )
    # Fill any missing data in the convective ratio field with zeroes.
    if np.ma.is_masked(convection_thresholded.data):
        convection_thresholded.data = convection_thresholded.data.filled(0)
    # Create a combined field taking the maximum of each input
    shower_probability = np.maximum(
        cloud_thresholded.data, convection_thresholded.data
    ).astype(FLOAT_DTYPE)
    result = self._create_shower_condition_cube(
        shower_probability, convection_thresholded
    )
    try:
        shower_conditions = collapse_realizations(result)
    except CoordinateNotFoundError:
        shower_conditions = result
    return iris.util.squeeze(shower_conditions)