Merge branch 'develop' of ariadne:/data/git/pylot into develop
This commit is contained in:
		
						commit
						27e425844a
					
				
							
								
								
									
										17
									
								
								autoPyLoT.py
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								autoPyLoT.py
									
									
									
									
									
								
							| @ -346,7 +346,8 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even | |||||||
|                             picks[stats]['P'].update(props) |                             picks[stats]['P'].update(props) | ||||||
|                         evt = moment_mag.updated_event() |                         evt = moment_mag.updated_event() | ||||||
|                         net_mw = moment_mag.net_magnitude() |                         net_mw = moment_mag.net_magnitude() | ||||||
|                         print("Network moment magnitude: %4.1f" % net_mw.mag) |                         if net_mw is not None: | ||||||
|  |                             print("Network moment magnitude: %4.1f" % net_mw.mag) | ||||||
|                         # calculate local (Richter) magntiude |                         # calculate local (Richter) magntiude | ||||||
|                         WAscaling = parameter.get('WAscaling') |                         WAscaling = parameter.get('WAscaling') | ||||||
|                         magscaling = parameter.get('magscaling') |                         magscaling = parameter.get('magscaling') | ||||||
| @ -363,8 +364,15 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even | |||||||
|                         evt = local_mag.updated_event(magscaling) |                         evt = local_mag.updated_event(magscaling) | ||||||
|                         net_ml = local_mag.net_magnitude(magscaling) |                         net_ml = local_mag.net_magnitude(magscaling) | ||||||
|                         print("Network local magnitude: %4.1f" % net_ml.mag) |                         print("Network local magnitude: %4.1f" % net_ml.mag) | ||||||
|                         print("Network local magnitude scaled with:") |                         if magscaling == None: | ||||||
|                         print("%f * Ml + %f" % (magscaling[0], magscaling[1])) |                             scaling = False | ||||||
|  |                         elif magscaling[0] != 0 and magscaling[1] != 0: | ||||||
|  |                             scaling = False | ||||||
|  |                         else: | ||||||
|  |                             scaling = True | ||||||
|  |                         if scaling: | ||||||
|  |                             print("Network local magnitude scaled with:") | ||||||
|  |                             print("%f * Ml + %f" % (magscaling[0], magscaling[1])) | ||||||
|                     else: |                     else: | ||||||
|                         print("autoPyLoT: No NLLoc-location file available!") |                         print("autoPyLoT: No NLLoc-location file available!") | ||||||
|                         print("No source parameter estimation possible!") |                         print("No source parameter estimation possible!") | ||||||
| @ -421,7 +429,8 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even | |||||||
|                                     picks[stats]['P'].update(props) |                                     picks[stats]['P'].update(props) | ||||||
|                             evt = moment_mag.updated_event() |                             evt = moment_mag.updated_event() | ||||||
|                             net_mw = moment_mag.net_magnitude() |                             net_mw = moment_mag.net_magnitude() | ||||||
|                             print("Network moment magnitude: %4.1f" % net_mw.mag) |                             if net_mw is not None: | ||||||
|  |                                 print("Network moment magnitude: %4.1f" % net_mw.mag) | ||||||
|                             # calculate local (Richter) magntiude |                             # calculate local (Richter) magntiude | ||||||
|                             WAscaling = parameter.get('WAscaling') |                             WAscaling = parameter.get('WAscaling') | ||||||
|                             magscaling = parameter.get('magscaling') |                             magscaling = parameter.get('magscaling') | ||||||
|  | |||||||
| @ -4,19 +4,19 @@ | |||||||
| %Parameters are optimized for %extent data sets! | %Parameters are optimized for %extent data sets! | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| #main settings# | #main settings# | ||||||
|                                                    #rootpath#       %project path                                                                                         | /DATA/Insheim                                      #rootpath#       %project path                                                                                         | ||||||
|                                                    #datapath#       %data path                                                                                            | EVENT_DATA/LOCAL                                   #datapath#       %data path                                                                                            | ||||||
|                                                    #database#       %name of data base                                                                                    | 2018.02_Insheim                                    #database#       %name of data base                                                                                    | ||||||
|                                                    #eventID#        %event ID for single event processing (* for all events found in database)                            | e0006.038.18                                       #eventID#        %event ID for single event processing (* for all events found in database)                            | ||||||
|                                                    #invdir#         %full path to  inventory or dataless-seed file                                                        | /DATA/Insheim/STAT_INFO                            #invdir#         %full path to  inventory or dataless-seed file                                                        | ||||||
| PILOT                                              #datastructure#  %choose data structure                                                                                | PILOT                                              #datastructure#  %choose data structure                                                                                | ||||||
| True                                               #apverbose#      %choose 'True' or 'False' for terminal output                                                         | True                                               #apverbose#      %choose 'True' or 'False' for terminal output                                                         | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| #NLLoc settings# | #NLLoc settings# | ||||||
| None                                               #nllocbin#       %path to NLLoc executable                                                                             | /home/ludger/NLLOC                                 #nllocbin#       %path to NLLoc executable                                                                             | ||||||
| None                                               #nllocroot#      %root of NLLoc-processing directory                                                                   | /home/ludger/NLLOC/Insheim                         #nllocroot#      %root of NLLoc-processing directory                                                                   | ||||||
| None                                               #phasefile#      %name of autoPyLoT-output phase file for NLLoc                                                        | AUTOPHASES.obs                                     #phasefile#      %name of autoPyLoT-output phase file for NLLoc                                                        | ||||||
| None                                               #ctrfile#        %name of autoPyLoT-output control file for NLLoc                                                      | Insheim_min1d032016_auto.in                        #ctrfile#        %name of autoPyLoT-output control file for NLLoc                                                      | ||||||
| ttime                                              #ttpatter#       %pattern of NLLoc ttimes from grid                                                                    | ttime                                              #ttpatter#       %pattern of NLLoc ttimes from grid                                                                    | ||||||
| AUTOLOC_nlloc                                      #outpatter#      %pattern of NLLoc-output file                                                                         | AUTOLOC_nlloc                                      #outpatter#      %pattern of NLLoc-output file                                                                         | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| @ -27,31 +27,31 @@ AUTOLOC_nlloc                                      #outpatter#      %pattern of | |||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| #settings local magnitude# | #settings local magnitude# | ||||||
| 1.11 0.0009 -2.0                                   #WAscaling#      %Scaling relation (log(Ao)+Alog(r)+Br+C) of Wood-Anderson amplitude Ao [nm]                           If zeros are set, original Richter magnitude is calculated! | 1.11 0.0009 -2.0                                   #WAscaling#      %Scaling relation (log(Ao)+Alog(r)+Br+C) of Wood-Anderson amplitude Ao [nm]                           If zeros are set, original Richter magnitude is calculated! | ||||||
| 1.0382 -0.447                                      #magscaling#     %Scaling relation for derived local magnitude [a*Ml+b].                            If zeros are set, no scaling of network magnitude is applied! | 0.0 0.0                                            #magscaling#     %Scaling relation for derived local magnitude [a*Ml+b].                            If zeros are set, no scaling of network magnitude is applied! | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| #filter settings# | #filter settings# | ||||||
| 1.0 1.0                                            #minfreq#        %Lower filter frequency [P, S]                                                                        | 2.0 2.0                                            #minfreq#        %Lower filter frequency [P, S]                                                                        | ||||||
| 10.0 10.0                                          #maxfreq#        %Upper filter frequency [P, S]                                                                        | 30.0 15.0                                          #maxfreq#        %Upper filter frequency [P, S]                                                                        | ||||||
| 2 2                                                #filter_order#   %filter order [P, S]                                                                                  | 3 3                                                #filter_order#   %filter order [P, S]                                                                                  | ||||||
| bandpass bandpass                                  #filter_type#    %filter type (bandpass, bandstop, lowpass, highpass) [P, S]                                           | bandpass bandpass                                  #filter_type#    %filter type (bandpass, bandstop, lowpass, highpass) [P, S]                                           | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| #common settings picker# | #common settings picker# | ||||||
| local                                              #extent#         %extent of array ("local", "regional" or "global")                                                    | local                                              #extent#         %extent of array ("local", "regional" or "global")                                                    | ||||||
| 15.0                                               #pstart#         %start time [s] for calculating CF for P-picking                                                      | 7.0                                                #pstart#         %start time [s] for calculating CF for P-picking                                                      | ||||||
| 60.0                                               #pstop#          %end time [s] for calculating CF for P-picking                                                        | 16.0                                               #pstop#          %end time [s] for calculating CF for P-picking                                                        | ||||||
| -1.0                                               #sstart#         %start time [s] relative to P-onset for calculating CF for S-picking                                  | -0.5                                               #sstart#         %start time [s] relative to P-onset for calculating CF for S-picking                                  | ||||||
| 10.0                                               #sstop#          %end time [s] after P-onset for calculating CF for S-picking                                          | 10.0                                               #sstop#          %end time [s] after P-onset for calculating CF for S-picking                                          | ||||||
| True                                               #use_taup#       %use estimated traveltimes from TauPy for calculating windows for CF                                  | False                                              #use_taup#       %use estimated traveltimes from TauPy for calculating windows for CF                                  | ||||||
| iasp91                                             #taup_model#     %define TauPy model for traveltime estimation                                                         | iasp91                                             #taup_model#     %define TauPy model for traveltime estimation                                                         | ||||||
| 2.0 10.0                                           #bpz1#           %lower/upper corner freq. of first band pass filter Z-comp. [Hz]                                      | 2.0 20.0                                           #bpz1#           %lower/upper corner freq. of first band pass filter Z-comp. [Hz]                                      | ||||||
| 2.0 12.0                                           #bpz2#           %lower/upper corner freq. of second band pass filter Z-comp. [Hz]                                     | 2.0 30.0                                           #bpz2#           %lower/upper corner freq. of second band pass filter Z-comp. [Hz]                                     | ||||||
| 2.0 8.0                                            #bph1#           %lower/upper corner freq. of first band pass filter H-comp. [Hz]                                      | 2.0 10.0                                           #bph1#           %lower/upper corner freq. of first band pass filter H-comp. [Hz]                                      | ||||||
| 2.0 10.0                                           #bph2#           %lower/upper corner freq. of second band pass filter z-comp. [Hz]                                     | 2.0 15.0                                           #bph2#           %lower/upper corner freq. of second band pass filter z-comp. [Hz]                                     | ||||||
| #special settings for calculating CF# | #special settings for calculating CF# | ||||||
| %!!Edit the following only if you know what you are doing!!% | %!!Edit the following only if you know what you are doing!!% | ||||||
| #Z-component# | #Z-component# | ||||||
| HOS                                                #algoP#          %choose algorithm for P-onset determination (HOS, ARZ, or AR3)                                        | HOS                                                #algoP#          %choose algorithm for P-onset determination (HOS, ARZ, or AR3)                                        | ||||||
| 7.0                                                #tlta#           %for HOS-/AR-AIC-picker, length of LTA window [s]                                                     | 4.0                                                #tlta#           %for HOS-/AR-AIC-picker, length of LTA window [s]                                                     | ||||||
| 4                                                  #hosorder#       %for HOS-picker, order of Higher Order Statistics                                                     | 4                                                  #hosorder#       %for HOS-picker, order of Higher Order Statistics                                                     | ||||||
| 2                                                  #Parorder#       %for AR-picker, order of AR process of Z-component                                                    | 2                                                  #Parorder#       %for AR-picker, order of AR process of Z-component                                                    | ||||||
| 1.2                                                #tdet1z#         %for AR-picker, length of AR determination window [s] for Z-component, 1st pick                       | 1.2                                                #tdet1z#         %for AR-picker, length of AR determination window [s] for Z-component, 1st pick                       | ||||||
| @ -59,12 +59,12 @@ HOS                                                #algoP#          %choose algo | |||||||
| 0.6                                                #tdet2z#         %for AR-picker, length of AR determination window [s] for Z-component, 2nd pick                       | 0.6                                                #tdet2z#         %for AR-picker, length of AR determination window [s] for Z-component, 2nd pick                       | ||||||
| 0.2                                                #tpred2z#        %for AR-picker, length of AR prediction window [s] for Z-component, 2nd pick                          | 0.2                                                #tpred2z#        %for AR-picker, length of AR prediction window [s] for Z-component, 2nd pick                          | ||||||
| 0.001                                              #addnoise#       %add noise to seismogram for stable AR prediction                                                     | 0.001                                              #addnoise#       %add noise to seismogram for stable AR prediction                                                     | ||||||
| 3.0 0.1 0.5 1.0                                    #tsnrz#          %for HOS/AR, window lengths for SNR-and slope estimation [tnoise, tsafetey, tsignal, tslope] [s]      | 3.0 0.0 1.0 0.5                                    #tsnrz#          %for HOS/AR, window lengths for SNR-and slope estimation [tnoise, tsafetey, tsignal, tslope] [s]      | ||||||
| 3.0                                                #pickwinP#       %for initial AIC pick, length of P-pick window [s]                                                    | 3.0                                                #pickwinP#       %for initial AIC pick, length of P-pick window [s]                                                    | ||||||
| 6.0                                                #Precalcwin#     %for HOS/AR, window length [s] for recalculation of CF (relative to 1st pick)                         | 6.0                                                #Precalcwin#     %for HOS/AR, window length [s] for recalculation of CF (relative to 1st pick)                         | ||||||
| 0.2                                                #aictsmooth#     %for HOS/AR, take average of samples for smoothing of AIC-function [s]                                | 0.4                                                #aictsmooth#     %for HOS/AR, take average of samples for smoothing of AIC-function [s]                                | ||||||
| 0.1                                                #tsmoothP#       %for HOS/AR, take average of samples for smoothing CF [s]                                             | 0.1                                                #tsmoothP#       %for HOS/AR, take average of samples for smoothing CF [s]                                             | ||||||
| 0.001                                              #ausP#           %for HOS/AR, artificial uplift of samples (aus) of CF (P)                                             | 0.4                                                #ausP#           %for HOS/AR, artificial uplift of samples (aus) of CF (P)                                             | ||||||
| 1.3                                                #nfacP#          %for HOS/AR, noise factor for noise level determination (P)                                           | 1.3                                                #nfacP#          %for HOS/AR, noise factor for noise level determination (P)                                           | ||||||
| #H-components# | #H-components# | ||||||
| ARH                                                #algoS#          %choose algorithm for S-onset determination (ARH or AR3)                                              | ARH                                                #algoS#          %choose algorithm for S-onset determination (ARH or AR3)                                              | ||||||
| @ -75,7 +75,7 @@ ARH                                                #algoS#          %choose algo | |||||||
| 4                                                  #Sarorder#       %for AR-picker, order of AR process of H-components                                                   | 4                                                  #Sarorder#       %for AR-picker, order of AR process of H-components                                                   | ||||||
| 5.0                                                #Srecalcwin#     %for AR-picker, window length [s] for recalculation of CF (2nd pick) (H)                              | 5.0                                                #Srecalcwin#     %for AR-picker, window length [s] for recalculation of CF (2nd pick) (H)                              | ||||||
| 4.0                                                #pickwinS#       %for initial AIC pick, length of S-pick window [s]                                                    | 4.0                                                #pickwinS#       %for initial AIC pick, length of S-pick window [s]                                                    | ||||||
| 2.0 0.3 1.5 1.0                                    #tsnrh#          %for ARH/AR3, window lengths for SNR-and slope estimation [tnoise, tsafetey, tsignal, tslope] [s]     | 2.0 0.2 1.5 1.0                                    #tsnrh#          %for ARH/AR3, window lengths for SNR-and slope estimation [tnoise, tsafetey, tsignal, tslope] [s]     | ||||||
| 1.0                                                #aictsmoothS#    %for AIC-picker, take average of samples for smoothing of AIC-function [s]                            | 1.0                                                #aictsmoothS#    %for AIC-picker, take average of samples for smoothing of AIC-function [s]                            | ||||||
| 0.7                                                #tsmoothS#       %for AR-picker, take average of samples for smoothing CF [s] (S)                                      | 0.7                                                #tsmoothS#       %for AR-picker, take average of samples for smoothing CF [s] (S)                                      | ||||||
| 0.9                                                #ausS#           %for HOS/AR, artificial uplift of samples (aus) of CF (S)                                             | 0.9                                                #ausS#           %for HOS/AR, artificial uplift of samples (aus) of CF (S)                                             | ||||||
| @ -85,16 +85,16 @@ ARH                                                #algoS#          %choose algo | |||||||
| 2.0                                                #minFMSNR#       %miniumum required SNR for first-motion determination                                                 | 2.0                                                #minFMSNR#       %miniumum required SNR for first-motion determination                                                 | ||||||
| 0.2                                                #fmpickwin#      %pick window around P onset for calculating zero crossings                                            | 0.2                                                #fmpickwin#      %pick window around P onset for calculating zero crossings                                            | ||||||
| #quality assessment# | #quality assessment# | ||||||
| 0.02 0.04 0.08 0.16                                #timeerrorsP#    %discrete time errors [s] corresponding to picking weights [0 1 2 3] for P                            | 0.04 0.08 0.16 0.32                                #timeerrorsP#    %discrete time errors [s] corresponding to picking weights [0 1 2 3] for P                            | ||||||
| 0.04 0.08 0.16 0.32                                #timeerrorsS#    %discrete time errors [s] corresponding to picking weights [0 1 2 3] for S                            | 0.05 0.10 0.20 0.40                                #timeerrorsS#    %discrete time errors [s] corresponding to picking weights [0 1 2 3] for S                            | ||||||
| 0.8                                                #minAICPslope#   %below this slope [counts/s] the initial P pick is rejected                                           | 0.8                                                #minAICPslope#   %below this slope [counts/s] the initial P pick is rejected                                           | ||||||
| 1.1                                                #minAICPSNR#     %below this SNR the initial P pick is rejected                                                        | 1.1                                                #minAICPSNR#     %below this SNR the initial P pick is rejected                                                        | ||||||
| 1.0                                                #minAICSslope#   %below this slope [counts/s] the initial S pick is rejected                                           | 1.0                                                #minAICSslope#   %below this slope [counts/s] the initial S pick is rejected                                           | ||||||
| 1.5                                                #minAICSSNR#     %below this SNR the initial S pick is rejected                                                        | 1.5                                                #minAICSSNR#     %below this SNR the initial S pick is rejected                                                        | ||||||
| 1.0                                                #minsiglength#   %length of signal part for which amplitudes must exceed noiselevel [s]                                | 1.0                                                #minsiglength#   %length of signal part for which amplitudes must exceed noiselevel [s]                                | ||||||
| 1.0                                                #noisefactor#    %noiselevel*noisefactor=threshold                                                                     | 1.1                                                #noisefactor#    %noiselevel*noisefactor=threshold                                                                     | ||||||
| 10.0                                               #minpercent#     %required percentage of amplitudes exceeding threshold                                                | 50.0                                               #minpercent#     %required percentage of amplitudes exceeding threshold                                                | ||||||
| 1.5                                                #zfac#           %P-amplitude must exceed at least zfac times RMS-S amplitude                                          | 1.1                                                #zfac#           %P-amplitude must exceed at least zfac times RMS-S amplitude                                          | ||||||
| 6.0                                                #mdttolerance#   %maximum allowed deviation of P picks from median [s]                                                 | 5.0                                                #mdttolerance#   %maximum allowed deviation of P picks from median [s]                                                 | ||||||
| 1.0                                                #wdttolerance#   %maximum allowed deviation from Wadati-diagram                                                        | 1.0                                                #wdttolerance#   %maximum allowed deviation from Wadati-diagram                                                        | ||||||
| 5.0                                                #jackfactor#     %pick is removed if the variance of the subgroup with the pick removed is larger than the mean variance of all subgroups times safety factor | 2.0                                                #jackfactor#     %pick is removed if the variance of the subgroup with the pick removed is larger than the mean variance of all subgroups times safety factor | ||||||
|  | |||||||
| @ -240,12 +240,17 @@ class AICPicker(AutoPicker): | |||||||
|                 return |                 return | ||||||
|             # calculate SNR from CF |             # calculate SNR from CF | ||||||
|             self.SNR = max(abs(self.Data[0].data[isignal])) / \ |             self.SNR = max(abs(self.Data[0].data[isignal])) / \ | ||||||
|                        max(abs(self.Data[0].data[inoise] - np.mean(self.Data[0].data[inoise]))) |                        abs(np.mean(self.Data[0].data[inoise])) | ||||||
|             # calculate slope from CF after initial pick |             # calculate slope from CF after initial pick | ||||||
|             # get slope window |             # get slope window | ||||||
|             tslope = self.TSNR[3]  # slope determination window |             tslope = self.TSNR[3]  # slope determination window | ||||||
|             islope = np.where((self.Tcf <= min([self.Pick + tslope, self.Tcf[-1]])) \ |             tsafety = self.TSNR[1] # safety gap, AIC is usually a little bit too late | ||||||
|                               & (self.Tcf >= self.Pick)) # TODO: put this in a seperate function like getsignalwin |             if tsafety >= 0: | ||||||
|  |                 islope = np.where((self.Tcf <= min([self.Pick + tslope + tsafety, self.Tcf[-1]])) \ | ||||||
|  |                                   & (self.Tcf >= self.Pick)) # TODO: put this in a seperate function like getsignalwin | ||||||
|  |             else: | ||||||
|  |                 islope = np.where((self.Tcf <= min([self.Pick + tslope, self.Tcf[-1]])) \ | ||||||
|  |                                   & (self.Tcf >= self.Pick + tsafety)) # TODO: put this in a seperate function like getsignalwin | ||||||
|             # find maximum within slope determination window |             # find maximum within slope determination window | ||||||
|             # 'cause slope should be calculated up to first local minimum only! |             # 'cause slope should be calculated up to first local minimum only! | ||||||
|             try: |             try: | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user