You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.2 KiB
Plaintext
79 lines
3.2 KiB
Plaintext
/**
|
|
@page page-capabilities Capabilities
|
|
|
|
@tableofcontents
|
|
|
|
@section overview Overview
|
|
|
|
This section describes the capabilities and fundamentals of the
|
|
library.
|
|
|
|
@subsection data-records Data Records
|
|
|
|
@note miniSEED data are constructed as records, typically anywhere
|
|
from 128 to 4096 bytes in length. Each record is independent,
|
|
identifying the data source, encoding type, etc. in header structures.
|
|
Reconstructing a continuous time series from an arbitrary number of
|
|
data records is an excersize for a format reader, e.g. this library.
|
|
|
|
A miniSEED record is represented in the library using the MS3Record
|
|
structure. This structure is used for both unpacking and packing of
|
|
miniSEED records. When unpacking with msr3_parse() this structure is
|
|
populated. When packing with msr3_pack() this structure is used as a
|
|
template for the resulting data records and as a source of samples to
|
|
be packed.
|
|
|
|
@subsubsection Data Sample Encodings
|
|
|
|
The library supports all commonly used @ref encoding-values for
|
|
decoding and a subset of the most common values for encoding. The
|
|
following data encoding formats are supported for both unpacking and
|
|
packing: ASCII, INT16, INT32, FLOAT32, FLOAT64, STEIM1 and STEIM2.
|
|
The INT and FLOAT encodings each have two versions for quantities with
|
|
a different number of bits of representation. The STEIM compression
|
|
encodings work with 32-bit integers. The following data encoding
|
|
formats are supported for unpacking only: GEOSCOPE (24-bit, 16/3 and
|
|
16/4 gain ranged), CDSN, SRO and DWWSSN.
|
|
|
|
@subsection traces Traces
|
|
|
|
In order to reconstruct, manage and process continuous trace segments
|
|
the library provides @ref trace-list functionality.
|
|
|
|
@ref trace-list structures are nested to contain an arbitrary number
|
|
of identified time series, each containing an arbitrary number
|
|
continuous time series segments, aka traces. While a trace list is
|
|
normally used to hold trace information and associated data samples
|
|
they can also be used without data samples as a means of tracking data
|
|
coverage without actual sample values.
|
|
|
|
@subsection time-representation Time representation
|
|
|
|
Internally, time stamps are represented as nanoseconds since the
|
|
Unix/POSIX epoch via the nstime_t data type. A number of functions
|
|
exist to parse or generate date-time strings to or from this
|
|
representation. See @ref time-related.
|
|
|
|
*Note:* nanosecond time resolution does not mean the data included
|
|
this resolution.
|
|
|
|
@subsection time-series-data Time series data formats
|
|
|
|
Time series data samples are supported in a few different formats
|
|
depending on how they are unpacked or will be packed. Samples can be
|
|
either ASCII, 32-bit integer, 32-bit floats or 64-bit double precision
|
|
floats. These types are represented internally using the
|
|
single-character @ref sample-types.
|
|
|
|
@subsection log-messages Log messages
|
|
|
|
All of the log and diagnostic messages emitted by the library
|
|
functions use a central logging facility. It is common for programs
|
|
that use the library to also use these logging functions.
|
|
Furthermore, the output from these logging interfaces can be
|
|
controlled by directing output to callback functions. This is useful
|
|
when the library will be embedded in a larger system with it's own
|
|
logging facility. See the @ref logging page for more details.
|
|
|
|
*/
|