OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
modis_L1A.py
Go to the documentation of this file.
1 #! /usr/bin/env python3
2 import argparse
3 import sys
4 from modis.modis_utils import buildpcf, modis_env
5 import modis.modis_L1A_utils as modisL1A
6 from seadasutils.setupenv import env
7 from shlex import quote
8 
9 if __name__ == "__main__":
10 
11  version = "1.1"
12 
13  # Read commandline options...
14 
15  parser = argparse.ArgumentParser(prog="modis_L1A")
16  parser.add_argument('--version', action='version', version='%(prog)s ' + version)
17  parser.add_argument("filename", nargs='?',
18  help="Input L0 file", metavar="L0FILE")
19  parser.add_argument("-p", "--parfile",
20  help="Parameter file containing program inputs", default=None,metavar="PARFILE")
21  parser.add_argument("-o", "--output",
22  help="Output L1A filename - defaults to '(A|T)YYYYDDDHHMMSS.L1A_LAC'", default=None, metavar="L1AFILE")
23  parser.add_argument("-m", "--mission",
24  help="MODIS mission - A(qua) or T(erra)", metavar="MISSION")
25  parser.add_argument("-s", "--startnudge", type=float,
26  default=0, help="Level-0 start-time offset (seconds)", metavar="STARTNUDGE")
27  parser.add_argument("-e", "--stopnudge", type=float,
28  default=0, help="Level-0 stop-time offset (seconds)", metavar="STOPNUDGE")
29  parser.add_argument("-n", "--nextgranule",
30  help="Next L0 granule (for geolocation of last scan; sets stopnudge=0)", default=None,
31  metavar="NEXT")
32  parser.add_argument("-v", "--verbose", action="store_true",
33  default=False, help="print status messages")
34  parser.add_argument("--log", action="store_true",
35  default=False, help="Save processing log file(s)")
36  parser.add_argument("-d", "--disableL0fix", action="store_false",
37  default=True, help="Disable use of l0fix_modis utility for corrupt packets")
38  parser.add_argument("-t", "--disablerounding", action="store_false",
39  default=True, help="Disable rounding of granule end time to 5-min boundary")
40 
41  args = parser.parse_args()
42 
43  if args.parfile is None and args.filename is None:
44  parser.print_help()
45  sys.exit(1)
46 
47  parfile = None
48  if args.parfile:
49  parfile = quote(args.parfile)
50 
51  outputfile = None
52  if args.output:
53  outputfile = quote(args.output)
54 
55  nextgranule = None
56  if args.nextgranule:
57  nextgranule = quote(args.nextgranule)
58 
59  m = modisL1A.modis_l1a(filename=quote(args.filename),
60  parfile=parfile,
61  l1a=outputfile,
62  nextgranule=nextgranule,
63  startnudge=args.startnudge,
64  stopnudge=args.stopnudge,
65  satellite=args.mission,
66  fix=args.disableL0fix,
67  rounding=args.disablerounding,
68  log=args.log,
69  verbose=args.verbose
70  )
71 
72  env(m)
73  modis_env(m)
74  m.chk()
75  m.l0()
76  buildpcf(m)
77  m.run()
78  sys.exit(0)
def modis_env(self)
Definition: modis_utils.py:227
def buildpcf(self)
Definition: modis_utils.py:17
def env(self)
Definition: setupenv.py:7