All notable changes to Pyrocko are documented in this file.
The format is based on Keep a Changelog.
empty
squirrel jackseis: new option:--codessquirrel codes: new options:--codes,--kind- Squirrel pile emulation: support
chopper_groupedmethod. - Squirrel: support grouping in
chopper_waveformsmethod. - Running
python -m rdseednow converts dataless to stationxml. - Squirrel: new subcommands
remove promises,stationxml. - New Squirrel CLI tutorial.
- Support GMT6 in gmtpy and automap.
- Fixed installation issues
install.pycalled incorrect pip version,- Improved platform detection.
install.pynow works on some older linuxes.
- Squirrel: various bugfixes and docs improvements
- Improved robustness of StationXML response handling.
- Snuffler: allow confirmation of ctrl-c on command line.
- Drop support for auto-persistent datasets (had confusing consequences).
- New framework for seismological data access:
pyrocko.squirrel - New module
modelling.cracksolcontaining different analytical crack solutions for displacement and dislocation modelling. - New extension
modelling.ext.okada_extfollowingOkada, 1992to calculate displacements and spatial derivatives. - New module
modelling.okadawithOkadaSourceobject as wrapper of C extension and inverter to estimate dislocation based on stress drop on a rectangular rupture plane. - New
gf.seismosizer.PseudoDynamicRupturewrapping boundary element method based onmodelling.okada.OkadaSourcecombined with the Eikonal solver to perform quasi-dynamic slip modelling. - New plotting module for the
PseudoDynamicRuptureinplot.dynamic_rupture. - New scenario
scenario.sources.pseudodynrupturefor usage of thePseudoDynamicRuptureascolosseoinput. - New
aggressive_oversamplingattribute for bothgf.RectangularSourceandgf.PseudoDynamicRuptureallowing for hard oversampling of the basesources. - RMS Snuffling: Option to show log RMS.
- New example on how to create QuakeML files from scratch.
- automap: add flags to customize plate plotting and axes ticks
- Snuffler: live seismograms from DataCube.
- Improved responses module, more supported transfer functions, converters.
- Improved error handling and diagnostics when extracting responses from StationXML.
- Functions to instantiate moment tensor from P and T axes.
- Examples for eikonal solver.
- Support for take-off angle and other precomputed tables in GF stores.
- Snuffler: add waterfall style for dense recordings like DAS.
- Snuffler:
goto today,goto yesterdaycommands. - Support reading of TDMS IDAS files.
- Fix Snuffler crashes on reading invalid files and other IO related errors.
- Fixed
Trace.envelope. - Fixed
evalrespplatform detection. - Fixed
MomentTensor.both_slip_vectors, this function was broken completely.
- Drop support for Python < 3.5.
- Drop support for Qt4.
- Improvements to directivity plot.
- Renamed Snuffling "Block RMS" to "RMS".
- Fomosto QSEIS backend can now handle non-zero (negative) top layer depth, e.g. for models including the atmosphere.
- Removed support for initial marker file format from before August 2011.
- New installation recommendations.
- Snuffler: two more marker kinds/colors (6, 7).
- Snuffler: migrated from right-click menu to regular menubar.
- Improved RMS and STA/LTA Snufflings (keep responsive while processing, abort button, more options).
- Reading of GNSS location information from datacube files.
- Jackseis: added possibility to restitute data to displacement, velocity, or acceleration.
- Fix problems with Station-XML files containing 1900-01-01 dummy dates (macOS).
- Correct 'pyrocko-python' symlink on Linux which was broken in v2021.06.29 (affects grondown scripts).
- Windows support (experimental).
- Jackseis: can now use 3-digit Julian day in output filename templates.
- Snuffler: improved fidelity when working with many markers. It should now be
possible to smoothly handle 100.000 markers. The option
--disable-marker-sortingcan be supplied to disable sorting in the marker side-panel for an additional speedup. - Improved high precision (HP) time handling. Pyrocko now has two distinct
modes for time handling. Timestamps are now handled either as 64-bit floats
or as 96/128-bit floats. The mode can be selected by environment variable,
config setting or by a call to
util.use_high_precicion_timeat program startup. HP time mode is only available on platforms where NumPy's HP floats are available. HP time mode is necessary when handling data with sampling rates above 100 kHz. - Dropping support for Python 2 binary distribution packages (Anaconda and PIP).
- Python 2 support will be removed from Pyrocko in the near future in order to reduce our maintenance and testing workload. Sorry.
- Fixed an error in Double-DC source which caused incorrect placement of the sub-sources.
- RectangularSource: added opening_fraction to model tensile dislocations
- New command line option for jackseis:
--record-length - Timing definition offsets can now take
%as suffix to scale phase traveltimes relatively. - New plot function to show radiation pattern / azimuthal distribution of directivity effects for synthetics.
- Snuffler: load StationXML via menu.
io.mseed: Adding option for STEIM2 compression.- Jackseis: Adding
--output-steimoption to control compression. Default compression changed to STEIM2. - YAML files can now include other YAML files, when loaded through guts.
- Moment tensor objects can now also be initialized from east-north-up coordinates.
- Fix plotting issues in cake.
- Update Geofon catalog to handle MTs correctly after Geofon web page update.
- Fix typos in STA/LTA documentation.
- Fomosto PSGRN/PSCMP backend: improved control of modelling parameters, fixes some accuracy issues, regarding the spacial sampling interval.
- Fomosto PSGRN/PSCMP backend: fixed scaling of isotropic GF components
- Improved handling of differing sampling rates and interpolation settings
when modelling multiple targets in
gf.Engine.process. - PyQt compat issues with MacOS Big Sur.
- Fix of
gf.SFSource.discretize_basesource.
- GmtPy now forces PDF version 1.5 when producing PDFs (newer PDFs caused problems when included in XeLaTeX).
- QuakeML: Not strictly requiring preferred origin to be set anymore when extracting Pyrocko event objects.
- Snuffler now asks for confirmation when the user attempts to close the window.
- Fix errors with corrupt WADL returned by GEONET FDSN web service.
- Fix cake crashes related to the
--distancesargument on newer NumPy/Python3.8.
- Changed default of
demeanargument toTrace.transferfromFalsetoTrue, to be consistent with the behaviour before the introduction of that flag.
- Support for rotational seismograms in GF stores and Fomosto QSSP2017 backend.
- Trace objects now support serialization to YAML and inclusion into Guts based objects.
- Fix incorrect conversion from displacement to velocity and acceleration in
seismogram synthesis in
pyrocko.gf. The problem occured whenquantity='velocity'was selected in apyrocko.gf.Targetwith a GF store withstored_quantity='displacement'. The returned amplitudes were incorrect except for the case of 1 Hz GFs.
- Installation of prerequisites is now possible with a separate script
install_prerequisites.pyrather than throughsetup.py install_prerequisites.
- Respect sensor azimuth and dip when converting RESP to StationXML.
- Scenario-generator (Colosseo) now supports user-specified lists of stations.
- FDSN client now checks arguments against service description (WADL) by default.
- Improved FDSN client and documentation.
- Fix Py2/Py3 related crashes of
fomosto server. - Fix installation dependency issues.
- Fix error in EPS export of GmtPy (GMT5).
- Fix broken CSV export in CrustDB.
- Fix broken help panel in some snufflings.
- Fix buggy marker removal in Snuffler
- Various small bug fixes and documentation improvements.
- Fix Python 2 issue affecting
fomosto server
- Event objects now have an
extrasdict to hold user defined attributes.
- Removed dependency on 'future' package.
- On installation with pip we now allow automatic dependency resolution.
- We now additionally provide binary 'manylinux1' pip wheels for Python 2.7, 3.5, 3.6, 3.7, and 3.8.
- Improved testing, CI, deployment.
- Fix a bug in static modelling time handling.
fomosto:- Support QSSP 2017
- Support QSSP PPEG variant
- Add subcommand
tttlsdto fill holes in travel time tables. Uses eikonal solver to fill the holes. - Allow setting receiver depth for
tttview.
gf:- Support
velocityandaccelerationas stored GF quantities. - Support squared half-sinusoid source time function.
- Support
- Allow specifying record length when saving MiniSEED files.
- New command line options to save cake plots.
- In
trace.transfer, bypass FFTs for flat responses.
- Fix problems with corrupt channel info text tables from FDSN.
- Correct reading of SEGY files with IEEE floating point values.
- Correct query parameters for ISC catalog, previous versions where querying for HH:HH:SS instead of HH:MM:SS.
- Fix scenario generator crashes.
- Fix incorrect error handling in GF waveform synthesis
(
store_calc_timeseries). - Fix failing maps snuffling when running multiple Snuffler instances.
- Support querying all stations with
GLOBALfrom ISC. - Support event queries in
client.fdsn. - Catalog snuffling: support FDSN event queries.
- Add
trace_scalesetting in Snuffler configuration file. - Support 1-2-3 as a valid channel triplet.
- Support
elastic2component scheme in Fomosto QSEIS backend (pure explosion sources). - Support Burger's elasticity parameters in
cakeandgf.psgrn_pscmp. - Include updated old GmtPy tutorial it documentation.
- Snuffler: can now use
<tab>and<shift>-<tab>to iterate through phase markers of active event. - New dataset: Pleistocene and Holocene volcano database from Smithsonian Institution.
- All location-based objects like events and stations should now fully support Cartesian offset coordinates.
- Scenario: interface, behaviour and defaults improved.
- Snuffler: trace to station lookup now supports both:
(net, sta)and(net, sta, loc). The latter more specific one has precedence. - Automap: changed appearance of GNSS velocities.
- Fix a bug affecting origin time and STF of
gf.RectangularSource. - Fix conversion of QuakeML phase lacking phase hint to Pyrocko marker.
- Fix ignored
timeoutargument inclient.fdsn.dataselect. - Fix error in polygon-on-sphere cutting (
beachballmodule). - Fix errors in point in polygon-on-sphere checks.
- Fix various errors in GSHHG data dry/wet area masking.
- Fix crashes with bad StationXML files, improve robustness.
- Fix problems with crazy GPS infos in Datacube recordings. Time interpolation is now much more robust.
- Fix crashes in recursive STA/LTA.
- Fix a numerical bug in recursive STA/LTA.
- Improved SeedLink acquisition.
- Shortcut to get Kite
ScenefromSatelliteResultand directKiteSceneTarget. - Improve documentation of
pyrocko.gfwith a special topic chapter. - Combined volume change plus CLVD parameterized source:
gf.VLVDSource. - Method to perturb
cakeearth models. - Support cross-section views in beachball plotting.
- Automap now defaults to not show any scale.
- Improved compatibility with Anaconda.
gf:- CombiSource, which can handle a set of different sources as a single source object
- resonator stf
guts:- Function to get Guts attributes.
ypathfunctions to set Guts attributes via pattern.
- Snuffler:
clip_tracesconfigurable in configuration file. - New client: ISC catalog interface.
- Add a function to create phase markers from QuakeML.
- Can now use Gutenberg Richter magnitude distribution when creating synthetic scenario events.
- Support for handling of sparse gnss components.
- gf:
- Now the discretised point sources have their true time set, time shifting is done only before and after c function calls.
- Source times are handled in double precision.
- Static store requests fallback to zero time to handle absolute source times.
- Store ext gives individual index for out of bounds error for targets.
- Geofon catalog web format changed, now parsing GeoJSON instead of HTML.
- Instrument response deconvolution gives more explicit warnings about inconsistencies.
- Changed default of
model.gnsscorrelation factor to 0.0. - Add flag to dump progressbar instead of showing the progressbar.
- Can now handle and plot GNSS stations lacking complete set of component orientations.
- Event depth is now optional (model).
- gf:
- low level errors in time handling
- ExplosionSource for non-volume sources
obspy_compatevent conversion- Problem with numpy scalars in source and target objects
- Conversion of quakeml piks to pyrocko phasepiks use phase polarities strings
- snuffling broken load dialogs (QT5)
- trace: deltat rounding error function
- segy functions
- model.gnss covar
- scenario: perfomance improvement
- geofon catalog: problem with multiple solutions for some events
- setup: UnicodeDecodeError
- fuzzy beachball plotting bugs
- Anaconda builds for python 3.6 and 3.7
- Green's Mill
- gf: rectangular source check for point source discretisation
- stationxml: using a flat response function is enabled
- guts: support for time stamps in local time
- datasets/geonames: get city by name
- gf: Eikonal solver
- plot: fuzzy beachballs
- trace: has a function to fix rounding errord
- gf: improved summation of static gf components
- FDSN: configurable time out for requests
- rdseed get_station fix
- gf: quantity velocity from displacement through
num.diff
- Snuffler map added
- Bing aerial images
- Distance and area measure
- Toggle lines and cities
- GF: Server added JSON API
- Snuffler: and Jackseis now accept YAML event files
- Snuffler: polarity picking in
- fomosto: ttt now checks for holes in travel-time tables
- Guts:
- can now specify output yaml style for strings
- improved XML namespace support
- add utility module to help with guts structure updaters
- model: GNSS displacement components can have covariances
- gf:
- improved handling of derived magnitude sources
- slip-driven rectangular source, explosion
- Fixed Bug in
ExplosionSource(incorrect moment conversion) - Fixed bug in polygon coordinates
- Fixed SSL issues
- Fixed SRTM tile download
- Fixed
fomosto tttextract --output - Various minor bugfixes
- Various compatibility fixes
- Updated web service URLs and online catalog parsers
pyrocko.obspy_compatcompatibility with basic ObsPy classes (see https://pyrocko.org/docs/)- Added examples for ObsPy compatability, StationXML and QuakeML
- Added
Source.outline
geofonupdated page parser- old
requestscompatibility - various bugfixes
- improvements to
colosseo/scenario model.load_events()now acceptsyamlbased event files
- changes on geofon event web pages require an update in
catalog.geofon - better handling of defaults in
guts, guts-derived default objects are now automatically cloned - follow changed SRTM url
- error in string/time conversion (affecting date formats with more than one '.')
- py2/3 related bugs in
cakeandguts - incorrect handling of moment/magnitude in
moment_tensor.MomentTensor.randam_mt()
- new
pyrocko.model:GNSSCampaignmodel - new
pyrocko.gf:GNSSCampaignTarget - New module
pyrocko.scenario: Create earthquake data scenarios on the fly, outputs are- Waveforms model
- InSAR deformation model (with
kite) - GNSS data
Use
colosseoCLI tool to initialize and calculate your earthquake scenarios.
pyrocko.pile: cachingsnuffler: improved OpenStreetmap visual appearance and loggingsnuffler: marker table print menusnuffler.maps: upgrade to OpenLayers4
- QuakeML - Include moment tensor to
pyrocko.model.event
- deployment polishing to
pipand Anaconda - documentation
pyrocko.pilecaching- automap SRTM download authentication
- Python 2/3 support
- Community support chat
- new deployment for Anaconda and
pip - Installation through python pip and Anaconda
- Built-in Snufflings added: Maps, Seismosizer and Cake
- Version naming has changed to rolling release style (e.g. v2017.11.16)
- Reorganized module hierarchy (backwards-compatible)
- documentation and examples