Coverage for /opt/obspy/update-docs/src/obspy/obspy/core/ascii : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# -*- coding: utf-8 -*- Simple ASCII time series formats
* ``SLIST``, a ASCII time series format represented with a header line followed by a sample lists (see also :func:`SLIST format description<obspy.core.ascii.writeSLIST>`)::
TIMESERIES BW_RJOB__EHZ_D, 6001 samples, 200 sps, 2009-08-24T00:20:03.0000\ 00, SLIST, INTEGER, 288 300 292 285 265 287 279 250 278 278 268 258 ...
* ``TSPAIR``, a ASCII format where data is written in time-sample pairs (see also :func:`TSPAIR format description<obspy.core.ascii.writeTSPAIR>`)::
TIMESERIES BW_RJOB__EHZ_D, 6001 samples, 200 sps, 2009-08-24T00:20:03.0000\ 00, TSPAIR, INTEGER, 2009-08-24T00:20:03.000000 288 2009-08-24T00:20:03.005000 300 2009-08-24T00:20:03.010000 292 2009-08-24T00:20:03.015000 285 2009-08-24T00:20:03.020000 265 2009-08-24T00:20:03.025000 287 ...
:copyright: The ObsPy Development Team (devs@obspy.org) :license: GNU Lesser General Public License, Version 3 (http://www.gnu.org/copyleft/lesser.html) """
""" Checks whether a file is ASCII SLIST format.
:type filename: str :param filename: Name of the ASCII SLIST file to be checked. :rtype: bool :return: ``True`` if ASCII SLIST file.
.. rubric:: Example
>>> isSLIST('/path/to/slist.ascii') # doctest: +SKIP True """
""" Checks whether a file is ASCII TSPAIR format.
:type filename: str :param filename: Name of the ASCII TSPAIR file to be checked. :rtype: bool :return: ``True`` if ASCII TSPAIR file.
.. rubric:: Example
>>> isTSPAIR('/path/to/tspair.ascii') # doctest: +SKIP True """
""" Reads a ASCII SLIST file and returns an ObsPy Stream object.
.. warning:: This function should NOT be called directly, it registers via the ObsPy :func:`~obspy.core.stream.read` function, call this instead.
:type filename: str :param filename: ASCII file to be read. :type headonly: bool, optional :param headonly: If set to True, read only the head. This is most useful for scanning available data in huge (temporary) data sets. :rtype: :class:`~obspy.core.stream.Stream` :return: A ObsPy Stream object.
.. rubric:: Example
>>> from obspy import read >>> st = read('/path/to/slist.ascii') """ # read file and split text into channels # blank line # new header line # skip data for option headonly # data entry - may be written in multiple columns # create ObsPy stream object # create Stats # quality only used in MSEED # skip data else:
""" Reads a ASCII TSPAIR file and returns an ObsPy Stream object.
.. warning:: This function should NOT be called directly, it registers via the ObsPy :func:`~obspy.core.stream.read` function, call this instead.
:type filename: str :param filename: ASCII file to be read. :type headonly: bool, optional :param headonly: If set to True, read only the headers. This is most useful for scanning available data in huge (temporary) data sets. :rtype: :class:`~obspy.core.stream.Stream` :return: A ObsPy Stream object.
.. rubric:: Example
>>> from obspy import read >>> st = read('/path/to/tspair.ascii') """ # read file and split text into channels # blank line # new header line # skip data for option headonly # data entry - may be written in multiple columns # create ObsPy stream object # create Stats # quality only used in MSEED # skip data else:
""" Writes a ASCII SLIST file.
.. warning:: This function should NOT be called directly, it registers via the the :meth:`~obspy.core.stream.Stream.write` method of an ObsPy :class:`~obspy.core.stream.Stream` object, call this instead.
:type stream: :class:`~obspy.core.stream.Stream` :param stream: The ObsPy Stream object to write. :type filename: str :param filename: Name of file to write.
.. rubric:: Example
>>> from obspy import read >>> st = read() >>> st.write("slist.ascii", format="SLIST") #doctest: +SKIP
.. rubric:: SLIST Format Description
SLIST is a simple ASCII time series format. Each contiguous time series segment (no gaps or overlaps) is represented with a header line followed by a sample lists. There are no restrictions on how the segments are organized into files, a file might contain a single segment or many, concatenated segments either for the same channel or many different channels.
Header lines have the general form::
TIMESERIES SourceName, # samples, # sps, Time, Format, Type, Units
with
``SourceName`` "Net_Sta_Loc_Chan_Qual", no spaces, quality code optional ``# samples`` Number of samples following header ``# sps`` Sampling rate in samples per second ``Time`` Time of first sample in ISO YYYY-MM-DDTHH:MM:SS.FFFFFF format ``Format`` 'TSPAIR' (fixed) ``Type`` Sample type 'INTEGER', 'FLOAT' or 'ASCII' ``Units`` Units of time-series, e.g. Counts, M/S, etc., may not contain spaces
Samples are listed in 6 columns with the time-series incrementing from left to right and wrapping to the next line. The time of the first sample is the time listed in the header.
*Example SLIST file*::
TIMESERIES NL_HGN_00_BHZ_R, 12 samples, 40 sps, 2003-05-29T02:13:22.04\ 3400, SLIST, INTEGER, Counts 2787 2776 2774 2780 2783 2782 2776 2766 2759 2760 2765 2767 ... """ # quality code # sample type else: raise NotImplementedError # unit # write trace header stats.channel, dataquality, stats.npts, stats.sampling_rate, stats.starttime, 'SLIST', dtype, unit) # write data else:
""" Writes a ASCII TSPAIR file.
.. warning:: This function should NOT be called directly, it registers via the the :meth:`~obspy.core.stream.Stream.write` method of an ObsPy :class:`~obspy.core.stream.Stream` object, call this instead.
:type stream: :class:`~obspy.core.stream.Stream` :param stream: The ObsPy Stream object to write. :type filename: str :param filename: Name of file to write.
.. rubric:: Example
>>> from obspy import read >>> st = read() >>> st.write("tspair.ascii", format="TSPAIR") #doctest: +SKIP
.. rubric:: TSPAIR Format Description
TSPAIR is a simple ASCII time series format. Each contiguous time series segment (no gaps or overlaps) is represented with a header line followed by data samples in time-sample pairs. There are no restrictions on how the segments are organized into files, a file might contain a single segment or many, concatenated segments either for the same channel or many different channels.
Header lines have the general form::
TIMESERIES SourceName, # samples, # sps, Time, Format, Type, Units
with
``SourceName`` "Net_Sta_Loc_Chan_Qual", no spaces, quality code optional ``# samples`` Number of samples following header ``# sps`` Sampling rate in samples per second ``Time`` Time of first sample in ISO YYYY-MM-DDTHH:MM:SS.FFFFFF format ``Format`` 'TSPAIR' (fixed) ``Type`` Sample type 'INTEGER', 'FLOAT' or 'ASCII' ``Units`` Units of time-series, e.g. Counts, M/S, etc., may not contain spaces
*Example TSPAIR file*::
TIMESERIES NL_HGN_00_BHZ_R, 12 samples, 40 sps, 2003-05-29T02:13:22.04\ 3400, TSPAIR, INTEGER, Counts 2003-05-29T02:13:22.043400 2787 2003-05-29T02:13:22.068400 2776 2003-05-29T02:13:22.093400 2774 2003-05-29T02:13:22.118400 2780 2003-05-29T02:13:22.143400 2783 2003-05-29T02:13:22.168400 2782 2003-05-29T02:13:22.193400 2776 2003-05-29T02:13:22.218400 2766 2003-05-29T02:13:22.243400 2759 2003-05-29T02:13:22.268400 2760 2003-05-29T02:13:22.293400 2765 2003-05-29T02:13:22.318400 2767 ... """ # quality code # sample type else: raise NotImplementedError # unit # write trace header stats.channel, dataquality, stats.npts, stats.sampling_rate, stats.starttime, 'TSPAIR', dtype, unit) # write data stats.npts) # .26s cuts the Z from the time string
""" Simple function to read data contained in a StringIO object to a numpy array.
:type data: StringIO.StringIO object. :param data: The actual data. :type data_type: String :param data_type: The data type of the expected data. Currently supported are 'INTEGER' and 'FLOAT'. """ else: raise NotImplementedError # Seek to the beginning of the StringIO. # Data will always be a StringIO. Avoid to send empty StringIOs to # numpy.readtxt() which raises a warning.
if __name__ == '__main__': import doctest doctest.testmod(exclude_empty=True) |