def main():
    """Entry point."""
    args = sys.argv[1:]
    if len(args) != 1:
        raise ValueError("No file prefix given")
    prefix = args[0]

    prename = prefix + "-pregame.json"
    durname = prefix + "-game.json"
    postname = prefix + "-postgame.json"

    # Kick off was Feb 5, 2017, 5:30pm US Central Time - which is 11:30pm UTC.
    # Note that we also back off 30 minutes. We add 6 hours to get game end
    # (which is 11pm US Central).
    GAME_START = dt(2017, 2, 5, 23, 0, 0, tzinfo=datetime.timezone.utc)
    GAME_END = GAME_START + datetime.timedelta(hours=6)

    log("Starting")
    count = 0

    with out(prename) as pre, out(durname) as dur, out(postname) as post:
        for line in sys.stdin:
            line = line.strip()
            if not line:
                continue  # don't count blanks

            # Write out to the appropriate file
            time = read_time(json_parse(line)["Timestamp"])
            if time < GAME_START:
                chosen = pre
            elif time > GAME_END:
                chosen = post
            else:
                chosen = dur
            chosen.write(line)

            count += 1
            if count % 250000 == 0:
                log("read {:12,d}", count)

        for i in [pre, dur, post]:
            i.report()

    log("Total Processing: {:,d}", count)
                      units='hPa')
print("ps 1/2")

var3d_ids = []
for m in varin3d:
    print("3d VAR:", m)
    var3d_ids.append(
        cmor.variable(table_entry=common.specs[m]["entry"],
                      units=common.specs[m]["units"],
                      axis_ids=[itim, ilev_half, ilat, ilon],
                      missing_value=1.e28,
                      positive=common.specs[m]["positive"],
                      original_name=m))
print("Ok now writing", var3d_ids, common.ntimes)
for index in range(common.ntimes):
    tim_array, bnds_tim = common.read_time(index)
    for i, varname in enumerate(varin3d):
        data = common.read_3d_input_files(index, varname,
                                          (common.lev, common.lat, common.lon))
        print(data.shape, data)
        print(tim_array, bnds_tim)
        cmor.write(var_id=var3d_ids[i],
                   data=data,
                   ntimes_passed=1,
                   time_vals=tim_array,
                   time_bnds=bnds_tim)
        print("Passed write")
        # PSURF
        data = common.read_2d_input_files(index, "PSURF",
                                          (common.lat, common.lon))
        cmor.write(var_id=ps_var,

pth = os.getcwd()
common.init_cmor(pth, "CMOR_input_example.json")
cmor.load_table(os.path.join(pth, 'Tables', 'CMIP6_6hrLev.json'))
itim, ilat, ilon = common.read_cmor_time_lat_lon()

ilambda = cmor.axis(
    table_entry='lambda550nm',
    units='m',
    length=1,
    coord_vals=[550.,],
    cell_bounds=[500.,600.])
# Creates two singleton dims?

varid = cmor.variable(table_entry=common.specs["BS"]["entry"],
                      units=common.specs["BS"]["units"],
                      axis_ids=[itim, ilat, ilon, ilambda],
                      missing_value=1.e28,
                      positive=common.specs["BS"]["positive"],
                      original_name="BS")
for index in range(2):
    tim_array, bnds_tim = common.read_time(index)
    data = common.read_2d_input_files(index, "BS", (common.lat, common.lon))
    print(data.shape, data)
    print(tim_array, bnds_tim)
    cmor.write(var_id=varid, data=data, ntimes_passed=1,
               time_vals=tim_array, time_bnds=bnds_tim)
    print("Passed write")
cmor.close()