To enable auto picking in Jiggle, its properties configuration must contain properties of form:
picker.class.pickername=org.trinet.jasi.picker.someclassname
picker.props.pickername=pickername.props
picker.selected.name=pickername
For example:
# Name of java class implementing PhasePickerIF
picker.class.PickEW=org.trinet.jasi.picker.PickEW
# Name of properties file, if any, to configure picker class
picker.props.PickEW=pickEW.props
# Property name suffix of the picker properties to use
picker.selected.name=PickEW
NOTE: All picker properties must be prefixed with the string "picker.", this prefix is not shown in the tables below.
| Property Name | Description | Value |
|---|---|---|
| allowedNetTypes | Accept only those channels whose net code is in this list (e.g. CI NC BK NN) | no default | allowedSeedChanTypes | Accept only those channels whose seedchan type is in this list (e.g. HHZ HHE HHN) | no default |
| allowedStaTypes | Accept only those channels whose sta name is in this list (e.g. PAS RVR TIN) | no default |
| autoLoadChannelParms | load picker channel parms from specified file, if any, when properties are reset | false (default) |
| candidateListName | Name must be associated with a progid in the applications table which is associated with channel sncls in appchannels table via JASI_CONFIG_VIEW. The associated channels will be those accepted for picking. | no default |
| chanParmFile | file containing picker params for each channel, if blank uses default parm globally | no default |
| filterByCandidateList | if true, reject channel not found in candidate list | false |
| debug | debug level messages: | false (default) |
| firstMoOnHoriz | first motion in pick descriptor for horizontal channel | false (default) |
| firstMoOnS | first motion in pick descriptor for S phase | false (default) |
| firstMoQualityMin | minimum quality acceptable for first motion in phase descriptor | 0.7 (default) |
| lagAdjustment | samples intervals to substract from pick time to compensate for lag | 0 (default) |
| maxDistance | Exclude all channels beyond this distance (km) | 100. (default) |
| magDistSlope | line slope A where: maxDistKmRangeToPick= min(maxKm, A*magnitude+B) | 85. (default) |
| magDistIntercept | line intercept B where: maxDistKmRangeToPick= min(maxKm, A*magnitude+B) | 10. (default) |
| maxDistance | regardless of magnitude don't pick if channel distance exceeds maxkm | 100. (default) |
| maxSampleGap | max gap samples to interpolate | 15 (default) |
| PonH | enable P pick on horizontals | false (default) |
| rejectedNetTypes | Reject channels whose net code is in this list (e.g. CE NP) | no default |
| rejectedSeedChanTypes | Reject channels whose seedchan type is in this list (e.g. HH1 HH2 HH3) | no default |
| rejectedStaTypes | Reject channels whose sta name is in this list (e.g. PAS RVR TIN) | no default |
| restartLength | samples to scan before starting to scan for pick event | 200 (default) |
| scanEndOffset | seconds to scan for end of pick past end of pick window | 0. (default) |
| scanStartOffset | seconds to scan before pick window to accumulate sample stats (aka restart) | 2. (default) |
| sMaxDistScalar | fraction of max distance acceptable for a S-pick | 1. (default) |
| SonV | enable S pick on verticals | false (default) |
| velocityOnly | pick only channels whose gain is velocity units | false (default) |
| verbose | verbose level messages: | false (default) |
| useMasterListCandidateList | MasterChannelList (channel cache) is the candidate filtering list | false (default) |
| windowHalfWidth | half-width seconds before/after predicted arrival time to scan for pick | 2. (default) |
| Property Name | Description | Value |
|---|---|---|
| altNoiseTest | Not noise if abs(counts) of first peaks after pick > minPeakSNR*RunningMeanofAbsValues (see minPeakSNR, parm.RmavFilt) | false (default) |
| logSamples | log results of sample function, one-line per sample, very verbose only for debugging | false (default) |
| minPeakSNR | Not noise if abs(counts) of first peaks after pick > minPeakSNR*RunningMeanofAbsValues (noise level) at pick (see parm.RmavFilt) | 2. (default) |
| parm.PickFlag | 0= don't pick, =1 P only, =2 S only, =3 both P and S | 0 (default) |
| parm.Itr1 | see Earthworm PickEW documentation, value unlikely to change | 3 (default) |
| parm.MinSmallZC | minimum number of small zero crossings required to end pick event after start | 10 (default) |
| parm.MinBigZC | minimum number of large amp zero crossings required to end pick event after start | 3 (default) |
| parm.MinPeakSize | minimum peak counts of one of first 3 peaks after start for pick event not be flagged as noise | 20 (default) |
| parm.MaxMint | end pick event after this many samples without a zero crossing | 500 (default) |
| parm.RawDataFilt | high pass filter coefficient for raw data sample input (default is 1Hz cutoff at 100sps) | 0.939 (default) |
| parm.CharFuncFilt | scalar multiplier for first difference term | 3.0 (default) |
| parm.StaFilt | weighting value for short-term exponential moving average of characteristic function ~ 2/(N+1), where N is #samples in window (default 4) | 0.4 (default) |
| parm.LtaFilt | weighting value for long-term exponential moving average of characteristic function ~ 2/(N+1), where N is #samples in window (default ~ 132 ) | 0.015 (default) |
| parm.EventThresh | minimum shortTermAvg/LongTermAvg ratio of characteristic function values to declare a pick event | 5. (default) |
| parm.RmavFilt | weighting value for exponential running mean of absolute values of the low-passed input samples ~(1-RmavFilt) or 2/(N+1) where N is #samples in window (default N ~ 512) | .9961 (default) |
# Enable P pick on horizontals picker.PonH=false # Enable S pick on verticals picker.SonV=false #perform addition noise test based on average rectified pre-event noise amps vs. 1st 3 peak amps picker.altNoiseTest=true #load channel parms from file when properties are set picker.autoLoadChannelParms=true # file containing picker params for each channel picker.chanParmFile=pickEW-alt4.parms # debug level messages: picker.debug=true # first motion in phase descriptor for horizontal channel picker.firstMoOnHoriz=false # first motion in phase descriptor for S phase picker.firstMoOnS=false # minimum quality acceptable for first motion in phase descriptor picker.firstMoQualityMin=.7 #samples intervals to substract from pick time to compensate for lag picker.lagAdjustment=1 #log results of sample function, one-line of stats per timeseries sample, very verbose only for debugging picker.logSamples=false # line slope A where: maxDistKmRangeToPick= min(maxKm, A*magnitude+B) picker.magDistSlope=85. # line intercept B where: maxDistKmRangeToPick= min(maxKm, A*magnitude+B) picker.magDistIntercept=10. # Regardless of magnitude don't pick if channel distance exceeds maxkm picker.maxDistance=200. #First peaks counts must exceed minPeakSNR*absAvgNoiseAtPick picker.minPeakSNR=2. #max gap samples to interpolate picker.maxSampleGap=15 # # default picker parms to use when no channel parms file picker.parm.PickFlag=3 picker.parm.Itr1=3 picker.parm.MinSmallZC=11 picker.parm.MinBigZC=3 picker.parm.MinPeakSize=20 picker.parm.MaxMint=500 picker.parm.RawDataFilt=0.939 picker.parm.CharFuncFilt=3.0 picker.parm.StaFilt=0.40 picker.parm.LtaFilt=0.015 picker.parm.EventThresh=5.0 picker.parm.RmavFilt=.9961 # #samples to scan before starting to scan for pick event picker.restartLength=200 # seconds to scan before pick window to accumulate sample stats (aka restart) picker.scanStartOffset=2.0 # seconds to scan for end of pick past end of pick window picker.scanEndOffset=1.0 # Fraction of max distance acceptable for a S-pick if channel distance is known picker.sMaxDistScalar=0.7 # pick only channels whose gain is velocity units picker.velocityOnly=true # half-width seconds before/after predicted arrival time to scan for pick picker.windowHalfWidth=1.5 # verbose level messages: picker.verbose=true # # Optional properties used to filter parms channel list for those channels available for picking: #picker.candidateListName= #picker.allowedStaTypes= #picker.allowedSeedChanTypes= #picker.allowedNetTypes= #picker.rejectedStaTypes= #picker.rejectedSeedChanTypes= #picker.rejectedNetTypes= #picker.filterByCandidateList=false #picker.useMasterListCandidateList=false