Request and read MIDC data directly from the raw data api.

    Parameters
    ----------
    site: string
        The MIDC station id.
    start: datetime
        Start date for requested data.
    end: datetime
        End date for requested data.

    Returns
    -------
    data:
        Dataframe with DatetimeIndex localized to the station location.

    Notes
    -----
    Requests spanning an instrumentation change will yield an error. See the
    MIDC raw data api page
    `here <https://midcdmz.nrel.gov/apps/data_api_doc.pl?_idtextlist>`_
    for more details and considerations.

def read_midc_raw_data_from_nrel(site, start, end):
    """Request and read MIDC data directly from the raw data api.

    Parameters
    ----------
    site: string
        The MIDC station id.
    start: datetime
        Start date for requested data.
    end: datetime
        End date for requested data.

    Returns
    -------
    data:
        Dataframe with DatetimeIndex localized to the station location.

    Notes
    -----
    Requests spanning an instrumentation change will yield an error. See the
    MIDC raw data api page
    `here <https://midcdmz.nrel.gov/apps/data_api_doc.pl?_idtextlist>`_
    for more details and considerations.
    """
    args = {'site': site,
            'begin': start.strftime('%Y%m%d'),
            'end': end.strftime('%Y%m%d')}
    endpoint = 'https://midcdmz.nrel.gov/apps/data_api.pl?'
    url = endpoint + '&'.join(['{}={}'.format(k, v) for k, v in args.items()])
    return read_midc(url, raw_data=True)