obsinfo.instrumentation module

Instrumentation class and all subclasses

nomenclature:
  • An “Instrument” (measurement instrument) records one physical parameter

  • A “Channel” is an Instrument + an orientation code and possibly

    starttime, endtime and location code

  • An “Instrumentation” combines one or more measurement Channels

Instrumentation class

class obsinfo.instrumentation.Instrumentation(attributes_dict, locations, station_location_code, station_start_date, station_end_date)

Bases: object

One or more Instrument Channels. Part of an obspy/StationXML Station

Methods convert info files to an instance of this class. No equivalent obspy/StationXML class

A more detailed description the class and its attributes is found in XXX

equipment
Type:

Equipment

channels

list of channels (Channel)

Type:

list

Instrumentations class

class obsinfo.instrumentation.Instrumentations(attributes_dict_list, locations, station_location_code, station_start_date, station_end_date)

Bases: ObsinfoClassList

A list of Instrumentation objects

Channel class

obsinfo.instrumentation.channel

alias of <module ‘obsinfo.instrumentation.channel’ from ‘/home/docs/checkouts/readthedocs.org/user_builds/obsinfo/envs/latest/lib/python3.9/site-packages/obsinfo/instrumentation/channel.py’>

Datalogger class

class obsinfo.instrumentation.Datalogger(attributes_dict, higher_modifs={})

Bases: InstrumentComponent

Datalogger Instrument Component.

Obspy Datalogger only contains elements of Equipment, the rest is in Response

equipment

equipment attributes

Type:

Equipment

stages

channel modifications inherited from station

Type:

Stages

sample_rate

sample rate of given configuration. Checked against actual sample rate

Type:

float

correction

the delay correction of the component. If a float, it is applied to the last stage and the other stage corrections are set to 0. If None, each stage’s correction is set equal to its delay

Type:

float or None

Sensor class

class obsinfo.instrumentation.Sensor(attributes_dict, higher_modifs={})

Bases: InstrumentComponent

Sensor Instrument Component. No obspy equivalent

equipment

Equipment information

Type:

Equipment

seed_band_base

SEED band code (“broadband”, “shortperiod”, or a single letter). “broadband” and “shortperiod” will be modified by obsinfo to correspond to output sample rate (<http://docs.fdsn.org/projects/source-identifiers/en/v1.0/channel-codes.html>`

Type:

str)

seed_instrument_code

SEED instrument code, determined by FDSN standard <http://docs.fdsn.org/projects/source- identifiers/en/v1.0/channel-codes.html>

Type:

str (len 1)

stages

channel modifications inherited from station

Type:

Stages

Preamplifier class

class obsinfo.instrumentation.Preamplifier(attributes_dict, higher_modifs={})

Bases: InstrumentComponent

Preamplifier Instrument Component. No obspy equivalent

Attributes:

equipment (Equipment): Equipment information stages (Stages): channel modifications inherited from station configuration_description (str): the configuration description that was

selected, added to equipment description

Stages class

class obsinfo.instrumentation.Stages(attribute_list=None, higher_modifications={}, correction=None)

Bases: ObsinfoClassList

Ordered list of Stage.

Has a custom constructor using a list of attribute_dicts, and custom input_units(), output_units and to_obspy() methods

stages
Type:

list of objects of Stage

property calibration_dates
property input_units
property output_units

Filter class

class obsinfo.instrumentation.Filter

Bases: object

Filter is a gateway to the other filter classes

static construct(attributes_dict, stage_sequence_number, stage_name, sensitivity_gain_frequency=1.0)

Constructs an appropriate Filter subclass from an attributes_dict

Parameters:
  • attributes_dict (dict or list of dicts) – information file dict for stages

  • stage_sequence_number (int) – sequence_number of corresponding stage.

  • stage_name (str) – name of corresponding stage. Used for reporting only

  • sensitivity_gain_frequency (float) – frequency at which gain was specified. Used for PoleZeros Normalization factor/frequency

Returns:

object of the adequate filter subclass

Return type:

(Filter)

Raises:

(TypeError) – if filter type is not valid

Equipment class

class obsinfo.instrumentation.Equipment(attributes_dict)

Bases: Equipment

Equipment.

Equivalent to :class: obspy.core.inventory.util.Equipment

type
Type:

str

channel_modif
Type:

str

selected_config
Type:

str

description
Type:

str

manufacturer
Type:

str

model
Type:

str

vendor
Type:

str

serial_number
Type:

str

installation_date
Type:

str in date format

removal_date
Type:

str in date format

calibration_dates
Type:

str in date format

resource_id
Type:

str

obspy_equipment
Type:

class obspy.core.inventory.equipmentEquipment

to_obspy()

Convert an equipment (including the equipment description in components) to its obspy object

Returns:

(obspy.core.invertory.util.Equipment)

Orientation class

class obsinfo.instrumentation.Orientation(attributes_dict)

Bases: object

Class for sensor orientations. No channel modifs. Cannot change orientation as it is part of the channel identifiers. Azimuth and dip can be changed Orientation is coded by FDSN standard <http://docs.fdsn.org/projects/ source-identifiers/en/v1.0/channel-codes.html>

These are the dips to give for vertical/hydrophone channels:
-90°:
  • vertical seismometer with positive voltage corresponding to upward motion (typical seismometer)

  • hydrophone with positive voltage corresponding to increase in pressure (compression)

90°:
  • vertical seismometer with positive voltage corresponding to downward motion (typical geophone),

  • hydrophone with positive voltage corresponding to decrease in pressure (dilatation)

code

Single-letter orientation code

Type:

str

azimuth

azimuth in degrees, clockwise from north

Type:

FloatWithUncert

dip

dip in degrees, -90 to 90, positive=down, negative=up

Type:

FloatWithUncert