#!/usr/bin/env python3 import sys import os from glob import glob from datetime import datetime import subprocess from glmtools.io.glm import parse_glm_filename if __name__ == '__main__': # FIXME: handle args better if this goes beyond my testing _, glmfile = sys.argv # bad (start of period) # glmfile = '/scratch/nickb/cspp-geo-grb-1.0/output/product/OR_GLM-L2-LCFA_G16_s20210131854000_e20210131854204_c20210131854225.nc' # good (end of period) # glmfile = '/scratch/nickb/cspp-geo-grb-1.0/output/product/OR_GLM-L2-LCFA_G16_s20210131854400_e20210131855004_c20210131855027.nc' # glmfile = '/data/users/nickb/cspp-geo-gridded-glm/testing/2020-11-05/CLASS/OR_GLM-L2-LCFA_G16_s20203101529400_e20203101530004_c20203101530021.nc' # check that glmfile is actually a GLM file glminfo = parse_glm_filename(os.path.basename(glmfile)) filename_starts = glminfo[3] filename_ends = glminfo[4] # if this isn't the last file of the minute, exit if filename_starts.second != 40: print("This is not the last GLM file from this minute. Exiting.") exit(0) # if this is the last file of the minute, grab all files of the minute (three) # example trio: # OR_GLM-L2-LCFA_G16_s20203101529000_e20203101529205_c20203101529215.nc # OR_GLM-L2-LCFA_G16_s20203101529200_e20203101529405_c20203101529430.nc # OR_GLM-L2-LCFA_G16_s20203101529400_e20203101530004_c20203101530021.nc globstring = "{}_{}_{}_s{}*".format(glminfo[0], glminfo[1], glminfo[2], glminfo[3].strftime("%Y%j%H%M")) fileglob = glob(os.path.join(os.path.dirname(glmfile), globstring)) print("Gridding {} files".format(len(fileglob))) # and run gridded glm a'la: # minute_gridder.sh \ # --goes-position auto --goes-sector full \ # --create-tiles \ # ./2020-11-05/CLASS/OR_GLM-L2-LCFA_G16_s20203101529000_e20203101529205_c20203101529215.nc \ # ./2020-11-05/CLASS/OR_GLM-L2-LCFA_G16_s20203101529200_e20203101529405_c20203101529430.nc \ # ./2020-11-05/CLASS/OR_GLM-L2-LCFA_G16_s20203101529400_e20203101530004_c20203101530021.nc subprocess.run(["cspp-geo-gglm-minute-gridder.sh", "--goes-position", "auto", "--goes-sector", "full", "--create-tiles", fileglob[0], fileglob[1], fileglob[2]] )