Log message:
py-obspy: update to 1.4.0.
1.4.0 (doi: 10.5281/zenodo.6645832)
===================================
Changes:
- obspy.core:
* Minimum supported Python version is now 3.8 (see #3081, #3087)
* Minimum supported dependency versions are now numpy 1.20, scipy 1.7 and
matplotlib 3.3 (see #3081, #3087)
* response: avoid reporting all unkown units (e.g. "RAD/S") to \
evalresp as
displacement ("DIS") which with default value for \
"output" ("VEL") leads
to evalresp adding a differentiation during response calculation. Instead
report undefined unit, which makes evalresp use response as is and
essentially ignoring "output" parameter (see #2945)
* Improved expanded channel information in string representation of Station,
e.g. when displaying station in IPython shell (see #3024)
* limit length of list which records processing info (see #2882)
* map plots: fix initial map setup, properly pass through user specified
options, like "projection" etc (see #3191)
- obspy.clients.fdsn:
* update URL for NCEDC to https (see #3203)
* add all valid parameters to get_stations_bulk, e.g. geographical
constraints (see #3140)
* do not use autodiscovery of file format in get_stations, unless \
"format"
is set to something we do not recognize (see #3138)
* fix a bug in routing client that made any request made error out when
"debug=True" was set (see #3214)
* fix raising FDSNTooManyRequestsException when server rejects request due
to rate limiting, due to a bug instead a TypeError was raised (see #3219)
- obspy.clients.seishub:
* submodule removed completely, since it is outdated and not even test
servers have been running for years (see #2994)
- obspy.db:
* submodule removed completely, since mostly being used in discontinued
seishub server (see #2994)
- obspy.imaging:
* spectrogram: change the computation for default window length if not
specified to give useful values for sampling rates much higher or lower
than 100 Hz (see #3093)
* spectrogram: better exception type and messages when input signal is too
short (see #3093)
* map plots: fix initial map setup, properly pass through user specified
options, like "projection" etc (see #3191)
- obspy.io.alsep:
* new module for reading data from the Apollo missions stored in ALSEP
format (see #3156)
- obspy.io.nlloc:
* avoid mangling channel/component code when writing nonlinloc phase file,
just write full channel code unchanged into nonlinloc's \
"component" field
(see #3223)
* fix reading nonlinloc hypocenter files written by newer nonlinloc
versions, data parsed into Arrivals was wrong (see #3223)
* read geometrical station azimuth instead of ray takeoff azimuth from
hypocenter. This is more robust (ray takeoff values sometimes not accurate
at all) and also follows more the QuakeML documentation that states
"Azimuth of station as seen from the epicenter" which implies a simple
geometrical calculation (see #3224)
* ignore ray takeoff dip if the stated quality for it is "0 - \
unreliable".
our example data show that values can be blatantly wrong when quality is
reported as "0" (see #3224)
* write timing error as "0.0" if it is not set on a pick, as \
recommended by
nonlinloc's author (see #2371, #3224)
- obspy.io.nordic:
* add support for writing multiple amplitudes for one pick (only new format)
and writes some amplitude lines more compact (see #3075, also #2814)
* add full support for reading and writing apparent velocity and backazimuth
with new nordic format (see #3075)
* fix comments on angle of incidence vs. takeoff angle (What is called
angle of incidence in Seisan is the same as what is usually referred to as
takeoff angle, see #3075)
* add function to check whether phase is valid IASPEI phase in Seisan (#3075)
* full support for writing high-accuracy origin line (see #3075)
- obspy.io.sac:
* expose a `keep_sac_header` flag to the `write` plugin, which allows users
to write a "fresh" SAC header, instead of attempting to merge \
information
from an old SAC header, if one exists. (see #2760)
* fix writing SACPZ when a channel's sensor filed is unset (see #3187)
- obspy.io.seiscomp:
* update SeisComP 0.11 and 0.12 schema to potentially speed up sc3ml to qml
event catalog conversions (see #3216 and SeisComP/common#74)
- obspy.signal:
* coincidence trigger: improve speed of template matching and less memory
usage (see #3104)
* Baer picker: fix a bug that could cause crashes on certain versions of
libffi (see #3183)
* polarization analysis: fix calculation of timestamps of the resulting
values (see #3211)
- obspy.taup:
* add option "indicate_wave_type" to distinguish S waves in ray paths
plot by using wiggly lines for shear waves (see #3047)
* improved accuracy of ray paths by change of root-finding algorithm
in SeismicPhase.refine_arrival (see #3064, #3096)
* improved accuracy of travel time estimates by using theta function
(see #3068)
* add support for models without a core or inner core
(see #1200, #1423, #2086, #2192, #2390, #3070)
* add support for a wider range of diffracted phases, like SedPdiffKP
(see #3085) and PKdiffP (see #3095)
* allow rapid travel time plotting in plot_travel_times by using
precalculated travel times (see #3092)
* return pierce points for any depth (see #1742, #3072)
* bug fix for rays which cannot turn due to low velocity at bottom
of layer (see #3080)
* add some checks for bad phases, so "ScScS" is not allowed
(see #2774, #3082)
* bug fix for sources within high slowness regions (see #2976, #3100)
1.3.1 (doi: 10.5281/zenodo.7193374)
===================================
Changes:
- obspy.core:
* Fix exclusion of magnitude 0 events in Catalog.filter (see #3105)
* Trace.resample: Changed default for `window` to "hann" following \
a name
change in scipy, "hanning" is not recognized anymore in newest scipy
(see #3117)
* Fix different data length for trim/slice methods (see #2608)
* Add keep_empty_traces option to Stream.trim (see #2608)
* Fix missing legend and plot artifacts in Inventory map plots at
intersection of equator and prime meridian (see #3067)
* Fix a bug in recaculation of overall instrument sensitivity (see #3099)
* Fix colored IPython output on Windows (see #3148, #3171)
* Add a warning in `Trace.remove_response()` docs, regarding using water
level mechanism with instrument response non-flat with the requested
output units (see #3172, #3136)
* Fix reusing Catalog/Inventory map plots, i.e. doing multiple cartopy plots
with these objects into the same axes (see #3018)
* Fix Stream.rotate with multiple-station or multiple-event Streams (see
#2623, 3155)
- obspy.clients.fdsn:
* Fix a bug in `get_stations_bulk` regarding parameter \
"includerestricted"
(see #3158)
* add URL mapping 'EIDA' for http://eida-federator.ethz.ch (see #3050)
* Fix issue where "https://" URLs were not matched by the IRIS federator
client, resulting in raspberry shake matches being excluded from results
(see #3127)
* Properly set HTTP Content-Type header in POST requests (see #3169)
- obspy.clients.nrl:
* deprecate online NRL client as it will stop working in Spring 2023 when
old NRLv1 gets taken offline (see #3164)
* enable reading from a downloaded full copy of the NRLv2 at
http://ds.iris.edu/ds/nrl/ (see #3058)
* Fix a bug in recaculation of overall instrument sensitivity after
assembling response from separate sensor and datalogger response parts
(see #3099)
- obspy.imaging:
* Scanner/obspy-scan: skip directories without read permission (see #3115)
- obspy.io.gse2:
* bulletin reading: correctly add Mag2 and amplitudes even if Mag1 is not
present (see #2420)
- obspy.io.mseed:
* fix a bug in endtime calculation when writing fixed flags block
information (see #3165)
- obspy.io.seg2:
* fix reading files that have a string header field with an empty value (see
#3174, #3178)
- obspy.io.stationxml:
* fix a bug that resulted in losing decimation information of base type
response stages (see #3159)
* enable reading StationXML 1.2 and write new files with schema version
1.2 (see #3153)
- obspy.io.wav:
* fix writing of wav files with rescale=True and default width=None
(see #3029)
- obspy.signal:
* trigger_onset(): fix a bug when trigger off threshold is higher than
trigger on threshold and a trigger is active at the end of the
characteristic function (see #2891, #3013)
- obspy.signal.PPSD:
* show warning on input of a trace that is too short to be processed (see
#3073)
* fix time comparisons in time restrictions when doing custom stacks,
compare less/greater or equal instead of strict less/greater than (see
#1477)
- obspy.taup:
* Fix cycling through colors in ray path plots, now also fixes cartesian
plot version (see #2470, #2478, #3041)
* Fix slowness layer splits to avoid "TauBranch depths not compatible with
slowness sampling." errors. (see #3062, #2682, #1938)
* Fix pierce points for 2kmps phases (see #2754)
1.3.0 (doi: 10.5281/zenodo.6327346)
===================================
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)
* fix a bug unpacking strings while reading event comments of AH files
(see #3107)
- obspy.clients.arclink:
* submodule removed completely, since ArcLink was officially deprecated and
deactivated on all big datacenters years ago (see #2994)
- 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:
* add get_waveforms_bulk() method to SDS client (see #2616, #2626)
* SDS client get_latency(): make one internal check optional which can be a
massive speedup on slow filesystems (see #3009)
- obspy.clients.seedlink:
* basic client: properly terminate after finished get_info() request (see
#2996)
- obspy.imaging:
* fix section plot in case of a single trace only (see #2764)
* removed basemap, now only cartopy is supported for maps (see #2961)
* fix day plot when passed a small interval (see #2967)
- 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)
- obspy.io.css:
* open CSS waveforms even if gzip-compressed (see #2736)
- obspy.io.gcf:
* Replaced pure Python code base with C source code base updated to latest
revision of GCF format at time of writing (see #3055, April 2022)
* Added write support for GCF (see #3055)
* Added utility functions to check if a sampling rate or start time are
compatible with format restrictions (see #3055)
- obspy.io.gse2:
* When reading GSE2 bulletins, station magnitudes now include waveform IDs
and have associated station magnitude contributions (see #2718)
- obspy.io.hypodd
* add PHA write support (see #2687)
* add read support for horizontal and vertical origin uncertainty (see #2687)
- obspy.io.kinemetrics:
* adds the ``apply_calib`` argument to the ``read_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 passing ``apply_calib=True``, the
calibration factor will be used.
- 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)
- obspy.io.seiscomp:
* Add support for SC3ML 0.11 and 0.12, dropped support for SC3ML < 0.6
(see #2284).
* Add support for custom tags (see #2284).
- obspy.io.sh:
* fix appending traces to existing Q file (see #2870)
- obspy.io.xseed:
* fix a bug reading SEED blockettes 48 and 58 which was likely never
encountered (see #2668)
* Properly read a given value of 0.0 in station elevation and not replace it
with bogus value (see #2763)
- 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)
- obspy.signal.cross_correlation:
* Remove deprecated xcorr function, remove deprecated domain keyword
argument in correlate function (see #1979)
- obspy.signal.spectral_estimation.PPSD:
* Added special handling option for infrasound data and global infrasound
noise models for plotting (see #2740)
* Replaced use of deprecated Matplotlib functionality (see #2951)
- 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)
|