Some bugs fixed, implemented calculation of network moment magnitude.
This commit is contained in:
parent
1a5eed5559
commit
77ad274f8f
31
autoPyLoT.py
31
autoPyLoT.py
@ -6,6 +6,7 @@ import argparse
|
|||||||
import glob
|
import glob
|
||||||
import subprocess
|
import subprocess
|
||||||
import string
|
import string
|
||||||
|
import numpy as np
|
||||||
from obspy.core import read, UTCDateTime
|
from obspy.core import read, UTCDateTime
|
||||||
from pylot.core.read.data import Data
|
from pylot.core.read.data import Data
|
||||||
from pylot.core.read.inputs import AutoPickParameter
|
from pylot.core.read.inputs import AutoPickParameter
|
||||||
@ -161,6 +162,8 @@ def autoPyLoT(inputfile):
|
|||||||
picks = iteratepicker(wfdat, nllocfile, picks, badpicks, parameter)
|
picks = iteratepicker(wfdat, nllocfile, picks, badpicks, parameter)
|
||||||
# write phases to NLLoc-phase file
|
# write phases to NLLoc-phase file
|
||||||
picksExport(picks, 'NLLoc', phasefile)
|
picksExport(picks, 'NLLoc', phasefile)
|
||||||
|
# remove actual NLLoc-location file to keep only the last
|
||||||
|
os.remove(nllocfile)
|
||||||
# locate the event
|
# locate the event
|
||||||
locate(nlloccall, ctrfile)
|
locate(nlloccall, ctrfile)
|
||||||
print("autoPyLoT: Iteration No. %d finished." % nlloccounter)
|
print("autoPyLoT: Iteration No. %d finished." % nlloccounter)
|
||||||
@ -181,13 +184,23 @@ def autoPyLoT(inputfile):
|
|||||||
finalpicks = M0Mw(wfdat, None, None, parameter.getParam('iplot'), \
|
finalpicks = M0Mw(wfdat, None, None, parameter.getParam('iplot'), \
|
||||||
nllocfile, picks, parameter.getParam('rho'), \
|
nllocfile, picks, parameter.getParam('rho'), \
|
||||||
parameter.getParam('vp'), parameter.getParam('invdir'))
|
parameter.getParam('vp'), parameter.getParam('invdir'))
|
||||||
|
# get network moment magntiude
|
||||||
|
netMw = []
|
||||||
|
for key in finalpicks.getpicdic():
|
||||||
|
if finalpicks.getpicdic()[key]['P']['Mw'] is not None:
|
||||||
|
netMw.append(finalpicks.getpicdic()[key]['P']['Mw'])
|
||||||
|
netMw = np.median(netMw)
|
||||||
|
print("Network moment magnitude: %4.1f" % netMw)
|
||||||
else:
|
else:
|
||||||
print("autoPyLoT: No NLLoc-location file available! Stop iteration!")
|
print("autoPyLoT: No NLLoc-location file available! Stop iteration!")
|
||||||
##########################################################
|
##########################################################
|
||||||
# write phase files for various location routines
|
# write phase files for various location routines
|
||||||
# HYPO71
|
# HYPO71
|
||||||
hypo71file = '%s/%s/autoPyLoT_HYPO71.pha' % (datapath, evID)
|
hypo71file = '%s/autoPyLoT_HYPO71.pha' % event
|
||||||
writephases(finalpicks.getpicdic(), 'HYPO71', hypo71file)
|
if finalpicks.getpicdic() is not None:
|
||||||
|
writephases(finalpicks.getpicdic(), 'HYPO71', hypo71file)
|
||||||
|
else:
|
||||||
|
writephases(picks, 'HYPO71', hypo71file)
|
||||||
|
|
||||||
endsplash = '''------------------------------------------\n'
|
endsplash = '''------------------------------------------\n'
|
||||||
-----Finished event %s!-----\n'
|
-----Finished event %s!-----\n'
|
||||||
@ -260,6 +273,8 @@ def autoPyLoT(inputfile):
|
|||||||
picks = iteratepicker(wfdat, nllocfile, picks, badpicks, parameter)
|
picks = iteratepicker(wfdat, nllocfile, picks, badpicks, parameter)
|
||||||
# write phases to NLLoc-phase file
|
# write phases to NLLoc-phase file
|
||||||
picksExport(picks, 'NLLoc', phasefile)
|
picksExport(picks, 'NLLoc', phasefile)
|
||||||
|
# remove actual NLLoc-location file to keep only the last
|
||||||
|
os.remove(nllocfile)
|
||||||
# locate the event
|
# locate the event
|
||||||
locate(nlloccall, ctrfile)
|
locate(nlloccall, ctrfile)
|
||||||
print("autoPyLoT: Iteration No. %d finished." % nlloccounter)
|
print("autoPyLoT: Iteration No. %d finished." % nlloccounter)
|
||||||
@ -280,13 +295,23 @@ def autoPyLoT(inputfile):
|
|||||||
finalpicks = M0Mw(wfdat, None, None, parameter.getParam('iplot'), \
|
finalpicks = M0Mw(wfdat, None, None, parameter.getParam('iplot'), \
|
||||||
nllocfile, picks, parameter.getParam('rho'), \
|
nllocfile, picks, parameter.getParam('rho'), \
|
||||||
parameter.getParam('vp'), parameter.getParam('invdir'))
|
parameter.getParam('vp'), parameter.getParam('invdir'))
|
||||||
|
# get network moment magntiude
|
||||||
|
netMw = []
|
||||||
|
for key in finalpicks.getpicdic():
|
||||||
|
if finalpicks.getpicdic()[key]['P']['Mw'] is not None:
|
||||||
|
netMw.append(finalpicks.getpicdic()[key]['P']['Mw'])
|
||||||
|
netMw = np.median(netMw)
|
||||||
|
print("Network moment magnitude: %4.1f" % netMw)
|
||||||
else:
|
else:
|
||||||
print("autoPyLoT: No NLLoc-location file available! Stop iteration!")
|
print("autoPyLoT: No NLLoc-location file available! Stop iteration!")
|
||||||
##########################################################
|
##########################################################
|
||||||
# write phase files for various location routines
|
# write phase files for various location routines
|
||||||
# HYPO71
|
# HYPO71
|
||||||
hypo71file = '%s/%s/autoPyLoT_HYPO71.pha' % (datapath, parameter.getParam('eventID'))
|
hypo71file = '%s/%s/autoPyLoT_HYPO71.pha' % (datapath, parameter.getParam('eventID'))
|
||||||
writephases(finalpicks.getpicdic(), 'HYPO71', hypo71file)
|
if finalpicks.getpicdic() is not None:
|
||||||
|
writephases(finalpicks.getpicdic(), 'HYPO71', hypo71file)
|
||||||
|
else:
|
||||||
|
writephases(picks, 'HYPO71', hypo71file)
|
||||||
|
|
||||||
endsplash = '''------------------------------------------\n'
|
endsplash = '''------------------------------------------\n'
|
||||||
-----Finished event %s!-----\n'
|
-----Finished event %s!-----\n'
|
||||||
|
Loading…
Reference in New Issue
Block a user