Determine kt' values to be used in GTI-DIRINT AOI >= 90 deg case.
    See Marion 2015 Section 2.2.

    For AOI >= 90 deg: average of the kt_prime values for 65 < AOI < 80
    in each day's morning and afternoon. Morning and afternoon are treated
    separately.

    For AOI < 90 deg: NaN.

    See gti_dirint signature for parameter details.

    Returns
    -------
    kt_prime_gte_90 : Series
        Index is `times`.

def _gti_dirint_gte_90_kt_prime(aoi, solar_zenith, solar_azimuth, times,
                                kt_prime):
    """
    Determine kt' values to be used in GTI-DIRINT AOI >= 90 deg case.
    See Marion 2015 Section 2.2.

    For AOI >= 90 deg: average of the kt_prime values for 65 < AOI < 80
    in each day's morning and afternoon. Morning and afternoon are treated
    separately.

    For AOI < 90 deg: NaN.

    See gti_dirint signature for parameter details.

    Returns
    -------
    kt_prime_gte_90 : Series
        Index is `times`.
    """
    # kt_prime values from DIRINT calculation for AOI < 90 case
    # set the kt_prime from sunrise to AOI=90 to be equal to
    # the kt_prime for 65 < AOI < 80 during the morning.
    # similar for the afternoon. repeat for every day.
    aoi_gte_90 = aoi >= 90
    aoi_65_80 = (aoi > 65) & (aoi < 80)
    zenith_lt_90 = solar_zenith < 90
    morning = solar_azimuth < 180
    afternoon = solar_azimuth > 180
    aoi_65_80_morning = aoi_65_80 & morning
    aoi_65_80_afternoon = aoi_65_80 & afternoon
    zenith_lt_90_aoi_gte_90_morning = zenith_lt_90 & aoi_gte_90 & morning
    zenith_lt_90_aoi_gte_90_afternoon = zenith_lt_90 & aoi_gte_90 & afternoon

    kt_prime_gte_90 = []
    for date, data in kt_prime.groupby(times.date):
        kt_prime_am_avg = data[aoi_65_80_morning].mean()
        kt_prime_pm_avg = data[aoi_65_80_afternoon].mean()

        kt_prime_by_date = pd.Series(np.nan, index=data.index)
        kt_prime_by_date[zenith_lt_90_aoi_gte_90_morning] = kt_prime_am_avg
        kt_prime_by_date[zenith_lt_90_aoi_gte_90_afternoon] = kt_prime_pm_avg
        kt_prime_gte_90.append(kt_prime_by_date)
    kt_prime_gte_90 = pd.concat(kt_prime_gte_90)

    return kt_prime_gte_90