def getMonth(s):
    """
    Known formats:
    Month ("%b")
    Month Day ("%b %d")
    Month-Month ("%b-%b") --- this gets coerced to the first %b, dropping the month range
    Season ("%s") --- this gets coerced to use the first month of the given season
    Month Day Year ("%b %d %Y")
    Month Year ("%b %Y")
    Year Month Day ("%Y %m %d")
    """
    monthOrSeason = s.split('-')[0].upper()
    if monthOrSeason in monthDict:
        return monthDict[monthOrSeason]
    else:
        monthOrSeason = s.split('-')[1].upper()
        if monthOrSeason.isdigit():
            return monthOrSeason
        else:
            return monthDict[monthOrSeason]

    raise ValueError("Month format not recognized: " + s)