def main(): from seiscomp3 import Logging Logging.enableConsoleLogging(Logging.getGlobalChannel("debug")) Logging.enableConsoleLogging(Logging.getGlobalChannel("info")) Logging.enableConsoleLogging(Logging.getGlobalChannel("warning")) Logging.enableConsoleLogging(Logging.getGlobalChannel("error")) parser = OptionParser(usage="usage: %prog -n <nrt_directory> -a <cur_arch_directory> -i <iso_directory>") parser.add_option("-n", "--nrtdir", type="string", dest="nrtdir", help="nrt directory") parser.add_option("-a", "--archdir", type="string", dest="archdir", help="current archive directory") parser.add_option("-i", "--isodir", type="string", dest="isodir", help="iso archive directory") (options, args) = parser.parse_args() if options.nrtdir is None: parser.error("Error: nrt directory not specified!") if options.archdir is None: parser.error("Error: sds archive directory not specified!") if options.isodir is None: parser.error("Error: iso archive directory not specified!") sdsobj = SDS(options.nrtdir,options.archdir,options.isodir) reqlist = [(datetime.datetime(2005,12,20,16,50,0),datetime.datetime(2006,1,30,2,8,0),"WM","EMAL","BHZ","")] count = 0 for req in reqlist: count += 1 print count,". request" data = sdsobj.getwin(*req) if data is not None: print "data_%d" % count fh = file("data_%d" % count,"w") fh.write(data) fh.close() else: print "No data available"
def main(): from seiscomp3 import Logging Logging.enableConsoleLogging(Logging.getGlobalChannel("debug")) Logging.enableConsoleLogging(Logging.getGlobalChannel("info")) Logging.enableConsoleLogging(Logging.getGlobalChannel("warning")) Logging.enableConsoleLogging(Logging.getGlobalChannel("error")) parser = OptionParser( usage= "usage: %prog -n <nrt_directory> -a <cur_arch_directory> -i <iso_directory>" ) parser.add_option("-n", "--nrtdir", type="string", dest="nrtdir", help="nrt directory") parser.add_option("-a", "--archdir", type="string", dest="archdir", help="current archive directory") parser.add_option("-i", "--isodir", type="string", dest="isodir", help="iso archive directory") (options, args) = parser.parse_args() if options.nrtdir == None: parser.error("Error: nrt directory not specified!") if options.archdir == None: parser.error("Error: sds archive directory not specified!") if options.isodir == None: parser.error("Error: iso archive directory not specified!") sdsobj = SDS(options.nrtdir, options.archdir, options.isodir) reqlist = [(datetime.datetime(2005, 12, 20, 16, 50, 0), datetime.datetime(2006, 1, 30, 2, 8, 0), "WM", "EMAL", "BHZ", "")] count = 0 for req in reqlist: count += 1 print count, ". request" data = sdsobj.getwin(*req) if data != None: print "data_%d" % count fh = file("data_%d" % count, "w") fh.write(data) fh.close() else: print "No data available"
def process_options(): parser = OptionParser(usage="usage: %prog [options]", version="%prog v" + VERSION) parser.set_defaults(address = "webdc.eu:18001", proxyport = 18001, organization = "proxy", dcid = "GFZ", max_sessions = 500, max_queued = 500, max_queued_per_user = 10, max_executing = 10, max_lines = 5000, max_age = 860000, socket_timeout = 300, request_timeout = 300, download_retries = 5, proxychain = False, local = False) parser.add_option("-a", "--address", type="string", dest="address", help="address of primary ArcLink node (default %default)") parser.add_option("-P", "--proxyport", type="int", dest="proxyport", help="proxy port (default %default)") parser.add_option("-O", "--organization", type="string", dest="organization", help="organization name (default %default)") parser.add_option("-d", "--dcid", type="string", dest="dcid", help="datacenter ID (default %default)") parser.add_option("-S", "--max-sessions", type="int", dest="max_sessions", help="maximum number of sessions (default %default)") parser.add_option("-Q", "--max-queued", type="int", dest="max_queued", help="maximum number of queued requests (default %default)") parser.add_option("-U", "--max-queued-per-user", type="int", dest="max_queued_per_user", help="maximum number of queued requests (default %default)") parser.add_option("-X", "--max-executing", type="int", dest="max_executing", help="maximum number of requests executed in parallel (default %default)") parser.add_option("-L", "--max-lines", type="int", dest="max_lines", help="maximum number of lines in request (default %default)") parser.add_option("-T", "--max-age", type="int", dest="max_age", help="maximum age of request (default %default)") parser.add_option("-t", "--socket-timeout", type="int", dest="socket_timeout", help="socket timeout in seconds (default %default)") #parser.add_option("-r, "--request-timeout", type="int", dest="request_timeout", # help="request timeout in seconds (default %default)") parser.add_option("-R", "--download-retries", type="int", dest="download_retries", help="download retries (default %default)") parser.add_option("-N", "--nrtdir", type="string", dest="nrtdir", help="NRT SDS directory (default %default)") parser.add_option("-A", "--arcdir", type="string", dest="arcdir", help="SDS archive directory (default %default)") parser.add_option("-I", "--isodir", type="string", dest="isodir", help="ISO archive directory (default %default)") parser.add_option("-p", "--disable-routing", action="store_true", dest="proxychain", help="disable routing") parser.add_option("-l", "--local-only", action="store_true", dest="local", help="use local SDS only") parser.add_option("-x", "--state-file", type="string", dest="state_file", help="save/restore request information to this file") parser.add_option("-v", action="callback", callback=add_verbosity, help="increase verbosity level") parser.add_option("-q", action="callback", callback=add_quietness, help="decrease verbosity level") global g_options (g_options, args) = parser.parse_args() if args: parser.error("incorrect number of arguments") if g_options.nrtdir is None: g_options.nrtdir = os.getenv("SEISCOMP_ROOT", "") + "/var/lib/archive" if g_options.arcdir is None: g_options.arcdir = "/dummy" if g_options.isodir is None: g_options.isodir = "/dummy" if g_verbosity > 1: Logging.enableConsoleLogging(Logging.getGlobalChannel("debug")) Logging.enableConsoleLogging(Logging.getGlobalChannel("info")) Logging.enableConsoleLogging(Logging.getGlobalChannel("notice")) Logging.enableConsoleLogging(Logging.getGlobalChannel("warning")) Logging.enableConsoleLogging(Logging.getGlobalChannel("error"))
def init(self): """ SC3 specific method. Returning False means that we do not enter the SeisComP3 run loop. """ if Application.init(self) == False: return False result: Optional[model.WPhaseResult] = None Logging.enableConsoleLogging(Logging.getGlobalChannel("error")) wphase_failed = False if self.filename is not None: # Output JSON was provided, so we just send it to messaging. logger.info("Parsing W-Phase result from file.") result = model.WPhaseResult.parse_file(self.filename) else: # Run the inversion. try: logger.info("Starting W-Phase.") result = runwphase( output_dir=self.output, server=self.fdsn_client, eqinfo=self.eqinfo, networks=self.networks, make_maps=self.make_maps, output_dir_can_exist=self.overwrite, save_waveforms=self.save_waveforms, save_inventory=self.save_inventory, waveforms=self.waveforms, inventory=self.inventory, ) except Exception: logger.exception("W-Phase run failed.") wphase_failed = True if result is not None: try: objs = createAndSendObjects(result, self.connection(), evid=self.evid, agency=self.agency) except Exception: logger.exception("Failed to create objects for SC3.") else: filename = os.path.join(str(self.output), "sc3.xml") try: # write output to file writeSCML(filename, objs) logger.info("Stored results in SCML as %s", filename) except Exception: logger.exception("Failed to write SCML to %s.", filename) if self.write_s3: # We always want to write to S3, even in the event of failure as # the JSON output may explain the failure. We also want to do it # at the very end since we keep the sc3 log file. try: from wphase.aws import write_to_s3 write_to_s3(self.output, self.bucket_name, self.evid, self.resultid, [(self._logfile_for_s3.name, 'sc3.log')], logger.error) except Exception as e: logger.error('failed write to S3: %s', e) finally: self._logfile_for_s3.close() if self.notificationemail: # must be done after writing to S3 success = result is not None and result.MomentTensor is not None subject, body = self.createEmail( event_id=self.evid, result_id=self.resultid, result=result, call_succeeded=success, ) send_email( recipients=self.notificationemail, subject=self.email_subject_prefix + str(subject) + self.email_subject_postfix, message=body, from_email=self.fromemail, method=self.email_method, email_aws_region=self.email_aws_region, server=self.smtp_server, port=self.smtp_port, user=self.smtp_user, password=self.smtp_password, ssl=self.smtp_ssl, tls=self.smtp_tls, ) sys.exit(1 if wphase_failed else 0)
def process_options(): parser = OptionParser(usage="usage: %prog [options]", version="%prog v" + VERSION) parser.set_defaults(address="webdc.eu:18001", proxyport=18001, organization="proxy", dcid="GFZ", max_sessions=500, max_queued=500, max_queued_per_user=10, max_executing=10, max_lines=5000, max_age=860000, socket_timeout=300, request_timeout=300, download_retries=5, proxychain=False, local=False) parser.add_option( "-a", "--address", type="string", dest="address", help="address of primary ArcLink node (default %default)") parser.add_option("-P", "--proxyport", type="int", dest="proxyport", help="proxy port (default %default)") parser.add_option("-O", "--organization", type="string", dest="organization", help="organization name (default %default)") parser.add_option("-d", "--dcid", type="string", dest="dcid", help="datacenter ID (default %default)") parser.add_option("-S", "--max-sessions", type="int", dest="max_sessions", help="maximum number of sessions (default %default)") parser.add_option( "-Q", "--max-queued", type="int", dest="max_queued", help="maximum number of queued requests (default %default)") parser.add_option( "-U", "--max-queued-per-user", type="int", dest="max_queued_per_user", help="maximum number of queued requests (default %default)") parser.add_option( "-X", "--max-executing", type="int", dest="max_executing", help= "maximum number of requests executed in parallel (default %default)") parser.add_option( "-L", "--max-lines", type="int", dest="max_lines", help="maximum number of lines in request (default %default)") parser.add_option("-T", "--max-age", type="int", dest="max_age", help="maximum age of request (default %default)") parser.add_option("-t", "--socket-timeout", type="int", dest="socket_timeout", help="socket timeout in seconds (default %default)") #parser.add_option("-r, "--request-timeout", type="int", dest="request_timeout", # help="request timeout in seconds (default %default)") parser.add_option("-R", "--download-retries", type="int", dest="download_retries", help="download retries (default %default)") parser.add_option("-N", "--nrtdir", type="string", dest="nrtdir", help="NRT SDS directory (default %default)") parser.add_option("-A", "--arcdir", type="string", dest="arcdir", help="SDS archive directory (default %default)") parser.add_option("-I", "--isodir", type="string", dest="isodir", help="ISO archive directory (default %default)") parser.add_option("-p", "--disable-routing", action="store_true", dest="proxychain", help="disable routing") parser.add_option("-l", "--local-only", action="store_true", dest="local", help="use local SDS only") parser.add_option("-x", "--state-file", type="string", dest="state_file", help="save/restore request information to this file") parser.add_option("-v", action="callback", callback=add_verbosity, help="increase verbosity level") parser.add_option("-q", action="callback", callback=add_quietness, help="decrease verbosity level") global g_options (g_options, args) = parser.parse_args() if args: parser.error("incorrect number of arguments") if g_options.nrtdir is None: g_options.nrtdir = os.getenv("SEISCOMP_ROOT", "") + "/var/lib/archive" if g_options.arcdir is None: g_options.arcdir = "/dummy" if g_options.isodir is None: g_options.isodir = "/dummy" if g_verbosity > 1: Logging.enableConsoleLogging(Logging.getGlobalChannel("debug")) Logging.enableConsoleLogging(Logging.getGlobalChannel("info")) Logging.enableConsoleLogging(Logging.getGlobalChannel("notice")) Logging.enableConsoleLogging(Logging.getGlobalChannel("warning")) Logging.enableConsoleLogging(Logging.getGlobalChannel("error"))