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
- 1
For SAC files, the endianness is guessed. Additional header information is stored in the Trace’s
meta
attribute.- 2
Seisan waveform files can be in little (
seisan.l
) or big endian (seisan.b
) format.seisan
currently is an alias forseisan.l
.- 3
The KAN file format has only been seen once by the author, and support for it may be removed again.
- 4
YAFF is an in-house, experimental file format, which should not be released into the wild.
- 5
ASCII tables with two columns (time and amplitude) are output - meta information will be lost.
- 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'
)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. |