obspy.io.kinemetrics - Evt format support for ObsPy

Evt read support for ObsPy.

This module provides read support for the Evt Kinemetrics data format. It is based on the Kinemetrics description of the format and the provided C code (Kw2asc.c (see “KW2ASC.SRC” File in /doc section)).

copyright:The ObsPy Development Team (devs@obspy.org), Henri Martin, Thomas Lecocq, Kinemetrics(c)
license:GNU Lesser General Public License, Version 3 (https://www.gnu.org/copyleft/lesser.html)

Reading

Similar to reading any other waveform data format using obspy.core:

>>> from obspy import read
>>> st = read("/path/to/BI008_MEMA-04823.evt")
>>> st  
<obspy.core.stream.Stream object at 0x...>
>>> print (st)  
3 Trace(s) in Stream:
.MEMA..0 | 2013-08-15T09:20:28.000000Z - 2013-08-15T09:20:50.996000Z |
250.0 Hz, 5750 samples
.MEMA..1 | 2013-08-15T09:20:28.000000Z - 2013-08-15T09:20:50.996000Z |
250.0 Hz, 5750 samples
.MEMA..2 | 2013-08-15T09:20:28.000000Z - 2013-08-15T09:20:50.996000Z |
250.0 Hz, 5750 samples

Each trace will have a stats attribute containing the usual information and a kinemetrics_evt dictionary with specific attributes.

Note

All the Header’s attributes are not read (can be implemented if necessary for someone.)

>>> stats_evt = st[0].stats.pop('kinemetrics_evt')
>>> print(st[0].stats)  
         network:
         station: MEMA
        location:
         channel: 0
       starttime: 2013-08-15T09:20:28.000000Z
         endtime: 2013-08-15T09:20:50.996000Z
   sampling_rate: 250.0
           delta: 0.004
            npts: 5750
           calib: 1.0
         _format: KINEMETRICS_EVT
>>> for k, v in sorted(stats_evt.items()):
...     print(k, v)
...     
a2dbits 24
batteryvoltage -134
chan_azimuth 0
chan_calcoil 0.05000000074...
chan_damping 0.70700001716...
chan_east 0
chan_fullscale 2.5
chan_gain 1
chan_id
chan_natfreq 196.0
chan_north 0
chan_range 3
chan_sensitivity 2.5
chan_sensorgain 1
chan_up 0
comment MEMBACH
duration 230
elevation 298
gpslastlock 2013-08-15T09:19:20.000Z
gpsstatus Present ON
installedchan 4
instrument New Etna
latitude 50.609794616...
longitude 6.0092501640...
maxchannels 12
nchannels 3
nscans 6
samplebytes 3
serialnumber 4823
starttime 2013-08-15T09:20:28.000Z
stnid MEMA
temperature 76
triggertime 2013-08-15T09:20:34.600Z

The actual data is stored as numpy.ndarray in the data attribute of each trace.

>>> type(st[0].data)  
<... 'numpy.ndarray'>
>>> print(st[0].data)
[-0.02446475 -0.02453492 -0.02446709 ..., -0.02452556 -0.02450685
 -0.02442499]

Writing

Not implemented

Modules

core Evt (Kinemetrics files) bindings to ObsPy’s core classes.