def surface_absorption(wave_len, wave_len_min, wave_len_max, abs_surface):
    """Determines probability of absorption as a function of wavelength at a
    particular boundary.
    
    Parameters
    ----------
    wave_len : float
        Bundle wavelength
    wave_len_min : float
        Minimum wavelength absorbed by matrix
    wave_len_max : float
        Maximum wavelength absorbed by matrix
    abs_surface : DataFrame
        Probability of absorption of a surface as a function of wavelength
    
    Returns
    -------
    probability : float
        Probability that a bundle is absorbed
    
    Notes
    -----
    surface_absorption should be renamed to boundary_absorption
    """

    probability = 0
    if wave_len >= wave_len_min and wave_len <= wave_len_max:
        probability = abs_surface.__call__(wave_len)

    return probability