def find_member(bloom_dates, ord_day):
    """Find the ensemble member whose bloom date is ord_day.

    If more than one member has ord_day as its bloom date,
    choose the member with the most recent year's forcing.

    If there is no member with ord_day as its bloom date look at
    adjacent days and choose the member with the most recent year's
    forcing.

    :arg bloom_dates: Predicted bloom dates.
    :type bloom_dates: dict keyed by ensemble member identifier

    :arg ord_day: Bloom date expressed as an ordinal day.
    :type ord_day: int

    :returns: Ensemble member identifier
    :rtype: str
    """
    def find_matches(day):
        return [
            member for member, bloom_date in bloom_dates.items()
            if bloom_date.toordinal() == day
        ]
    matches = find_matches(ord_day)
    if not matches:
        for i in range(1, 11):
            matches.extend(find_matches(ord_day + i))
            matches.extend(find_matches(ord_day - i))
            if matches:
                break
    return max(matches)