io
¶
# Pyrocko I/O Modules
Input and output of seismic traces.
This module provides a simple unified interface to load and save traces to a few different file formats. The data model used for the pyrocko.trace.Trace
objects in Pyrocko is most closely matched by the Mini-SEED file format. However, a difference is, that Mini-SEED limits the length of the network, station, location, and channel codes to 2, 5, 2, and 3 characters, respectively.
Seismic Waveform IO
format |
format identifier |
load |
save |
note |
---|---|---|---|---|
Mini-SEED |
mseed |
yes |
yes |
|
SAC |
sac |
yes |
yes |
|
SEG Y rev1 |
segy |
some |
||
SEISAN |
seisan, seisan.l, seisan.b |
yes |
||
KAN |
kan |
yes |
||
YAFF |
yaff |
yes |
yes |
|
ASCII Table |
text |
yes |
||
GSE1 |
gse1 |
some |
||
GSE2 |
gse2 |
some |
||
DATACUBE |
datacube |
yes |
||
SUDS |
suds |
some |
||
CSS |
css |
yes |
Metadata IO
pyrocko.io.quakeml
parses QuakeML (https://quake.ethz.ch/quakeml/) into a pyrocko data model.pyrocko.io.stationxml
represents a FDSN stationXML model.
Notes
- load(filename, format='mseed', getdata=True, substitutions=None)[source]¶
Load traces from file.
- Parameters:
format – format of the file (
'detect'
,'from_extension'
,'mseed'
,'sac'
,'segy'
,'seisan'
,'seisan.l'
,'seisan.b'
,'kan'
,'yaff'
,'gse1'
,'gse2'
,'gcf'
,'datacube'
,'suds'
,'css'
,'tdms_idas'
,'hdf5_idas'
)getdata – if
True
(the default), read data, otherwise only read traces metadatasubstitutions – dict with substitutions to be applied to the traces metadata
- Returns:
list of loaded traces
When format is set to
'detect'
, the file type is guessed from the first 512 bytes of the file. Only Mini-SEED, SAC, GSE1, and YAFF format are detected. When format is set to'from_extension'
, the filename extension is used to decide what format should be assumed. The filename extensions considered are (matching is case insensitive):'.sac'
,'.kan'
,'.sgy'
,'.segy'
,'.yaff'
, everything else is assumed to be in Mini-SEED format.This function calls
iload()
and aggregates the loaded traces in a list.
- iload(filename, format='mseed', getdata=True, substitutions=None)[source]¶
Load traces from file (iterator version).
This function works like
load()
, but returns an iterator which yields the loaded traces.
- save(traces, filename_template, format='mseed', additional={}, stations=None, overwrite=True, **kwargs)[source]¶
Save traces to file(s).
- Parameters:
traces – a trace or an iterable of traces to store
filename_template – filename template with placeholders for trace metadata. Uses normal python ‘%(placeholder)s’ string templates. The following placeholders are considered:
network
,station
,location
,channel
,tmin
(time of first sample),tmax
(time of last sample),tmin_ms
,tmax_ms
,tmin_us
,tmax_us
. The versions with ‘_ms’ include milliseconds, the versions with ‘_us’ include microseconds.format –
'mseed'
,'sac'
,'text'
,'yaff'
,'gse2'
additional – dict with custom template placeholder fillins.
overwrite' – if
False
, raise an exception if file exists
- Returns:
list of generated filenames
Note
Network, station, location, and channel codes may be silently truncated to file format specific maximum lengthes.
Available IO Modules
Module to read and write GSE2.0, GSE2.1, and IMS1.0 files. |
|
QuakeML 1.2 input, output, and data model. |
|
SAC IO library for Python |
|
File IO module for SICK traces format. |
|