Calculate the zenith angle independent clearness index.

    Parameters
    ----------
    clearness_index : numeric
        Ratio of global to extraterrestrial irradiance on a horizontal
        plane

    airmass : numeric
        Airmass

    max_clearness_index : numeric, default 2.0
        Maximum value of the clearness index. The default, 2.0, allows
        for over-irradiance events typically seen in sub-hourly data.
        NREL's SRRL Fortran code used 0.82 for hourly data.

    Returns
    -------
    kt_prime : numeric
        Zenith independent clearness index

    References
    ----------
    .. [1] Perez, R., P. Ineichen, E. Maxwell, R. Seals and A. Zelenka,
           (1992). "Dynamic Global-to-Direct Irradiance Conversion Models".
           ASHRAE Transactions-Research Series, pp. 354-369

def clearness_index_zenith_independent(clearness_index, airmass,
                                       max_clearness_index=2.0):
    """
    Calculate the zenith angle independent clearness index.

    Parameters
    ----------
    clearness_index : numeric
        Ratio of global to extraterrestrial irradiance on a horizontal
        plane

    airmass : numeric
        Airmass

    max_clearness_index : numeric, default 2.0
        Maximum value of the clearness index. The default, 2.0, allows
        for over-irradiance events typically seen in sub-hourly data.
        NREL's SRRL Fortran code used 0.82 for hourly data.

    Returns
    -------
    kt_prime : numeric
        Zenith independent clearness index

    References
    ----------
    .. [1] Perez, R., P. Ineichen, E. Maxwell, R. Seals and A. Zelenka,
           (1992). "Dynamic Global-to-Direct Irradiance Conversion Models".
           ASHRAE Transactions-Research Series, pp. 354-369
    """
    # Perez eqn 1
    kt_prime = clearness_index / _kt_kt_prime_factor(airmass)
    kt_prime = np.maximum(kt_prime, 0)
    kt_prime = np.minimum(kt_prime, max_clearness_index)
    return kt_prime