Something went wrong on our end
-
Nick Bearson authoredNick Bearson authored
_glm_trio_picker.py 2.24 KiB
#!/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-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-sector", "full",
"--create-tiles",
fileglob[0], fileglob[1], fileglob[2]]
)