@deprecated('<STR_LIT>', alternative='<STR_LIT>', removal='<STR_LIT>')<EOL>def globalinplane(aoi, dni, poa_sky_diffuse, poa_ground_diffuse):
poa_direct = np.maximum(dni * np.cos(np.radians(aoi)), <NUM_LIT:0>)<EOL>poa_global = poa_direct + poa_sky_diffuse + poa_ground_diffuse<EOL>poa_diffuse = poa_sky_diffuse + poa_ground_diffuse<EOL>irrads = OrderedDict()<EOL>irrads['<STR_LIT>'] = poa_global<EOL>irrads['<STR_LIT>'] = poa_direct<EOL>irrads['<STR_LIT>'] = poa_diffuse<EOL>if isinstance(poa_direct, pd.Series):<EOL><INDENT>irrads = pd.DataFrame(irrads)<EOL><DEDENT>return irrads<EOL>
r'''
    Determine the three components on in-plane irradiance

    Combines in-plane irradaince compoents from the chosen diffuse
    translation, ground reflection and beam irradiance algorithms into
    the total in-plane irradiance.

    Parameters
    ----------
    aoi : numeric
        Angle of incidence of solar rays with respect to the module
        surface, from :func:`aoi`.

    dni : numeric
        Direct normal irradiance (W/m^2), as measured from a TMY file or
        calculated with a clearsky model.

    poa_sky_diffuse : numeric
        Diffuse irradiance (W/m^2) in the plane of the modules, as
        calculated by a diffuse irradiance translation function

    poa_ground_diffuse : numeric
        Ground reflected irradiance (W/m^2) in the plane of the modules,
        as calculated by an albedo model (eg. :func:`grounddiffuse`)

    Returns
    -------
    irrads : OrderedDict or DataFrame
        Contains the following keys:

        * ``poa_global`` : Total in-plane irradiance (W/m^2)
        * ``poa_direct`` : Total in-plane beam irradiance (W/m^2)
        * ``poa_diffuse`` : Total in-plane diffuse irradiance (W/m^2)

    Notes
    ------
    Negative beam irradiation due to aoi :math:`> 90^{\circ}` or AOI
    :math:`< 0^{\circ}` is set to zero.