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()