[ref #137] removing last bugs before closing feature
This commit is contained in:
parent
060bc1d0c8
commit
ad91504211
18
QtPyLoT.py
18
QtPyLoT.py
@ -35,7 +35,7 @@ from PySide.QtCore import QCoreApplication, QSettings, Signal, QFile, \
|
|||||||
from PySide.QtGui import QMainWindow, QInputDialog, QIcon, QFileDialog, \
|
from PySide.QtGui import QMainWindow, QInputDialog, QIcon, QFileDialog, \
|
||||||
QWidget, QHBoxLayout, QStyle, QKeySequence, QLabel, QFrame, QAction, \
|
QWidget, QHBoxLayout, QStyle, QKeySequence, QLabel, QFrame, QAction, \
|
||||||
QDialog, QErrorMessage, QApplication, QPixmap, QMessageBox, QSplashScreen, \
|
QDialog, QErrorMessage, QApplication, QPixmap, QMessageBox, QSplashScreen, \
|
||||||
QActionGroup, QListWidget, QDockWidget
|
QActionGroup, QListWidget, QDockWidget, QLineEdit
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import subprocess
|
import subprocess
|
||||||
from obspy import UTCDateTime
|
from obspy import UTCDateTime
|
||||||
@ -919,12 +919,24 @@ class MainWindow(QMainWindow):
|
|||||||
infile = ans[0]
|
infile = ans[0]
|
||||||
settings.setValue("{0}/inputFile".format(loctool), infile)
|
settings.setValue("{0}/inputFile".format(loctool), infile)
|
||||||
settings.sync()
|
settings.sync()
|
||||||
outfile = settings.value("{0}/outputFile".format(loctool), None)
|
if loctool == 'nll':
|
||||||
|
ttt = settings.value("{0}/travelTimeTables", None)
|
||||||
|
ok = False
|
||||||
|
if ttt is None:
|
||||||
|
while not ok:
|
||||||
|
text, ok = QInputDialog.getText(self, 'Pattern for travel time tables',
|
||||||
|
'Base name of travel time tables',
|
||||||
|
echo=QLineEdit.Normal,
|
||||||
|
text="ttime")
|
||||||
|
ttt = text
|
||||||
|
|
||||||
|
outfile = settings.value("{0}/outputFile".format(loctool),
|
||||||
|
os.path.split(os.tempnam())[-1])
|
||||||
phasefile = os.path.split(os.tempnam())[-1]
|
phasefile = os.path.split(os.tempnam())[-1]
|
||||||
phasepath = os.path.join(locroot, 'obs', phasefile)
|
phasepath = os.path.join(locroot, 'obs', phasefile)
|
||||||
locpath = os.path.join(locroot, 'loc', outfile)
|
locpath = os.path.join(locroot, 'loc', outfile)
|
||||||
lt.export(self.getPicks(), phasepath)
|
lt.export(self.getPicks(), phasepath)
|
||||||
lt.modify_inputs(infile, locroot, outfile, phasefile, )
|
lt.modify_inputs(infile, locroot, outfile, phasefile, ttt)
|
||||||
try:
|
try:
|
||||||
lt.locate(infile)
|
lt.locate(infile)
|
||||||
except RuntimeError as e:
|
except RuntimeError as e:
|
||||||
|
@ -117,7 +117,7 @@ def picksdict_from_pilot(fn):
|
|||||||
except IndexError as e:
|
except IndexError as e:
|
||||||
print(e.message + '\ntake two times the largest default error value')
|
print(e.message + '\ntake two times the largest default error value')
|
||||||
spe = timeerrors[onset_name][-1] * 2
|
spe = timeerrors[onset_name][-1] * 2
|
||||||
phases[onset_name] = dict(mpp=pick, spe=spe)
|
phases[onset_name] = dict(mpp=pick, spe=spe, weight=ierror)
|
||||||
picks[station] = phases
|
picks[station] = phases
|
||||||
|
|
||||||
return picks
|
return picks
|
||||||
@ -395,7 +395,11 @@ def writephases(arrivals, fformat, filename):
|
|||||||
for key in arrivals:
|
for key in arrivals:
|
||||||
# P onsets
|
# P onsets
|
||||||
if arrivals[key]['P']:
|
if arrivals[key]['P']:
|
||||||
|
try:
|
||||||
fm = arrivals[key]['P']['fm']
|
fm = arrivals[key]['P']['fm']
|
||||||
|
except KeyError as e:
|
||||||
|
print(e)
|
||||||
|
fm = None
|
||||||
if fm == None:
|
if fm == None:
|
||||||
fm = '?'
|
fm = '?'
|
||||||
onset = arrivals[key]['P']['mpp']
|
onset = arrivals[key]['P']['mpp']
|
||||||
@ -407,10 +411,12 @@ def writephases(arrivals, fformat, filename):
|
|||||||
ss = onset.second
|
ss = onset.second
|
||||||
ms = onset.microsecond
|
ms = onset.microsecond
|
||||||
ss_ms = ss + ms / 1000000.0
|
ss_ms = ss + ms / 1000000.0
|
||||||
if arrivals[key]['P']['weight'] < 4:
|
|
||||||
pweight = 1 # use pick
|
pweight = 1 # use pick
|
||||||
else:
|
try:
|
||||||
|
if arrivals[key]['P']['weight'] >= 4:
|
||||||
pweight = 0 # do not use pick
|
pweight = 0 # do not use pick
|
||||||
|
except KeyError as e:
|
||||||
|
print(e.message + '; no weight set during processing')
|
||||||
fid.write('%s ? ? ? P %s %d%02d%02d %02d%02d %7.4f GAU 0 0 0 0 %d \n' % (key,
|
fid.write('%s ? ? ? P %s %d%02d%02d %02d%02d %7.4f GAU 0 0 0 0 %d \n' % (key,
|
||||||
fm,
|
fm,
|
||||||
year,
|
year,
|
||||||
@ -421,7 +427,7 @@ def writephases(arrivals, fformat, filename):
|
|||||||
ss_ms,
|
ss_ms,
|
||||||
pweight))
|
pweight))
|
||||||
# S onsets
|
# S onsets
|
||||||
if arrivals[key]['S']:
|
if arrivals[key].has_key('S') and arrivals[key]['S']:
|
||||||
fm = '?'
|
fm = '?'
|
||||||
onset = arrivals[key]['S']['mpp']
|
onset = arrivals[key]['S']['mpp']
|
||||||
year = onset.year
|
year = onset.year
|
||||||
@ -432,10 +438,12 @@ def writephases(arrivals, fformat, filename):
|
|||||||
ss = onset.second
|
ss = onset.second
|
||||||
ms = onset.microsecond
|
ms = onset.microsecond
|
||||||
ss_ms = ss + ms / 1000000.0
|
ss_ms = ss + ms / 1000000.0
|
||||||
if arrivals[key]['S']['weight'] < 4:
|
|
||||||
sweight = 1 # use pick
|
sweight = 1 # use pick
|
||||||
else:
|
try:
|
||||||
|
if arrivals[key]['S']['weight'] >= 4:
|
||||||
sweight = 0 # do not use pick
|
sweight = 0 # do not use pick
|
||||||
|
except KeyError as e:
|
||||||
|
print(str(e) + '; no weight set during processing')
|
||||||
fid.write('%s ? ? ? S %s %d%02d%02d %02d%02d %7.4f GAU 0 0 0 0 %d \n' % (key,
|
fid.write('%s ? ? ? S %s %d%02d%02d %02d%02d %7.4f GAU 0 0 0 0 %d \n' % (key,
|
||||||
fm,
|
fm,
|
||||||
year,
|
year,
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import os
|
import os
|
||||||
|
import glob
|
||||||
from obspy import read_events
|
from obspy import read_events
|
||||||
from pylot.core.io.phases import writephases
|
from pylot.core.io.phases import writephases
|
||||||
from pylot.core.util.utils import getPatternLine, runProgram, which
|
from pylot.core.util.utils import getPatternLine, runProgram, which
|
||||||
@ -85,7 +86,12 @@ def locate(fnin):
|
|||||||
raise RuntimeError(e.output)
|
raise RuntimeError(e.output)
|
||||||
|
|
||||||
|
|
||||||
def readLocation(fn):
|
def read_location(fn):
|
||||||
|
path, file = os.path.split(fn)
|
||||||
|
file = glob.glob1(path, file + '.[0-9]*.grid0.loc.hyp')
|
||||||
|
if len(file) > 1:
|
||||||
|
raise IOError('ambiguous location name {0}'.format(file))
|
||||||
|
fn = os.path.join(path, file[0])
|
||||||
return read_events(fn)
|
return read_events(fn)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user