[bugfix] make uncertainties from autoPyLoT may be corrupted
consequently there is minimum uncertainty gap between mpp and lpp/epp
This commit is contained in:
parent
4a9c02e1d1
commit
6181829ef6
@ -494,6 +494,7 @@ def autopickstation(wfstream, pickparam, verbose=False):
|
|||||||
[epickS1, lpickS1, Serror1] = earllatepicker(h_copy, nfacS,
|
[epickS1, lpickS1, Serror1] = earllatepicker(h_copy, nfacS,
|
||||||
tsnrh,
|
tsnrh,
|
||||||
mpickS, iplot)
|
mpickS, iplot)
|
||||||
|
|
||||||
h_copy[0].data = trH2_filt.data
|
h_copy[0].data = trH2_filt.data
|
||||||
[epickS2, lpickS2, Serror2] = earllatepicker(h_copy, nfacS,
|
[epickS2, lpickS2, Serror2] = earllatepicker(h_copy, nfacS,
|
||||||
tsnrh,
|
tsnrh,
|
||||||
@ -773,6 +774,10 @@ def autopickstation(wfstream, pickparam, verbose=False):
|
|||||||
plt.close()
|
plt.close()
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# calculate "real" onset times
|
# calculate "real" onset times
|
||||||
|
if lpickP is not None and lpickP == mpickP:
|
||||||
|
lpickP += timeerrorsP[0]
|
||||||
|
if epickP is not None and epickP == mpickP:
|
||||||
|
epickP -= timeerrorsP[0]
|
||||||
if mpickP is not None and epickP is not None and lpickP is not None:
|
if mpickP is not None and epickP is not None and lpickP is not None:
|
||||||
lpickP = zdat[0].stats.starttime + lpickP
|
lpickP = zdat[0].stats.starttime + lpickP
|
||||||
epickP = zdat[0].stats.starttime + epickP
|
epickP = zdat[0].stats.starttime + epickP
|
||||||
@ -780,10 +785,14 @@ def autopickstation(wfstream, pickparam, verbose=False):
|
|||||||
else:
|
else:
|
||||||
# dummy values (start of seismic trace) in order to derive
|
# dummy values (start of seismic trace) in order to derive
|
||||||
# theoretical onset times for iteratve picking
|
# theoretical onset times for iteratve picking
|
||||||
lpickP = zdat[0].stats.starttime
|
lpickP = zdat[0].stats.starttime + timeerrorsP[3]
|
||||||
epickP = zdat[0].stats.starttime
|
epickP = zdat[0].stats.starttime - timeerrorsP[3]
|
||||||
mpickP = zdat[0].stats.starttime
|
mpickP = zdat[0].stats.starttime
|
||||||
|
|
||||||
|
if lpickS is not None and lpickS == mpickS:
|
||||||
|
lpickS += timeerrorsS[0]
|
||||||
|
if epickS is not None and epickS == mpickS:
|
||||||
|
epickS -= timeerrorsS[0]
|
||||||
if mpickS is not None and epickS is not None and lpickS is not None:
|
if mpickS is not None and epickS is not None and lpickS is not None:
|
||||||
lpickS = edat[0].stats.starttime + lpickS
|
lpickS = edat[0].stats.starttime + lpickS
|
||||||
epickS = edat[0].stats.starttime + epickS
|
epickS = edat[0].stats.starttime + epickS
|
||||||
@ -791,8 +800,8 @@ def autopickstation(wfstream, pickparam, verbose=False):
|
|||||||
else:
|
else:
|
||||||
# dummy values (start of seismic trace) in order to derive
|
# dummy values (start of seismic trace) in order to derive
|
||||||
# theoretical onset times for iteratve picking
|
# theoretical onset times for iteratve picking
|
||||||
lpickS = edat[0].stats.starttime
|
lpickS = edat[0].stats.starttime + timeerrorsS[3]
|
||||||
epickS = edat[0].stats.starttime
|
epickS = edat[0].stats.starttime - timeerrorsS[3]
|
||||||
mpickS = edat[0].stats.starttime
|
mpickS = edat[0].stats.starttime
|
||||||
|
|
||||||
# create dictionary
|
# create dictionary
|
||||||
|
Loading…
Reference in New Issue
Block a user