From 6feb38412cc7c77fd7bab4002ccb9574537ed1f2 Mon Sep 17 00:00:00 2001 From: nickb <nickb@ssec.wisc.edu> Date: Fri, 12 Feb 2021 19:01:00 +0000 Subject: [PATCH] adds the trio picker functionality to the minute gridder --- gridded_glm/libexec/_minute_gridder.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gridded_glm/libexec/_minute_gridder.py b/gridded_glm/libexec/_minute_gridder.py index 3e63eee..30ac309 100644 --- a/gridded_glm/libexec/_minute_gridder.py +++ b/gridded_glm/libexec/_minute_gridder.py @@ -56,6 +56,10 @@ def create_parser(): type=float, help='center latitude (required for meso)') parser.add_argument('--ctr-lon', metavar='longitude', type=float, help='center longitude (required for meso)') + parser.add_argument('-1', "--realtime", default=False, action='store_true', + help="enable 'realtime' mode, where we expect only one input file,\n" + "find the surrounding trio, and automatically determine if a full minute\n" + "of data is available (default: off)") # from Requirements: "Input is one or more GLM LCFA (L2+) files in mission standard format (nominally three 20-second input files)" parser.add_argument(dest='filenames', metavar='filename', nargs='+') return parser @@ -110,6 +114,19 @@ def grid_setup(args, work_dir=os.getcwd()): min_events = None min_groups = None + if args.realtime: + if len(args.filenames) != 1: + log.error("realtime mode only accepts one input file") + exit(1) + glminfo = parse_glm_filename(os.path.basename(args.filenames[0])) + + globstring = "{}_{}_{}_s{}*".format(glminfo[0], glminfo[1], glminfo[2], glminfo[3].strftime("%Y%j%H%M")) + fileglob = glob(os.path.join(os.path.dirname(args.filenames[0]), globstring)) + if len(fileglob) != 3: + print("There are not (yet) three GLM files from this minute. This may be expected. Exiting.") + exit(0) + args.filenames = fileglob + try: start_time, end_time = get_start_end(args.filenames) except ValueError: -- GitLab