-
Notifications
You must be signed in to change notification settings - Fork 32
Home
ObsPyck is a GUI application that is intended to cover the tasks in a standard analysis workflow for seismic events in seismological observatory practice. To achieve this ObsPyck heavily relies on several ObsPy modules.
ObsPyck can connect to different servers (via obspy.seishub, obspy.arclink and obspy.fissures), automatically fetches waveforms and metadata (instrument responses, station coordinates) for given time span and network/station IDs and shows all fetched data in a fully interactive screen. Waveform data can also be visualized in form of spectrograms. There is also support for local files (all file formats recognized by ObsPy, metadata has to be supplied in either Dataless SEED or XSEED).
ObsPyck can then be used to set P and S wave picks as well as set amplitude maxima/minima for magnitude estimation. These pick data can then be used to run various external programs (e.g. Hypo Inverse 2000, NLLoc, FocMec) that are addressed via system calls. Local magnitudes are calculated using ObsPy (including instrument corrections with fetched response information). The resulting event location and additional information is displayed together with station magnitudes and locations and in an interactive map. It is also possible to fetch and visualize event data for all events that are already present in the SeisHub database (see also SeishubExplorer).
Finally the event results can be transformed to a XML document (structurally close to QuakeML) and uploaded to the connected SeisHub server.
Installation of stable versions from pypi is done with:
$ pip install obspyck
To install a current master version of obspyck, clone the repository and install using pip..
$ git clone https://github.com/megies/obspyck.git /path/to/my/obspyck
$ pip install /path/to/my/obspyck # optionally add option '-e' for a linked installation, being able to update by simply pulling in new commits the git checkout
.. or install from a zipball, using e.g. this link for current master
:
Simply download the complete repository and run obspyck.py.
$ git clone https://github.com/megies/obspyck.git /path/to/my/obspyck
$ pip install /path/to/my/obspyck # optionally add option '-e' for a linked installation, being able to update by simply pulling in new commits the git checkout
Once Obspyck is installed, edit the file setup.py and comment out the following line:
obspy>=1.1.0
Note: As of March 20th 2017, current master of obspyck needs a current obspy master, see https://github.com/megies/obspyck/issues/40. See https://github.com/obspy/obspy/wiki/Developer-Installation for full details on installing the development version of obspy.
In the future (when obspy 1.1.0 is out), there will be conda packages for an even easier installation, see https://github.com/conda-forge/obspyck-feedstock and https://anaconda.org/conda-forge/obspyck.
Obspyck also needs pyqt4 to be installed. This can be done with Anaconda (existing packages may need to be downgraded - this is okay - accept and continue):
$ conda install pyqt=4
Make sure that you are ‘inside’ your Anaconda Obspy development environment.
$ obspyck [waveform files] [dataless SEED file] –t [time start] –d [time length of window] –config [config file]
Notes:
-
obspyck -h
displays usage details - Waveform files are a space-delimited set of filenames and paths. These files can be any Obspy-readable format – e.g. SAC, miniSEED, GCF. Can also be a single multiplexed miniSEED file.
- A single dataless SEED volume file containing metadata for all stations to be analysed needs to be provided so station locations can be determined (and instrument response correction, if required).
- Time start in the typical obspy UTCDateTime object format: yyyy-mm-ddThh:mm:ss
- -d in seconds (optional). Default is defined in the config file.
- Config file: path and filename. Example is given in the Obspyck installation directory Obspyck/Obspyck/example.cfg
- Need to make a directory for location of Obspyck plugins (e.g. Hypoinverse, Nonlinloc, Focmec) - directory name is defined in the .cfg file – ‘pluginpath’
- In the plug-in directory, you need the following: crustal velocity model (e.g. .crh); HypoInverse control file (e.g. .inp); hypoInverse binary executable file (see below)
- Binary executable: source code available from ftp://ehzftp.wr.usgs.gov/klein/hyp1.40/; pre-compiled Linux version from http://faldersons.net/Software/Hypoinverse/Hypoinverse.html; Linux binary should be named “hyp2000__Linux__64bit” for Linux 64-bit or “hyp2000__Darwin__64bit” for Mac OSX
- Hypoinverse working files are stored in temp directory determined by Python (normally /var/)
Clicking 'Overview' plots the Z trace of every stream.
After zooming in using the mouse wheel (shift + mouse wheel to zoom amplitude) picks can be set using the mouse buttons (or at the mouse position with user-defined keys).
After setting all picks the external location algorithm can be run e.g. by clicking 'do NLLoc'. The event location and information on residuals and magnitudes are displayed in an interactively zoomable map.
After locating, the synthetic picks from the residuals are shown in the stream view. This enables convenient refining of picks.
Waveform data can also be visualized in form of spectrograms.
Focal mechanisms determined by FocMec can be visualized indicating alternative solutions.
A Wadati diagram can be plotted to estimate local Vp/Vs ratios.
At the moment ObsPyck is tested on Linux and Mac.
The debugging mode allows access to all internal variables and data.
- Python (>= 2.5)
- ObsPy (>= 0.8.3; < 1.0.0)
- matplotlib (>= 0.98.1)
- Qt and PyQt (both >= 4.4)