def _gti_dirint_gte_90_kt_prime(aoi, solar_zenith, solar_azimuth, times,<EOL>kt_prime):
<EOL>aoi_gte_90 = aoi >= <NUM_LIT><EOL>aoi_65_80 = (aoi > <NUM_LIT>) & (aoi < <NUM_LIT>)<EOL>zenith_lt_90 = solar_zenith < <NUM_LIT><EOL>morning = solar_azimuth < <NUM_LIT><EOL>afternoon = solar_azimuth > <NUM_LIT><EOL>aoi_65_80_morning = aoi_65_80 & morning<EOL>aoi_65_80_afternoon = aoi_65_80 & afternoon<EOL>zenith_lt_90_aoi_gte_90_morning = zenith_lt_90 & aoi_gte_90 & morning<EOL>zenith_lt_90_aoi_gte_90_afternoon = zenith_lt_90 & aoi_gte_90 & afternoon<EOL>kt_prime_gte_90 = []<EOL>for date, data in kt_prime.groupby(times.date):<EOL><INDENT>kt_prime_am_avg = data[aoi_65_80_morning].mean()<EOL>kt_prime_pm_avg = data[aoi_65_80_afternoon].mean()<EOL>kt_prime_by_date = pd.Series(np.nan, index=data.index)<EOL>kt_prime_by_date[zenith_lt_90_aoi_gte_90_morning] = kt_prime_am_avg<EOL>kt_prime_by_date[zenith_lt_90_aoi_gte_90_afternoon] = kt_prime_pm_avg<EOL>kt_prime_gte_90.append(kt_prime_by_date)<EOL><DEDENT>kt_prime_gte_90 = pd.concat(kt_prime_gte_90)<EOL>return kt_prime_gte_90<EOL>
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`.