def METHOD_NAME():
    if not CSVFILE:
        raise GldException("missing input CSV file")
    try:
        global EXITCODE
        data = pandas.read_csv(CSVFILE,
            skiprows = SKIPROWS,
            index_col = INDEXCOLS,
            parse_dates = PARSEDATES,
            usecols = USECOLS)
        if len(data.columns) > 1:
            error(f"too many columns, choose one of {list(data.columns)}",E_INVALID)
        else:
            data['hour'] = data.index.hour
            data['weekday'] = [int(x<5) for x in data.index.weekday]
            data['season'] = [int(x/4) for x in data.index.month]
            data.set_index(['season','weekday','hour'],inplace=True)
            groupby = data.groupby(data.index.names)
            avg = groupby.mean()
            std = groupby.std()
            cnt = groupby.count()
            month = ["1-3","4-6","7-9","10-12"]
            seasons = ["winter","spring","summer","fall"]
            day = ["1-5","6-0"]
            if GLMFILE:
                sys.stdout = open(GLMFILE,"w")
                print(f"schedule {data.columns[0] if not NAME else NAME} {{")
                for season in avg.index.get_level_values(0).unique():
                    if OPTIONS:
                        print(f"  {'; '.join(OPTIONS)};")
                    print(f"  {seasons[season]} {{")
                    for weekday in avg.index.get_level_values(1).unique():
                        for hour in avg.index.get_level_values(2).unique():
                            print(f"     * {hour} * {month[season]} {day[weekday]} {avg.loc[(season,weekday,hour)][0].round(PRECISION)};"
                                + f" // count = {cnt.loc[(season,weekday,hour)][0]},"
                                + f" error = {(std.loc[(season,weekday,hour)][0]/avg.loc[(season,weekday,hour)][0]*100).round(1)}%")
                    print("  }")
                print("}")
    except GldException:
        e_type, e_value, e_trace = sys.exc_info()
        print(f"ERROR [{EXENAME}]: {e_value} (exit code {EXITCODE})",file=sys.stderr)
    except:
        if DEBUG:
            raise
        e_type, e_value, e_trace = sys.exc_info()
        print(f"EXCEPTION [{EXENAME}@{e_trace.tb_lineno}]: {e_type.__name__} {e_value} (exit code {E_EXCEPTION})",file=sys.stderr)
        EXITCODE = E_EXCEPTION
    return EXITCODE