-
Notifications
You must be signed in to change notification settings - Fork 6
/
ChangeLog.txt
180 lines (104 loc) · 10.2 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
Before Version Numbers
______________________
2/12/15- added plotBasisVectors method to subspace object in order to plot used basis vectors from the SVD
2/12/15 - fixed a bug causing getAllData(reverse=True) to put hour 23 in the wrong jday folder
2/12/15 - fixed a bug causing auto-correlations to be less than 1 (multiplexing got off by one sample on one channel because starttimes for all channels were not equal). Applied fix to subspace functions as well
2/19/15 - fixed a bug causing 1 higher degree of rep. to be selected in the SVD function than necessary
2/20/15 - Fixed a bug causing any incomplete data chunks to report wrong detection time
2/20/15 - When calling detex.xcorr.getFAS the filter parameter was not passed to the apply filter function causing an error at line 91, fixed
2/21/15 - Added a MSTMPmax and MSTAMPmin columns to the subspace database. These are calculated based on the min and max offset times of all of the events that went into creating the subspace. Essentially allows an estimation of the origin time of the event and to associated detections from different stations together
2/21/15 - Added the Mag column to the subspace database. It is a magnitude estimate that works by first finding the subspace representation of the contours data by projecting the part of the data that triggered the detector into the current subspace. The templates that went into the subspace creation are then projected into the subspace and the Gibbons and Ringdal iterative scaling method is applied to estimate scaling factors and magnitudes for each of the template projections. The median value is then selected as the magnitude estimate. Seems to estimate about 10% too low currently.
2/25/15 - detex.subspace.SubSpaceStream method pickSubSpaceTimes now has a traceLimit parameter that will limit the number of events in the current subspace that obspyck will try and display
3/3/15 - changed the multiplex command to properly handle 1 channel data in subspace module
3/3/15 - added a try except clause around the function that reads the continous data so if one data chunk is bad it is skipped rather than killing the susbspace detection
Version 0.0.1
_____________
Added the ssResults method to the detex.result module that asssociates detections from multiple stations together
Improved the magnitude estimate method to use only the energy of the detected waveform and best correlated event to calculate a scaling factor.
This was tested against local catalogs for both a mining region in Colorado and an Earthquake swarm in Yellow Stone
In addition to the "master station" option for clustering, where waveform groups across the network are forced based on the clustering at one station,
each station is allowed to cluster independently if no master station argument is passed. As a result, the subspaces dataframes of the subspace objects are now
organized by a dictionary with the corresponding station as the key.
Added min. number of events for a subspace to be created. Default value is 3
Added a version module for checking current version of detex by typing detex.version.version
In detex.subspace, moved the import basemap line into the method that actually calls it so if someone cannot get basemap installed detex can still be run
Version 0.0.2
_____________
The updateReqCC function of detex.subspace.SSclusterStream did not call the write function, now it does
Changed the magnitude estimation scheme to a weighted average of the std ratios of continous data to each of the training waveforms based on the square of the correlation coeficient
Suppressed the SQLite output so it will no longer spam the consol when performing detections
Changed default acceptable probability of false detection of the detex.subspace.createSubSpace function from 10**-9 to 10**-10
Added the eventDir input argument to the detex method of the subspace object. If a str of an event directory (the same structure orginized by the detex.getdata method) the subspace detections will be performed on all the events in the directory rather than on the continous data. Additionally, a dataframe will be created, whose name is governed by the eventCorFile parameter, showing each event and the maximum detection statstics. Useful for classifying events into pre-determined subspaces.
Added the UTCSaves parameters which if not None must be a list of UTC objects. If the data being processed during the subspace detection emcompasses a time in the UTCSaves list several parameters will be written to the "UTCsaves.pkl" dataframe including continous data, vector of detection statistics etc. This was created for determining causes of subspace failure to detect specific events.
Fixed a bug in getdata that caused the code to throw an error if the instrument response could not be removed. Now such data chunks are simply not saved after a warning is printed to the screen.
Fragmented event files caused clustering to error out. Now any event file with 80% than the median data points for other event files will simply be skipped
Version 0.0.4
_____________
Added a grid search function to estimate appropriate thresholds when scipy.stats.beta.isf fails (see this bug report https://github.com/scipy/scipy/issues/4677)
Added a normalize option to the SVD method of the detex.subspace.SubSpaceStream class. Essentially just normalizes all the input training events used for making a subspace. This gives all inputs equal wweight, which might be bad if you input a lot of noisy events, but is recommended in the Harris paper
Added the Stations input parameter to detex.results.ssResults to allow a list of stations to be passed to restrict the results to detections that occur on a station in the list
Added the Pf input parameter to detex.results.ssResults which loads a pickled subspace and uses the false alarm statistic (FAS) beta parameters to only use detections for each station/subspace that correspond to some value on the fitted beta above the Pf.
Version 0.0.5
_____________
Allows station/network names to be numbers with no letters
added consistentLength input parameter to createCluster function of detex.subspace. Default is true. If false allows hopelessly inhomogenious lengthed data to still be correlated together, but is much slower and will not allow subspace construction (IE if False cannot be used for subspace construction)
Version 0.0.6
_____________
Made SubSpaceStream object indexable
Fixed various other bugs
Version 0.0.7
______________
Added function to generate N distinct colors for dendrograms and plotting events if default is exceeded
Fixed a problem causing OS X and pyqt to not play well together
Added feature to allow event lists to be independent from station to station rather than just using the union of the two
Accounted for various other bugs that can happen in subspace detection with less than high quality data
Version 0.0.8
_____________
Small bug fixes
Added option to subspace detection to allow continuous data to be filled with 0s, facilitates the use of gappy data
Version 0.1.0
_____________
Deleted xcorr module, added support for singles (or singletons) from the subspace module. This represents a shift from the previous subspace and cross correlation paradigm to an only subspace paradigm where one-dimensional subspaces can be run (equivalent to cross correlation). Also added some features and cleaned up the code a bit.
Changed event phases to use csv format by default rather than pkl
Version 0.1.1
_____________
Changed default phase pick file format to csv
changed detex to set any phase picks made before waveform data is available to earliest point when data are available and emit a warning
Fixed a bug in detex.subspace.loadclusters
Version 0.1.2
_____________
Changed behavior of the trim input to the create clusters function to now reference time before origin in element 0 and time after origin in element 1.
Version 1.0.3b
______________
Huge changes!
Detex now conforms (mostly) to pep8
Split the gigantic subspace module into 3 modules: construct [for creating cluster and subspace classes], fas [for determining false alarm statistics], detect [for running subspace detections], and subspace [now only containing ClusterStream, Cluster, and SubSpaceStream classes]
Added the DataFetcher class to the getdata module with is responsible for serving data to all other detex functions and classes. Allows for the use of a local directory structure or an obspy client for getting data.
When local directories are used to store data they are automatically indexed with a SQLite database. This is done by parsing every non-directory file in the directory and trying to pass it to obspy.read. If it is readable it is included in the index, along with station, start times, end times, gaps, etc.
Various bug fixes
Changed the name of writeTemplateKeyFromEQSearchSum to eqSearch2TemplateKey, and the name of makeTemplatemkeyey to catalog2TemplateKey and moved it from getdata to util.
Changed the name of several arguments slightly to be more consistent, should be mostly backward compatible
Added the NumStations to results tables
Version 1.0.4
-------------
Fixed bug in detex.results._deleteDups where detections from different stations can get grouped together
Changed the intro tutorial slightly
Version 1.0.5
-------------
Removed consisLen argument from createCluster, fillZeros=True will produce approximately the same behavior as consisLen = False
Changed input of __init__.deb from varlist to *varlist
Removed subSamp parameter from createCluster. Will by default calculate subsamples but store the decimal sample in a separate DataFrame.
Fxed issues 15, 16, 17, 18, 19.
Version 1.0.6
-------------
Fixed issues 25, 24, 23, 21, 20
experimental fixes for issue 25
Added some tests for getdata method, working on more tests and finishing tutorials.
Version 1.0.7
--------------
Added python 3 support
Changed _mergeChannels method to account for more edge cases
Changed obspy API calls to reflect version 1.0.0
Added required obspy version >= 1.0.0
Added new module version.py which is just a version count used by setuptools and __init__
Removed ipdb references