def dirindex(ghi, ghi_clearsky, dni_clearsky, zenith, times, pressure=<NUM_LIT>,<EOL>use_delta_kt_prime=True, temp_dew=None, min_cos_zenith=<NUM_LIT>,<EOL>max_zenith=<NUM_LIT>):
dni_dirint = dirint(ghi, zenith, times, pressure=pressure,<EOL>use_delta_kt_prime=use_delta_kt_prime,<EOL>temp_dew=temp_dew, min_cos_zenith=min_cos_zenith,<EOL>max_zenith=max_zenith)<EOL>dni_dirint_clearsky = dirint(ghi_clearsky, zenith, times,<EOL>pressure=pressure,<EOL>use_delta_kt_prime=use_delta_kt_prime,<EOL>temp_dew=temp_dew,<EOL>min_cos_zenith=min_cos_zenith,<EOL>max_zenith=max_zenith)<EOL>dni_dirindex = dni_clearsky * dni_dirint / dni_dirint_clearsky<EOL>dni_dirindex[dni_dirindex < <NUM_LIT:0>] = <NUM_LIT:0.><EOL>return dni_dirindex<EOL>
Determine DNI from GHI using the DIRINDEX model, which is a modification of
the DIRINT model with information from a clear sky model.

DIRINDEX [1] improves upon the DIRINT model by taking into account
turbidity when used with the Ineichen clear sky model results.

The pvlib implementation limits the clearness index to 1.

Parameters
----------
ghi : array-like
    Global horizontal irradiance in W/m^2.

ghi_clearsky : array-like
    Global horizontal irradiance from clear sky model, in W/m^2.

dni_clearsky : array-like
    Direct normal irradiance from clear sky model, in W/m^2.

zenith : array-like
    True (not refraction-corrected) zenith angles in decimal
    degrees. If Z is a vector it must be of the same size as all
    other vector inputs. Z must be >=0 and <=180.

times : DatetimeIndex

pressure : float or array-like, default 101325.0
    The site pressure in Pascal. Pressure may be measured or an
    average pressure may be calculated from site altitude.

use_delta_kt_prime : bool, default True
    If True, indicates that the stability index delta_kt_prime is
    included in the model. The stability index adjusts the estimated
    DNI in response to dynamics in the time series of GHI. It is
    recommended that delta_kt_prime is not used if the time between
    GHI points is 1.5 hours or greater. If use_delta_kt_prime=True,
    input data must be Series.

temp_dew : None, float, or array-like, default None
    Surface dew point temperatures, in degrees C. Values of temp_dew
    may be numeric or NaN. Any single time period point with a
    temp_dew=NaN does not have dew point improvements applied. If
    temp_dew is not provided, then dew point improvements are not
    applied.

min_cos_zenith : numeric, default 0.065
    Minimum value of cos(zenith) to allow when calculating global
    clearness index `kt`. Equivalent to zenith = 86.273 degrees.

max_zenith : numeric, default 87
    Maximum value of zenith to allow in DNI calculation. DNI will be
    set to 0 for times with zenith values greater than `max_zenith`.

Returns
-------
dni : array-like
    The modeled direct normal irradiance in W/m^2.

Notes
-----
DIRINDEX model requires time series data (ie. one of the inputs must
be a vector of length > 2).

References
----------
[1] Perez, R., Ineichen, P., Moore, K., Kmiecik, M., Chain, C., George, R.,
& Vignola, F. (2002). A new operational model for satellite-derived
irradiances: description and validation. Solar Energy, 73(5), 307-317.