Changes:
- obspy.*
- no more support for Python 2 (see #2577)
- added python 3.9 and 3.10 tests for all platforms,
minimal supported python version is 3.7 (#2925, #2489) - removed os.path calls with pathlib library calls (see #2751).
- rewrote CI tests to make use of cache (see #2936)
- removed individual logging configurations in Obspy, logging can be
configured by the user, see documentation of Pythons logging module,
only the FDSN mass downloader automatically configures logging as before,
but this behavior can be turned off now. The loglevel keywords are
therefore deprecated and have no effect anymore (see #2720) - refactored obspy-runtest to use pytest and modified several command
line arguments, required to disable image comparisons (see #2489) - removed calls to deprecated NumPy functionality (see #2949, #2981)
- cleaned the documentation, build process, and docstrings (see #2662, #2954)
- refactored and modernized setup.py (see #2422)
- scripts:
- SDS report: try to be faster on slow filesystems (see #3009)
- obspy.core:
- speed up import of obspy core functions (see #2758)
- read_inventory(): add "level" option to read files faster when less level
of detail is needed. currently only implemented for StationXML reading
(see #2759) - add option to suppress evalresp sensitivity mismatch warning when removing
instrument response (see #2677) - round magnitudes in Catalog/Event string representation to one decimal
(see #2742) - add support for pathlib.Path objects in read(), read_inventory() and
read_events() functions (see #2743) - add a "DEF" option (default units) to Inventory.plot_response() and
Trace.remove_response() (see #2806) - stream.select(): circumvent wildcard-matching when called with a trace-id
without wildcards for quicker trace selection. - Inventory addition now consistently uses shallow copies (#2675, #2694)
- removed obsolete wrapper around numpy.loadtxt causing import error with
numpy 1.22 (see #2912, #2913) - fix iso8601 regex for issue #2868 to cope with day 360 properly
- fix crash when resampling very short traces (see #2926)
- response list stages: do not raise an exception if response calculation
involves extrapolation outside of frequency range defined by the response
list stage but rather only show a warning. raising an exception is the
safe route but it also prevents valid calculations as it is up to the user
to make sure that signal spectrum is properly suppressed in those
frequency ranges outside of the valid response information (see #2988) - fix a bug while checking for valid URI syntax when setting identifiers on
inventory type objects (see #2905)
- obspy.clients.arclink:
- submodule removed completely, since ArcLink was officially deprecated and
deactivated on all big datacenters years ago (see #2994)
- submodule removed completely, since ArcLink was officially deprecated and
- obspy.clients.fdsn:
- introduce fine-grained FDSN client exceptions (see #2653, #2964)
- support for "eventtype" parameter in get_events(), as specified in version
1.2 of the FDSN event web service (see #2780) - Hostnames with hyphens and long TLDs are no longer rejected as invalid
FDSN server URLs (#2878) - add URL mapping for IRISPH5, IESDMC, GEOFON (alternative to GFZ)
(see #2739, #2932) - update RESIF URL mapping to use http and add RESIFPH5 (see #2938)
- obspy.clients.filesystem:
- obspy.clients.seedlink:
- basic client: properly terminate after finished get_info() request (see
#2996)
- basic client: properly terminate after finished get_info() request (see
- obspy.imaging:
- obspy.clients.filesystem.tsindex:
- improvements to leap second file setup and other small fixes (see #2776)
- obspy.clients.seedlink:
- Fix a bug in basic client when printing debug output (see #2734)
- obspy.clients.seishub:
- added deprecation message
- obspy.db:
- added deprecation message
- removed from default test suite
- obspy.io
- add support to resolve the SEED id of picks for nlloc hyp files and
nordic files, refactor the same functionality for SeismicHandler evt
and HypoDD pha files. Some parameter names therefore changed in the
latter, but former parameter names are still supported (see #2251)
- add support to resolve the SEED id of picks for nlloc hyp files and
- obspy.io.css:
- open CSS waveforms even if gzip-compressed (see #2736)
- obspy.io.gse2:
- When reading GSE2 bulletins, station magnitudes now include waveform IDs
and have associated station magnitude contributions (see #2718)
- When reading GSE2 bulletins, station magnitudes now include waveform IDs
- obspy.io.hypodd
- obspy.io.kinemetrics:
- adds the
apply_calib
argument to theread_evt
method to allow
obtaining the raw data bits stored in the evt file (see #2582), note this
changes the default (wrong!) behaviour, by default the data returned will
be the NOT corrected ones. When passingapply_calib=True
, the
calibration factor will be used.
- adds the
- obspy.io.nordic:
- add read and write support for New Nordic format (see #2814)
- fix bug where negative magnitudes were not read properly
- fix bug where empty hours / minutes / seconds were not read as zero
- fix bug where lat/lon-errors were read as lon/lat
- fix bug where origin-error was written with RMS rather than time_error
- for reading picks in Old Nordic format, set network code to None
(was 'NA' previously) - stop writing waveform-file link to a DUMMY-file by default
- add support for I/O of apparent velocity / horizontal slowness
- add support for writing of multiple origins
- add event-type mapping between Nordic and Obspy/Quakeml (do not fully
match) - read pick-weight as pick.extra.nordic_pick_weight (was arrival.time_weight)
and read finalweight into arrival.time_weight (or backazmiuth_weight)
instead.
- obspy.io.reftek:
- enable reading data with floating point sampling rates like low sampling
rate state-of-health channels (see #2678) - fix reading data in '16' and '32' encodings, when packets do not use
the fixed maximum amount of available number of samples per data packet
(see #2678) - properly take into account native system byteorder, should fix reading
rt130 data on big endian systems (see #2678)
- enable reading data with floating point sampling rates like low sampling
- obspy.io.seiscomp:
- obspy.io.sh:
- fix appending traces to existing Q file (see #2870)
- obspy.io.xseed:
- obspy.signal.array_analysis
- fixed an issue in array_processing function returning wrong times
for matplotlib versions >= 3.3 due to the epoch change in matplotlib
(see #2723)
- fixed an issue in array_processing function returning wrong times
- obspy.signal.cross_correlation:
- Remove deprecated xcorr function, remove deprecated domain keyword
argument in correlate function (see #1979)
- Remove deprecated xcorr function, remove deprecated domain keyword
- obspy.signal.spectral_estimation.PPSD:
- obspy.signal.trigger:
- Improved clarity and speed of several STA/LTA triggers methods, namely
classic_sta_lta_py, z_detector, and recursive_sta_lta_py (see #2892) - Added simple AIC method by Maeda (1985)
- Improved clarity and speed of several STA/LTA triggers methods, namely