ims
¶
Module to read and write GSE2.0, GSE2.1, and IMS1.0 files.
- exception DeserializeError(*args, **kwargs)[source]¶
Raised when deserialization of an IMS/GSE2 object fails.
- class Section(**kwargs)[source]¶
Base class for top level sections in IMS/GSE2 files.
Sections as understood by this implementation typically correspond to a DATA_TYPE section in IMS/GSE2 but for some types a finer granularity has been chosen.
- class Block(**kwargs)[source]¶
Base class for IMS/GSE2 data blocks / lines.
Blocks as understood by this implementation usually correspond to individual logical lines in the IMS/GSE2 file.
- class DataType(**kwargs)[source]¶
Representation of a DATA_TYPE line.
- ♦ type¶
str
- ♦ subtype¶
str
, optional
- ♦ format¶
str
- ♦ subformat¶
str
, optional
- class FTPFile(**kwargs)[source]¶
Representation of an FTP_FILE line.
- ♦ net_address¶
str
- ♦ login_mode¶
str
(pyrocko.guts.StringChoice
)
- ♦ directory¶
str
- ♦ file¶
str
- class WaveformSubformat(...) dummy for str [source]¶
Any
str
out of['INT', 'CM6', 'CM8', 'AU6', 'AU8']
.
- class WID2(**kwargs)[source]¶
Representation of a WID2 line.
- ♦ time¶
time_float (
pyrocko.guts.Timestamp
)
- ♦ station¶
str
station code (5 characters)
- ♦ channel¶
str
channel code (3 characters)
- ♦ location¶
str
, optional, default:''
location code (aux_id, 4 characters)
- ♦ sub_format¶
str
(WaveformSubformat
), default:'CM6'
- ♦ nsamples¶
int
, default:0
- ♦ sample_rate¶
float
, default:1.0
- ♦ calibration_factor¶
float
, optionalsystem sensitivity (m/count) at reference period (calibration_period)
- ♦ calibration_period¶
float
, optionalcalibration reference period [s]
- ♦ instrument_type¶
str
, optional, default:''
instrument type (6 characters)
- ♦ horizontal_angle¶
float
, optionalhorizontal orientation of sensor, clockwise from north [deg]
- ♦ vertical_angle¶
float
, optionalvertical orientation of sensor from vertical [deg]
- class OUT2(**kwargs)[source]¶
Representation of an OUT2 line.
- ♦ time¶
time_float (
pyrocko.guts.Timestamp
)
- ♦ station¶
str
station code (5 characters)
- ♦ channel¶
str
channel code (3 characters)
- ♦ location¶
str
, optional, default:''
location code (aux_id, 4 characters)
- ♦ duration¶
float
- class DLY2(**kwargs)[source]¶
Representation of a DLY2 line.
- ♦ time¶
time_float (
pyrocko.guts.Timestamp
)
- ♦ station¶
str
station code (5 characters)
- ♦ channel¶
str
channel code (3 characters)
- ♦ location¶
str
, optional, default:''
location code (aux_id, 4 characters)
- ♦ queue_duration¶
float
duration of queue [s]
- class DAT2(**kwargs)[source]¶
Representation of a DAT2 line.
- ♦ raw_data¶
list
ofstr
objects, default:[]
- class STA2(**kwargs)[source]¶
Representation of a STA2 line.
- ♦ network¶
str
network code (9 characters)
- ♦ lat¶
float
, optional
- ♦ lon¶
float
, optional
- ♦ coordinate_system¶
str
, default:'WGS-84'
- ♦ elevation¶
float
, optionalelevation [m]
- ♦ depth¶
float
, optionalemplacement depth [m]
- class EID2(**kwargs)[source]¶
Representation of an EID2 line.
- ♦ event_id¶
str
event ID (8 characters)
- ♦ bulletin_type¶
str
bulletin type (9 characters)
- class BEA2(**kwargs)[source]¶
Representation of a BEA2 line.
- ♦ beam_id¶
str
beam ID (12 characters)
- ♦ azimuth¶
float
- ♦ slowness¶
float
- class Network(**kwargs)[source]¶
Representation of an entry in a NETWORK section.
- ♦ network¶
str
network code (9 characters)
- ♦ description¶
str
description
- class Station(**kwargs)[source]¶
Representation of an entry in a STATION section.
- ♦ network¶
str
network code (9 characters)
- ♦ station¶
str
station code (5 characters)
- ♦ type¶
str
station type (4 characters) (1C: single component, 3C: three-component, hfa: high frequency array, lpa: long period array)
- ♦ lat¶
float
- ♦ lon¶
float
- ♦ coordinate_system¶
str
, default:'WGS-84'
- ♦ elevation¶
float
elevation [m]
- ♦ tmin¶
time_float (
pyrocko.guts.Timestamp
)
- ♦ tmax¶
time_float (
pyrocko.guts.Timestamp
), optional
- class Channel(**kwargs)[source]¶
Representation of an entry in a CHANNEL section.
- ♦ network¶
str
network code (9 characters)
- ♦ station¶
str
station code (5 characters)
- ♦ channel¶
str
channel code (3 characters)
- ♦ location¶
str
, optional, default:''
location code (aux_id, 4 characters)
- ♦ lat¶
float
, optional
- ♦ lon¶
float
, optional
- ♦ coordinate_system¶
str
, default:'WGS-84'
- ♦ elevation¶
float
, optionalelevation [m]
- ♦ depth¶
float
, optionalemplacement depth [m]
- ♦ horizontal_angle¶
float
, optionalhorizontal orientation of sensor, clockwise from north [deg]
- ♦ vertical_angle¶
float
, optionalvertical orientation of sensor from vertical [deg]
- ♦ sample_rate¶
float
- ♦ instrument_type¶
str
, optional, default:''
instrument type (6 characters)
- ♦ tmin¶
time_float (
pyrocko.guts.Timestamp
)
- ♦ tmax¶
time_float (
pyrocko.guts.Timestamp
), optional
- class BeamGroup(**kwargs)[source]¶
Representation of an entry in a BEAM group table.
- ♦ beam_group¶
str
beam group (8 characters)
- ♦ station¶
str
station code (5 characters)
- ♦ channel¶
str
channel code (3 characters)
- ♦ location¶
str
, optional, default:''
location code (aux_id, 4 characters)
- ♦ weight¶
int
, optionalweight used for this component when the beam was formed
- ♦ delay¶
float
, optionalbeam delay for this component [s] (used for meabs formed by non-plane waves)
- class BeamParameters(**kwargs)[source]¶
Representation of an entry in a BEAM parameters table.
- ♦ beam_id¶
str
- ♦ beam_group¶
str
- ♦ is_rotated¶
bool
rotation flag
- ♦ azimuth¶
float
azimuth used to steer the beam [deg] (clockwise from North)
- ♦ slowness¶
float
slowness used to steer the beam [s/deg]
- ♦ phase¶
str
phase used to set the beam slowness for origin-based beams (8 characters)
- ♦ filter_fmin¶
float
low frequency cut-off for the beam filter [Hz]
- ♦ filter_fmax¶
float
high frequency cut-off for the beam filter [Hz]
- ♦ filter_order¶
int
order of the beam filter
- ♦ filter_is_zero_phase¶
bool
flag to indicate zero-phase filtering
- ♦ filter_type¶
str
(FilterType
)type of filtering
- ♦ tmin¶
time_float (
pyrocko.guts.Timestamp
)start date of beam use
- ♦ tmax¶
time_float (
pyrocko.guts.Timestamp
), optionalend date of beam use
- class OutageReportPeriod(**kwargs)[source]¶
Representation of a the report period of an OUTAGE section.
- ♦ tmin¶
time_float (
pyrocko.guts.Timestamp
)
- ♦ tmax¶
time_float (
pyrocko.guts.Timestamp
)
- class Outage(**kwargs)[source]¶
Representation of an entry in the OUTAGE section table.
- ♦ network¶
str
network code (9 characters)
- ♦ station¶
str
station code (5 characters)
- ♦ channel¶
str
channel code (3 characters)
- ♦ location¶
str
, optional, default:''
location code (aux_id, 4 characters)
- ♦ tmin¶
time_float (
pyrocko.guts.Timestamp
)
- ♦ tmax¶
time_float (
pyrocko.guts.Timestamp
)
- ♦ duration¶
float
- ♦ comment¶
str
- class CAL2(**kwargs)[source]¶
Representation of a CAL2 line.
- ♦ station¶
str
station code (5 characters)
- ♦ channel¶
str
channel code (3 characters)
- ♦ location¶
str
, optional, default:''
location code (aux_id, 4 characters)
- ♦ instrument_type¶
str
, optional, default:''
instrument type (6 characters)
- ♦ calibration_factor¶
float
system sensitivity (m/count) at reference period (calibration_period)
- ♦ calibration_period¶
float
calibration reference period [s]
- ♦ sample_rate¶
float
system output sample rate [Hz]
- ♦ tmin¶
time_float (
pyrocko.guts.Timestamp
)effective start date and time
- ♦ tmax¶
time_float (
pyrocko.guts.Timestamp
), optionaleffective end date and time
- ♦ comments¶
list
ofstr
objects, default:[]
- class Stage(**kwargs)[source]¶
Base class for IMS/GSE2 response stages.
Available response stages are
PAZ2
,FAP2
,GEN2
,DIG2
, andFIR2
.- ♦ stage_number¶
int
stage sequence number
- class PAZ2Data(**kwargs)[source]¶
Representation of the complex numbers in PAZ2 sections.
- ♦ real¶
float
- ♦ imag¶
float
- class PAZ2(**kwargs)[source]¶
Representation of a PAZ2 line.
- ♦ scale_factor¶
float
scale factor [ouput units/input units]
- ♦ decimation¶
int
, optionaldecimation
- ♦ correction¶
float
, optionalgroup correction applied [s]
- ♦ npoles¶
int
number of poles
- ♦ nzeros¶
int
number of zeros
- ♦ description¶
str
, optional, default:''
description
- ♦ poles¶
list
ofcomplex
objects, default:[]
- ♦ zeros¶
list
ofcomplex
objects, default:[]
- ♦ comments¶
list
ofstr
objects, default:[]
- class FAP2Data(**kwargs)[source]¶
Representation of the data tuples in FAP2 section.
- ♦ frequency¶
float
- ♦ amplitude¶
float
- ♦ phase¶
float
- class FAP2(**kwargs)[source]¶
Representation of a FAP2 line.
- ♦ decimation¶
int
, optionaldecimation
- ♦ correction¶
float
group correction applied [s]
- ♦ ntrip¶
int
number of frequency, amplitude, phase triplets
- ♦ description¶
str
, optional, default:''
description
- ♦ frequencies¶
list
offloat
objects, default:[]
frequency [Hz]
- ♦ amplitudes¶
list
offloat
objects, default:[]
amplitude [input untits/output units]
- ♦ phases¶
list
offloat
objects, default:[]
phase delay [degrees]
- ♦ comments¶
list
ofstr
objects, default:[]
- class GEN2Data(**kwargs)[source]¶
Representation of a data tuple in GEN2 section.
- ♦ corner¶
float
corner frequency [Hz]
- ♦ slope¶
float
slope above corner [dB/decate]
- class GEN2(**kwargs)[source]¶
Representation of a GEN2 line.
- ♦ calibration_factor¶
float
system sensitivity (m/count) at reference period (calibration_period)
- ♦ calibration_period¶
float
calibration reference period [s]
- ♦ decimation¶
int
, optionaldecimation
- ♦ correction¶
float
group correction applied [s]
- ♦ ncorners¶
int
number of corners
- ♦ description¶
str
, optional, default:''
description
- ♦ corners¶
list
offloat
objects, default:[]
corner frequencies [Hz]
- ♦ slopes¶
list
offloat
objects, default:[]
slopes above corners [dB/decade]
- ♦ comments¶
list
ofstr
objects, default:[]
- class DIG2(**kwargs)[source]¶
Representation of a DIG2 line.
- ♦ sensitivity¶
float
sensitivity [counts/input units]
- ♦ sample_rate¶
float
digitizer sample rate [Hz]
- ♦ description¶
str
, optional, default:''
description
- ♦ comments¶
list
ofstr
objects, default:[]
- class FIR2Data(**kwargs)[source]¶
Representation of a line of coefficients in a FIR2 section.
- ♦ factors¶
list
offloat
objects, default:[]
- class FIR2(**kwargs)[source]¶
Representation of a FIR2 line.
- ♦ gain¶
float
filter gain (relative factor, not in dB)
- ♦ decimation¶
int
, optionaldecimation
- ♦ correction¶
float
group correction applied [s]
- ♦ symmetry¶
str
(SymmetryFlag
)symmetry flag (A=asymmetric, B=symmetric (odd), C=symmetric (even))
- ♦ nfactors¶
int
number of factors
- ♦ description¶
str
, optional, default:''
description
- ♦ comments¶
list
ofstr
objects, default:[]
- ♦ factors¶
list
offloat
objects, default:[]
- class MsgType(**kwargs)[source]¶
Undocumented.
- ♦ type¶
str
(MessageType
)
- class MsgID(**kwargs)[source]¶
Representation of a MSG_ID line.
- ♦ msg_id_string¶
str
- ♦ msg_id_source¶
str
, optional
- class RefID(**kwargs)[source]¶
Representation of a REF_ID line.
- ♦ msg_id_string¶
str
- ♦ msg_id_source¶
str
, optional
- ♦ sequence_number¶
int
, optional
- ♦ total_number¶
int
, optional
- class LogSection(**kwargs)[source]¶
Representation of a DATA_TYPE LOG section.
- ♦ lines¶
list
ofstr
objects, default:[]
- class WaveformSection(**kwargs)[source]¶
Representation of a DATA_TYPE WAVEFORM line.
Any subsequent WID2/OUT2/DLY2 groups are handled as indepenent sections, so this type just serves as a dummy to read/write the DATA_TYPE WAVEFORM header.
- class BeamSection(**kwargs)[source]¶
Representation of a DATA_TYPE BEAM section.
- ♦ parameters¶
list
ofBeamParameters
objects, default:[]
- class ResponseSection(**kwargs)[source]¶
Representation of a DATA_TYPE RESPONSE line.
Any subsequent CAL2+stages groups are handled as indepenent sections, so this type just serves as a dummy to read/write the DATA_TYPE RESPONSE header.
- class OutageSection(**kwargs)[source]¶
Representation of a DATA_TYPE OUTAGE section.
- ♦ report_period¶
- class Origin(**kwargs)[source]¶
Undocumented.
- ♦ time¶
time_float (
pyrocko.guts.Timestamp
)epicenter date and time
- ♦ time_fixed¶
str
(pyrocko.guts.StringChoice
), optionalfixed flag,
"f"
if fixed origin time solution,None
if not
- ♦ time_error¶
float
, optionalorigin time error [seconds],
None
if fixed origin time
- ♦ residual¶
float
, optionalroot mean square of time residuals [seconds]
- ♦ lat¶
float
latitude
- ♦ lon¶
float
longitude
- ♦ lat_lon_fixed¶
str
(pyrocko.guts.StringChoice
), optionalfixed flag,
"f"
if fixed epicenter solution,None
if not
- ♦ ellipse_semi_major_axis¶
float
, optionalsemi-major axis of 90% c. i. ellipse or its estimate [m],
None
if fixed
- ♦ ellipse_semi_minor_axis¶
float
, optionalsemi-minor axis of 90% c. i. ellipse or its estimate [m],
None
if fixed
- ♦ ellipse_strike¶
float
, optionalstrike of 90% c. i. ellipse [0-360],
None
if fixed
- ♦ depth¶
float
depth [m]
- ♦ depth_fixed¶
str
(pyrocko.guts.StringChoice
), optionalfixed flag,
"f"
fixed depth station, “d” depth phases,None
if not fixed depth
- ♦ depth_error¶
float
, optionaldepth error [m], 90% c. i.,
None
if fixed depth
- ♦ nphases¶
int
, optionalnumber of defining phases
- ♦ nstations¶
int
, optionalnumber of defining stations
- ♦ azimuthal_gap¶
float
, optionalgap in azimuth coverage [deg]
- ♦ distance_min¶
float
, optionaldistance to closest station [deg]
- ♦ distance_max¶
float
, optionaldistance to furthest station [deg]
- ♦ analysis_type¶
str
(pyrocko.guts.StringChoice
), optionalanalysis type,
"a"
automatic,"m"
manual,"g"
guess
- ♦ location_method¶
str
(pyrocko.guts.StringChoice
), optionallocation method,
"i"
inversion,"p"
pattern,"g"
ground truth,"o"
other
- ♦ event_type¶
str
(pyrocko.guts.StringChoice
), optionalevent type,
"de"
??,"fe"
??,"ke"
known earthquake,"ki"
known induced event,"km"
known mine explosion,"kn"
known nuclear explosion,"kr"
known rockburst,"kx"
known experimental explosion,"ls"
landslide,"se"
suspected earthquake,"si"
suspected induced event,"sm"
suspected mine explosion,"sn"
suspected nuclear explosion,"sr"
suspected rockburst,"sx"
suspected experimental explosion,"uk"
unknown
- ♦ author¶
str
author of the origin
- ♦ origin_id¶
str
origin identification
- class EventsSection(**kwargs)[source]¶
Representation of a DATA_TYPE EVENT section.
- ♦ bulletin_title¶
- ♦ event_sections¶
list
ofEventSection
objects, default:[]
- class MessageHeader(**kwargs)[source]¶
Representation of a BEGIN/MSG_TYPE/MSG_ID/REF_ID group.
- ♦ version¶
str
- ♦ type¶
str
- class TimeStamp(**kwargs)[source]¶
Representation of a TIME_STAMP line.
- ♦ value¶
time_float (
pyrocko.guts.Timestamp
)
- class XW01(**kwargs)[source]¶
Representation of a XW01 line (which is a relict from GSE1).
- ♦ dummy¶
str
, optional
- iload_filename(filename, **kwargs)¶
Read IMS/GSE2 information from named file.
- iload_dirname(dirname, **kwargs)¶
Read IMS/GSE2 information from directory of IMS/GSE2 files.
- iload_glob(pattern, **kwargs)¶
Read IMS/GSE2 information from files matching a glob pattern.
- iload(source, **kwargs)¶
Load IMS/GSE2 information from given source(s)
The
source
can be specified as the name of a IMS/GSE2 file, the name of a directory containing IMS/GSE2 files, a glob pattern of IMS/GSE2 files, an open filehandle or an iterator yielding any of the forementioned sources.This function behaves as a generator yielding
Section
objects.