diff --git a/PyLoT.py b/PyLoT.py index db6856b6..d260b4e9 100755 --- a/PyLoT.py +++ b/PyLoT.py @@ -25,6 +25,7 @@ https://www.iconfinder.com/iconsets/flavour import argparse import json +import logging import os import platform import shutil @@ -113,11 +114,7 @@ class MainWindow(QMainWindow): def __init__(self, parent=None, infile=None, reset_qsettings=False): super(MainWindow, self).__init__(parent) - # check for default pylot.in-file - if not infile: - infile = os.path.join(os.path.expanduser('~'), '.pylot', 'pylot.in') - print('Using default input file {}'.format(infile)) - if os.path.isfile(infile) is False: + if infile and os.path.isfile(infile) is False: infile = QFileDialog().getOpenFileName(caption='Choose PyLoT-input file')[0] if not os.path.exists(infile): @@ -253,7 +250,7 @@ class MainWindow(QMainWindow): self._inputs.reset_defaults() # check for default pylot.in-file infile = os.path.join(pylot_config_dir, '.pylot.in') - print('Using default input file {}'.format(infile)) + logging.warning('Using default input file {}'.format(infile)) self._inputs.export2File(infile) self.infile = infile diff --git a/autoPyLoT.py b/autoPyLoT.py index 0a801286..506025c5 100755 --- a/autoPyLoT.py +++ b/autoPyLoT.py @@ -119,13 +119,9 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even obspyDMT_wfpath = input_dict['obspyDMT_wfpath'] if not parameter: - if inputfile: - parameter = PylotParameter(inputfile) - # iplot = parameter['iplot'] - else: - infile = os.path.join(os.path.expanduser('~'), '.pylot', 'pylot.in') - print('Using default input file {}'.format(infile)) - parameter = PylotParameter(infile) + if not inputfile: + print('Using default input parameter') + parameter = PylotParameter(inputfile) else: if not type(parameter) == PylotParameter: print('Wrong input type for parameter: {}'.format(type(parameter))) diff --git a/pylot/core/io/data.py b/pylot/core/io/data.py index b085d181..16107ace 100644 --- a/pylot/core/io/data.py +++ b/pylot/core/io/data.py @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- import copy +import logging import os from PySide2.QtWidgets import QMessageBox @@ -408,18 +409,16 @@ class Data(object): not implemented: {1}'''.format(evtformat, e)) if fnext == '_focmec.in': try: - infile = os.path.join(os.path.expanduser('~'), '.pylot', 'pylot.in') - print('Using default input file {}'.format(infile)) - parameter = PylotParameter(infile) + parameter = PylotParameter() + logging.warning('Using default input parameter') focmec.export(picks_copy, fnout + fnext, parameter, eventinfo=self.get_evt_data()) except KeyError as e: raise KeyError('''{0} export format not implemented: {1}'''.format(evtformat, e)) if fnext == '.pha': try: - infile = os.path.join(os.path.expanduser('~'), '.pylot', 'pylot.in') - print('Using default input file {}'.format(infile)) - parameter = PylotParameter(infile) + parameter = PylotParameter() + logging.warning('Using default input parameter') hypodd.export(picks_copy, fnout + fnext, parameter, eventinfo=self.get_evt_data()) except KeyError as e: raise KeyError('''{0} export format diff --git a/pylot/core/io/phases.py b/pylot/core/io/phases.py index 34dd1677..3c50d131 100644 --- a/pylot/core/io/phases.py +++ b/pylot/core/io/phases.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- import glob +import logging import os import warnings @@ -217,7 +218,7 @@ def picksdict_from_obs(fn): return picks -def picksdict_from_picks(evt): +def picksdict_from_picks(evt, parameter=None): """ Takes an Event object and return the pick dictionary commonly used within PyLoT @@ -230,6 +231,7 @@ def picksdict_from_picks(evt): 'auto': {} } for pick in evt.picks: + errors = None phase = {} station = pick.waveform_id.station_code if pick.waveform_id.channel_code is None: @@ -273,32 +275,28 @@ def picksdict_from_picks(evt): phase['epp'] = epp phase['lpp'] = lpp phase['spe'] = spe - try: - phase['weight'] = weight - except: - # get onset weight from uncertainty - infile = os.path.join(os.path.expanduser('~'), '.pylot', 'pylot.in') - print('Using default input file {}'.format(infile)) - parameter = PylotParameter(infile) + weight = phase.get('weight') + if not weight: + if not parameter: + logging.warning('Using ') + logging.warning('Using default input parameter') + parameter = PylotParameter() pick.phase_hint = identifyPhase(pick.phase_hint) if pick.phase_hint == 'P': errors = parameter['timeerrorsP'] elif pick.phase_hint == 'S': errors = parameter['timeerrorsS'] - weight = get_quality_class(spe, errors) - phase['weight'] = weight + if errors: + weight = get_quality_class(spe, errors) + phase['weight'] = weight phase['channel'] = channel phase['network'] = network phase['picker'] = pick_method - try: - if pick.polarity == 'positive': - phase['fm'] = 'U' - elif pick.polarity == 'negative': - phase['fm'] = 'D' - else: - phase['fm'] = 'N' - except: - print("No FM info available!") + if pick.polarity == 'positive': + phase['fm'] = 'U' + elif pick.polarity == 'negative': + phase['fm'] = 'D' + else: phase['fm'] = 'N' phase['filter_id'] = filter_id if filter_id is not None else ''