diff --git a/pylot/core/io/inputs.py b/pylot/core/io/inputs.py index 431ac731..a200e056 100644 --- a/pylot/core/io/inputs.py +++ b/pylot/core/io/inputs.py @@ -36,7 +36,7 @@ class AutoPickParameter(object): ========== ========== ======================================= ''' - def __init__(self, fnin=None, fnout=None, **kwargs): + def __init__(self, fnin=None, fnout=None, verbosity=0, **kwargs): ''' Initialize parameter object: @@ -60,7 +60,8 @@ class AutoPickParameter(object): parspl = line.split('\t')[:2] parFileCont[parspl[0].strip()] = parspl[1] except IndexError as e: - self._printParameterError(e) + if verbosity > 0: + self._printParameterError(e) inputFile.seek(0) lines = inputFile.readlines() for line in lines: diff --git a/pylot/core/io/phases.py b/pylot/core/io/phases.py index b2c5d4ef..d3a9f1fc 100644 --- a/pylot/core/io/phases.py +++ b/pylot/core/io/phases.py @@ -262,18 +262,23 @@ def picks_from_picksdict(picks): else: pick.polarity = 'undecidable' except KeyError as e: - print(e.message, 'No polarity information found for %s' % phase) + if 'fm' in e.message: # no polarity information found for this phase + pass + else: + raise e picks_list.append(pick) return picks_list -def reassess_pilot_db(root_dir, out_dir=None, fn_param=None): +def reassess_pilot_db(root_dir, out_dir=None, fn_param=None, verbosity=0): import glob evt_list = glob.glob1(root_dir,'e????.???.??') for evt in evt_list: - reassess_pilot_event(root_dir, evt, out_dir, fn_param) + if verbosity > 0: + print('Reassessing event {0}'.format(evt)) + reassess_pilot_event(root_dir, evt, out_dir, fn_param, verbosity) @@ -287,15 +292,17 @@ def reassess_pilot_event(root_dir, event_id, out_dir=None, fn_param=None, verbos import pylot.core.util.defaults as defaults fn_param = defaults.AUTOMATIC_DEFAULTS - default = AutoPickParameter(fn_param) + default = AutoPickParameter(fn_param, verbosity) search_base = os.path.join(root_dir, event_id) phases_file = glob.glob(os.path.join(search_base, 'PHASES.mat')) if not phases_file: return - #print('Opening PILOT phases file: {fn}'.format(fn=phases_file[0])) + if verbosity > 1: + print('Opening PILOT phases file: {fn}'.format(fn=phases_file[0])) picks_dict = picks_from_pilot(phases_file[0]) - #print('Dictionary read from PHASES.mat:\n{0}'.format(picks_dict)) + if verbosity > 0: + print('Dictionary read from PHASES.mat:\n{0}'.format(picks_dict)) datacheck = list() info = None for station in picks_dict.keys(): @@ -314,7 +321,8 @@ def reassess_pilot_event(root_dir, event_id, out_dir=None, fn_param=None, verbos raise ValueError(e.message) except Exception as e: if 'No file matching file pattern:' in e.message: - warnings.warn('no waveform data found for station {station}'.format(station=station), RuntimeWarning) + if verbosity > 0: + warnings.warn('no waveform data found for station {station}'.format(station=station), RuntimeWarning) datacheck.append(fn_pattern + ' (no data)\n') continue else: @@ -348,7 +356,8 @@ def reassess_pilot_event(root_dir, event_id, out_dir=None, fn_param=None, verbos picks_dict[station][phase] = dict(epp=epp, mpp=mpp, lpp=lpp, spe=spe) if datacheck: if info: - print(info + ': {0}'.format(search_base)) + if verbosity > 0: + print(info + ': {0}'.format(search_base)) fncheck = open(os.path.join(search_base, 'datacheck_list'), 'w') fncheck.writelines(datacheck) fncheck.close() diff --git a/scripts/pylot-reasses-pilot-db.py b/scripts/pylot-reasses-pilot-db.py index 5bb4441d..83cdf254 100755 --- a/scripts/pylot-reasses-pilot-db.py +++ b/scripts/pylot-reasses-pilot-db.py @@ -23,11 +23,17 @@ if __name__ == '__main__': 'most cases PILOT database folder)' ) parser.add_argument( - '--output', '-o', type=str, help='path to the output directory', dest='output' + '--output', '-o', type=str, help='path to the output directory', + dest='output' ) parser.add_argument( - '--parameterfile', '-p', type=str, help='full path to the parameterfile', dest='parfile' + '--parameterfile', '-p', type=str, + help='full path to the parameterfile', dest='parfile' + ) + parser.add_argument( + '--verbosity', '-v', action='count', help='increase output verbosity', + default=0, dest='verbosity' ) args = parser.parse_args() - reassess_pilot_db(args.dbroot, args.output, args.parfile) + reassess_pilot_db(args.dbroot, args.output, args.parfile, args.verbosity)