obspy.io.rg16 - Receiver Gather v1.6 read support for ObsPy

Functions to read waveform data from Receiver Gather 1.6-1 format. This format is used to store continuous data recorded by Farfield Nodal’s Zland product line.


Derrick Chambers Romain Pestourie (Ecole et Observatoire des Sciences de la Terre)


The ObsPy Development Team (devs@obspy.org)


GNU Lesser General Public License, Version 3 (https://www.gnu.org/copyleft/lesser.html)


  1. In order to homogenize the units, fields concerning frequencies parameters are expressed in Hertz (ie alias_filter_frequency, test_signal_generator_frequency_1…) and fields concerning time are expressed in second (channel_set_end_time, test_signal_generator_activation_time…), except for the dates.

  2. Documentation about fcnt format can be found in the directory obspy/io/rg16/docs.

Instrument Orientation

Because there is not a standard method for instrument orientation, mapping orientation codes to Z, N, E is not possible without knowledge of how the instruments were deployed. Orientation codes returned are 2, 3, 4 which relate to the instrument position as illustrated in the following diagram:


Reading the waveforms

Reading RG16 is handled by using ObsPy’s standard read() function. The format can be detected automatically, however setting the format parameter as “rg16” lead to a speed up. Several key word arguments are available: headonly, starttime, endtime, merge, contacts_north, details. They are passed to the obspy.io.rg16.core._read_rg16() function so refer to it for details to each parameter.

>>> import obspy
>>> from obspy.core.util import get_example_file
>>> filename = get_example_file('three_chans_six_traces.fcnt')
>>> # these are all equivalent:
>>> st = obspy.read(filename)
>>> st = obspy.read(filename, format='rg16')

If the file is very large, using the merge parameter may speed up downstream processing significantly.

>>> st = obspy.read(filename, merge=True)

If the instruments are single component, or if the gold contact terminals were deployed facing north, setting contacts_north to True will result in a stream with seed compliant channel codes with orientations Z, N, E.

>>> st = obspy.read(filename, contacts_north=True)



Receiver Gather (version 1.6-1) bindings to ObsPy core module.