<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def taf(data: TafData, units: Units) -> str: """ Convert TafData into a string for text-to-speech """

    try:
        month = data.start_time.dt.strftime(r'%B')
        day = ordinal(data.start_time.dt.day)
        ret = f"Starting on {month} {day} - "
    except AttributeError:
        ret = ''
    return ret + '. '.join([taf_line(line, units) for line in data.forecast])