<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def next(self):
 """Weather data record. Yields: dict """

        record = self.epw_data.next()
        local_time = _muck_w_date(record)
        record['datetime'] = local_time
        # does this fix a specific data set or a general issue?
        if self.DST:
            localdt = self.local_tz.localize(record['datetime'])
            record['utc_datetime'] = localdt.astimezone(pytz.UTC)
        else:
            record['utc_datetime'] = local_time - \
                datetime.timedelta(hours=self.TZ)

        return record