Tohle je jen pro hezčí zobrazování:
%pylab inline
from __future__ import print_function
import matplotlib.pylab as plt
plt.style.use('ggplot')
plt.rcParams['figure.figsize'] = 12, 8
import warnings
warnings.filterwarnings("ignore")
Z modulu ObsPy
nám stačí nahrát jen některé funkce/objekty:
from obspy.core import read, UTCDateTime
Pomocí read
můžeme načíst signály uložené v různých formátech, vše se pak převede do jednotného formátu objektu Stream
.
Podporované formáty: MSEED, SAC, GSE2, SEISAN, SACXY, GSE1, Q, SH_ASC, SLIST, TSPAIR, Y, PICKLE, SEGY, SU, SEG2, WAV, DATAMARK, CSS, AH, PDAS, KINEMETRICS_EVT
st = read('KHC_Z.mseed') # MSEED
st += read('KHC_N.SAC') # SAC
st += read('KHC_E.asc') # ASCII from Seismic Handler
st += read('B16.QHD') # Q by Seismic Handler
st += read('B29.gse2') # GSE2
print(st)
Stream
je kontejner na jednotlivé objekty Trace
, k tomu jsou navíc předdefinované funkce jako například decimate
, detrend
, filter
, integrate
, interpolate
, merge
, normalize
, remove_response
, rotate
, simulate
, spectrogram
, taper
, trigger
, write
, ... a plot
.
st.plot(equal_scale=False, size=(1200, 800))
Objekt Trace
má v Trace.stats
uložené metadata, samotný signál se nachází v Trace.data
.
print(st[0].stats)
print('-----------------------------------')
print(st[1].stats)
print('-----------------------------------')
print(st[4].stats)
Jednotlivé funkce můžeme řetězit, na objekt působí postupně zleva doprava.
t = UTCDateTime('2002-03-31T07:00:00')
st.copy().select(channel="*Z").trim(t, t+15*60).detrend('linear').normalize().plot(size=(1200, 400))