Skip to content

ObsPy integration #967

Open
Open
@liamtoney

Description

@liamtoney

ObsPy is the de facto standard tool for processing seismological data using Python. GMT is already heavily used by seismologists. It seems natural to make PyGMT integrate better with ObsPy. This issue can serve as a platform for broad discussion of how we might accomplish this.

On the seismology side in general, we already have Figure.meca() wrapped. Some GMT plotting commands (namely, sac) could be wrapped by PyGMT and integrated with standard ObsPy data objects, such as Trace and Stream objects. We could even configure Figure.plot() to take Inventory objects.

For waveform plotting, imagine:

import pygmt
import obspy

tr = obspy.read()[0]

fig = pygmt.Figure()
fig.coast(...)  # Make your map
fig.plot(...)  # Plot your stations / event / etc.
fig.sac(trace=tr, ...)  # Plot your waveform
fig.show()

(Of course, perhaps we'd want to rename Figure.sac() for this example...)

We'd want to make ObsPy an optional dependency if we went down this route. I think that most of the work would be related to I/O, type-checking, etc. — as well as surveying the seismology community on what'd be useful.

Do folks have other ideas? Pinging @megies and @krischer in case you have any thoughts on this (thanks).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions