Earthquake detection and analysis in Python.
This release represents a significant increase in efficiency in large-scale matched-filters in EQcorrscan. Lots of work has gone in to reducing memory usage in the non-correlation components of the matched-filter workflow, streamlining the code, making better use of shared memory multi-threaded parallelism and increasing CPU loads. In our testing we can now achieve and maintain >190% CPU efficiency (e.g. >95% hyperthreaded performance). We can also better load GPUs by making use of concurrent CPU and GPU processing of workflow steps. You should not need to change your code to make use of most of these speed-ups. Hopefully you will notice that you can run larger datasets faster than even!
_prep_data_for_correlation
: 3x speedup for filling NaN-traces in templatesprocess
, dayproc
and shortproc
replaced by multi_process
. Deprecation
warning added.multi_process
implements multithreaded GIL-releasing parallelism of slow
sections (detrending, resampling and filtering) of the processing workflow.
Multiprocessing is no longer supported or needed for processing. See PR #540
for benchmarks. New approach is slightly faster overall, and significantly
more memory efficeint (uses c. 6x less memory than old multiprocessing approach
on a 12 core machine)_get_array_dicts
with quicker access to properties.use_shared_memory
to speed up correlation of many events by
ca. 20 % by moving trace data into shared memory.Release candidate for version 0.5.0
._uniq()
all_horiz
-option that will correlate all matching horizontal
channels no matter to which of these the S-pick is linking.Release candidate 0 for release 0.4.4.
._uniq()
all_horiz
-option that will correlate all matching horizontal
channels no matter to which of these the S-pick is linking.format='tar'
is selected, added a check for .tgz-file suffix before checking the filename against an existing file. Previously, when a filename without '.tgz'-suffix was supplied, then the file was overwritten against the function's intention.overwrite=True
to allow overwriting of existing files.min_cc
is used regardless of whether weight_by_correlation
is set. See issue #455.arctype='SDS'
to read from a SeisComp Data Structure (SDS). This option is also available in utils.clustering.extract_detections
and in utils.archive_read._check_available_data
.write_station
now supports writing elevations: #424.cluster
, distance_matrix
and cross_chan_correlation
, implemented full support for shift_len != 0
. The latter two functions now return, in addition to the distance-matrix, a shift-matrix (both functions) and a shift-dictionary (for distance_matrix
). New option for shifting streams as a whole or letting traces shift individually (allow_individual_trace_shifts=True
).format='tar'
is selected, added a check for .tgz-file suffix before checking the filename against an existing file. Previously, when a filename without '.tgz'-suffix was supplied, then the file was overwritten against the function's intention.overwrite=True
to allow overwriting of existing files.min_cc
is used regardless of whether weight_by_correlation
is set. See issue #455.arctype='SDS'
to read from a SeisComp Data Structure (SDS). This option is also available in utils.clustering.extract_detections
and in utils.archive_read._check_available_data
.write_station
now supports writing elevations: #424.cluster
, distance_matrix
and cross_chan_correlation
, implemented full support for shift_len != 0
. The latter two functions now return, in addition to the distance-matrix, a shift-matrix (both functions) and a shift-dictionary (for distance_matrix
). New option for shifting streams as a whole or letting traces shift individually (allow_individual_trace_shifts=True
).A Python package for the detection and analysis of repeating and near-repeating seismicity.
filter_id
and method_id
to amplitudes to make these methods more
traceable.ignore_bad_data=True
.
This flag is generally not advised, but when used, may attempt to trim all
data to zero length. The expected behaviour is to remove bad data and run
with the remaining data.get_waveforms_bulk
method for use in .client_detect
. See issue #394.Pre-release for 0.4.2 for testing on conda-forge
A Python package for the detection and analysis of repeating and near-repeating seismicity.
Tribe().construct()
if the given catalog contained events outside
of the time-range of the stream. See issue #381 and PR #382.write_correlations
- parallel processing for moderate
to large datasets was copying far too much data and using lots of memory.
This is a short-term fix - ideally we will move filtering and resampling to
C functions with shared-memory parallelism and GIL releasing.
See PR #374._compute_dt_correlations
to the C functions to
reduce memory overhead. Using a generator to construct sub-catalogs rather
than making a list of lists in memory. See issue #361.amp_pick_event
now works on a copy of the data by defaultamp_pick_event
uses the appropriate digital filter gain to correct the
applied filter. See issue #376.amp_pick_event
rewritten for simplicity.amp_pick_event
now has simple synthetic tests for accuracy._sim_wa
uses the full response information to correct to velocity
this includes FIR filters (previously not used), and ensures that the
wood-anderson poles (with a single zero) are correctly applied to velocity
waveforms.calc_max_curv
is now computed using the non-cumulative distribution.Pre-release for 0.4.1