Waveform Format
(last revised January 7, 1999)
/*
* Trace_buf.h
*
* Header file for Earthworm packets that allow demultiplexed data
* from various sources to be handled efficiently. Added to
* Earthworm system by
* Kent Lindquist and Roger Hansen
* Geophysical Institute
* University of Alaska, Fairbanks
*
* February, 1996
*
* November 1996: KGL Added net and quality fields to accommodate
* needs expressed by Alex Bittenbinder and the Earthworm team
* February 1997: KGL Added pad field as used by Earthworm team
*/
#ifndef TRACE_BUF_H
#define TRACE_BUF_H
#define NETWORK_NULL_STRING "-"
typedef struct {
int pinno; /* Pin number */
int nsamp; /* Number of samples in packet */
double starttime; /* time of first sample in epoch seconds
(seconds since midnight 1/1/1970) */
double endtime; /* Time of last sample in epoch seconds */
double samprate; /* Sample rate; nominal */
char sta[7]; /* Site name */
char net[9]; /* Network name */
char chan[9]; /* Component/channel code */
char datatype[3]; /* Data format code */
char quality[2]; /* Data-quality field */
char pad[2]; /* padding */
} TRACE_HEADER;
#define MAX_TRACEBUF_SIZ 4096 /* define maximum size of trace message buffer */
typedef union {
char msg[MAX_TRACEBUF_SIZ];
TRACE_HEADER trh;
int i;
} TracePacket;
/* Byte 0 of data quality flags, as in SEED format
***********************************************/
#define AMPLIFIER_SATURATED 0x01
#define DIGITIZER_CLIPPED 0x02
#define SPIKES_DETECTED 0x04
#define GLITCHES_DETECTED 0x08
#define MISSING_DATA_PRESENT 0x10
#define TELEMETRY_SYNCH_ERROR 0x20
#define FILTER_CHARGING 0x40
#define TIME_TAG_QUESTIONABLE 0x80
/* CSS datatype codes
******************/
/*
t4 SUN IEEE single precision real
t8 SUN IEEE double precision real
s4 SUN IEEE integer
s2 SUN IEEE short integer
f4 VAX/Intel IEEE single precision real
f8 VAX/Intel IEEE double precision real
i4 VAX/Intel IEEE integer
i2 VAX/Intel IEEE short integer
g2 NORESS gain-ranged
*/
#endif