obspy.sh - Q and ASC (Seismic Handler) read and write support for ObsPy

The obspy.sh package contains methods in order to read and write seismogram files in the Q and ASC format used by the Seismic Handler software package (http://www.seismic-handler.org).

copyright:The ObsPy Development Team (devs@obspy.org)
license:GNU Lesser General Public License, Version 3 (http://www.gnu.org/copyleft/lesser.html)


Importing Q or ASC files is done similar to reading any other waveform data format within ObsPy by using the read() method of the obspy.core module. Examples seismograms files may be found at http://examples.obspy.org.

>>> from obspy import read
>>> st = read("/path/to/QFILE-TEST-ASC.ASC")
>>> st 
<obspy.core.stream.Stream object at 0x...>
>>> print(st)  
3 Trace(s) in Stream:
.TEST..BHN | 2009-10-01T12:46:01.000000Z - ... | 20.0 Hz, 801 samples
.TEST..BHE | 2009-10-01T12:46:01.000000Z - ... | 20.0 Hz, 801 samples
.WET..HHZ  | 2010-01-01T01:01:05.999000Z - ... | 100.0 Hz, 4001 samples

The file format will be determined automatically. Each trace (multiple channels are mapped to multiple traces) will have a stats attribute containing the usual information.

>>> print(st[0].stats) 
             station: TEST
             channel: BHN
           starttime: 2009-10-01T12:46:01.000000Z
             endtime: 2009-10-01T12:46:41.000000Z
       sampling_rate: 20.0
               delta: 0.05
                npts: 801
               calib: 1.5
             _format: SH_ASC
                  sh: AttribDict({'COMMENT': 'TEST TRACE IN QFILE #1'})

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

>>> st[0].data 
array([ 0.00000000e+00,   0.00000000e+00,   0.00000000e+00, ...
       -4.03387604e+01,  -3.99515305e+01,  -3.95423012e+01], dtype=float32)


Writing is also done in the usual way:

>>> st.write('file.q', format = 'Q') 


>>> st.write('file.asc', format = 'SH_ASC') 


core SH bindings to ObsPy core module.

Table Of Contents

This Page