Subject: CVS commit: pkgsrc/geography/py-obspy
From: Thomas Klausner
Date: 2024-03-06 22:07:39
Message id: 20240306210739.7822CFA29@cvs.NetBSD.org

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)

Files:
RevisionActionfile
1.26modifypkgsrc/geography/py-obspy/Makefile
1.12modifypkgsrc/geography/py-obspy/PLIST
1.11modifypkgsrc/geography/py-obspy/distinfo