Appendix

A: Extra header examples

The example extra header structures below include additional white space and formatting for readability, which should not be used in an actual record.

FDSN reserved extra headers

A relatively simple example of reserved FDSN extra headers that contains a timing quality value and an event detection is:

{
  "FDSN": {
    "Time": {
      "Quality": 100,
      "Correction": 1.234
    },
    "Event": {
      "Begin": true,
      "End": true,
      "InProgress": true,
      "Detection": [
        {
          "Type": "MURDOCK",
          "SignalAmplitude": 80,
          "SignalPeriod": 0.4,
          "BackgroundEstimate": 18,
          "Wave": "DILATATION",
          "Units": "COUNTS",
          "OnsetTime": "2022-06-05T20:32:39.120000Z",
          "MEDSNR": [ 1, 3, 2, 1, 4, 0 ],
          "MEDLookback": 2,
          "MEDPickAlgorithm": 0,
          "Detector": "Z_SPWWSS"
        }
      ]
    }
  }
}

An example of the reserved FDSN headers defined by the FDSN is provided below. In this (pathalogical) illustration, all reserved fields are represented.

{
  "FDSN": {
    "Time": {
      "Quality": 100,
      "Correction": 1.234,
      "MaxEstimatedError": 1e-06,
      "LeapSecond": 1,
      "Exception": [
        {
          "Time": "2022-05-06T20:32:41.12Z",
          "VCOCorrection": 50.7812,
          "ReceptionQuality": 80,
          "Count": 23,
          "Type": "Valid Timemark",
          "ClockStatus": "SNR=48,51,51,50,50,48,46,48,48,45,45"
        },
        {
          "Time": "2022-05-06T20:32:42.185Z",
          "VCOCorrection": 44.1313,
          "ReceptionQuality": 55,
          "Count": 19690,
          "Type": "Missing timemarks",
          "ClockStatus": "SNR=50,48,46,48,48,45,45"
        }
      ]
    },
    "Event": {
      "Begin": true,
      "End": true,
      "InProgress": true,
      "Detection": [
        {
          "Type": "GENERIC",
          "SignalAmplitude": 80,
          "SignalPeriod": 0.4,
          "BackgroundEstimate": 18,
          "OnsetTime": "2022-05-06T20:32:39.120000Z",
          "Detector": "Dalek STA/LTA"
        },
        {
          "Type": "MURDOCK",
          "SignalAmplitude": 80,
          "SignalPeriod": 0.4,
          "BackgroundEstimate": 18,
          "Wave": "DILATATION",
          "Units": "COUNTS",
          "OnsetTime": "2022-05-06T20:32:39.185000Z",
          "MEDSNR": [ 1, 3, 2, 1, 4, 0 ],
          "MEDLookback": 2,
          "MEDPickAlgorithm": 0,
          "Detector": "Z_SPWWSS"
        }
      ]
    },
    "Calibration": {
      "Sequence": [
        {
          "Type": "Step",
          "BeginTime": "2022-05-06T20:32:39.120000Z",
          "Steps": 12,
          "StepFirstPulsePositive": true,
          "StepAlternateSign": true,
          "Trigger": "AUTOMATIC",
          "Continued": false,
          "Amplitude": 1345,
          "InputUnits": "COUNTS",
          "Duration": 603.456,
          "SinePeriod": 5.0,
          "StepBetween": 500.0,
          "InputChannel": "CAL",
          "ReferenceAmplitude": 45.8,
          "Coupling": "RESISTIVE",
          "Rolloff": "Description of rolloff"
        },
        {
          "Type": "Step",
          "EndTime": "2022-05-06T20:32:39.120000Z"
        },
        {
          "Type": "Sine",
          "BeginTime": "2022-05-06T20:32:39.120000Z",
          "EndTime": "2022-05-06T20:32:39.120000Z",
          "Trigger": "MANUAL",
          "Continued": true,
          "Amplitude": 1345,
          "InputUnits": "COUNTS",
          "AmplitudeRange": "PEAKTOPEAK",
          "SinePeriod": 5.0,
          "InputChannel": "CAL",
          "ReferenceAmplitude": 45.8,
          "Coupling": "RESISTIVE",
          "Rolloff": "Description of rolloff"
        },
        {
          "Type": "PseudoRandom",
          "BeginTime": "2022-05-06T20:32:39.120000Z",
          "EndTime": "2022-05-06T20:32:39.120000Z",
          "Trigger": "MANUAL",
          "Amplitude": 0.0001,
          "InputUnits": "M/S",
          "Duration": 300,
          "InputChannel": "CAL",
          "ReferenceAmplitude": 45.8,
          "Coupling": "CAPACITIVE",
          "Rolloff": "Very randomly",
          "Noise": "White"
        },
        {
          "Type": "Generic",
          "BeginTime": "2022-05-06T20:32:39.120000Z",
          "EndTime": "2022-05-06T20:32:39.120000Z",
          "Trigger": "MANUAL",
          "Amplitude": 1345,
          "Duration": 100
        }
      ]
    },
    "Recenter": {
      "Sequence": [
        {
          "Type": "Gimbal",
          "BeginTime": "2022-05-06T20:32:39.120000Z",
          "EndTime": "2022-05-06T20:32:39.120000Z",
          "Trigger": "AUTOMATIC"
        },
        {
          "BeginTime": "2022-05-06T20:32:40.120000Z"
        }
      ]
    },
    "Flags": {
      "MassPositionOffscale": true,
      "AmplifierSaturation": true,
      "DigitizerClipping": true,
      "Spikes": true,
      "Glitches": true,
      "FilterCharging": true,
      "StationVolumeParityError": true,
      "LongRecordRead": true,
      "ShortRecordRead": true,
      "StartOfTimeSeries": true,
      "EndOfTimeSeries": true,
      "MissingData": true,
      "TelemetrySyncError": true
    },
    "Logger": {
      "Model": "DM24",
      "Serial": "A4567"
    },
    "Sensor": {
      "Model": "T240",
      "Serial": "123123"
    },
    "Clock": {
      "Model": "P273T11N16",
      "Serial": "24A00000"
    },
    "ProvenanceURI": "prov:sp001_wf_f84fb9a",
    "DataQuality": "D",
    "Sequence": 123456
  }
}

Non-FDSN extra headers

An example of reserved FDSN headers combined with other top-level headers, illustrating how custom headers may be added.

{
  "FDSN": {
    "Time": {
      "Quality": 90
    }
  },
  "Manufacturer123": {
    "Metadata": {
      "FilamentCurrent": 16.4,
      "HyperCoordinates": "1.1789:965402:73324@3.14159"
    }
  },
  "OperatorXYZ": {
    "DSP": {
      "PeakRMS": 2067,
      "RMSWindow": 10.5
    }
  }
}

B: Reference data

The reference data set is intended as an illustration of properly constructed miniSEED 3 and to be used by software implementors during development and testing.

The set contains multiple examples of data records illustrating different characteristics and data encodings of the from. Each example is available in miniSEED 3, JSON, and human-readable text representations.

The whole data set may be downloaded from documentation repository.

All time series in the reference set that contain series are the same expanding sinusoid signal.

#

Description

Download

1

Text payload

mseed3 JSON Text

2

Event detection headers only, no data payload

mseed3 JSON Text

3

Sinusoid series encoded as 16-bit integers

mseed3 JSON Text

4

Sinusoid series encoded as 32-bit integers

mseed3 JSON Text

5

Sinusoid series encoded as 32-bit IEEE float

mseed3 JSON Text

6

Sinusoid series encoded as 64-bit IEEE float

mseed3 JSON Text

7

Sinusoid series encoded as Steim-1 compressed integers

mseed3 JSON Text

8

Sinusoid series encoded as Steim-2 compressed integers

mseed3 JSON Text

9

Series with time quality, correction, event detections headers

mseed3 JSON Text

10

Series with some FDSN and non-FDSN extra headers

mseed3 JSON Text

11

Series with all FDSN extra headers (unrealistic)

mseed3 JSON Text

C: Mapping from miniSEED 2.4

The following list of miniSEED 2.4 format structures specifies the mapping of all fields to this specification. In this listing the following abbreviations are used:

EH

Extra Header (of this specification), with path

SID

Source Identifier (of this specification)

FSDH

Fixed Section Data Header (in either specification)

miniSEED 2.4 Fixed Section Data Header (FSDH)

Field

Description

This specification

1

Sequence number

EH: FDSN.Sequence

2

Data header/quality indicator

EH: FDSN.DataQuality

A data center may choose to
translate miniSEED 2.4 quality
values to publication versions
with the following mapping:

2.4 quality

Pub. version

R

1

D

2

Q

3

M

4

3

Reserved byte

[no mapping]

4

Station identifier code

Incorporated into SID, FSDH field 13

5

Location identifier

Incorporated into SID, FSDH field 13

6

Channel identifier

Incorporated into SID, FSDH field 13

7

Network code

Incorporated into SID, FSDH field 13

8

Record start time

FSDH field 4

9

Number of samples

FSDH field 7

10

Sample rate factor

Incorporated into FSDH field 6

11

Sample rate multiplier

Incorporated into FSDH field 6

12

Activity flags:
0 = calibration signals
1 = time correction applied
2 = begining of event
3 = end of event
4 = + leap second included
5 = - leap second included
6 = event in progress
FSDH and Extra headers:
FSDH field 3, bit 0
[no mapping]
FDSN.Event.Begin
FDSN.Event.End
FDSN.Time.LeapSecond
FDSN.Time.LeapSecond
FDSN.Event.InProgress

13

I/O flags, bits:
0 = Sta. volume parity error
1 = Long record read
2 = Short record read
3 = Start of time series
4 = End of time series
5 = Clock locked
FSDH and Extra headers:
FDSN.Flags.StationVolumeParityError
FDSN.Flags.LongRecordRead
FDSN.Flags.ShortRecordRead
FDSN.Flags.StartOfTimeSeries
FDSN.Flags.EndOfTimeSeries
FSDH field 3, bit 2

14

Data quality flags, bits:
0 = Amp. saturation detected
1 = Dig. clipping detected
2 = Spikes detected
3 = Glitches detected
4 = Missing/padded data
5 = Telemetry synch. error
6 = Digital filter charging
7 = Time tag questionable
FSDH and Extra headers:
FDSN.Flags.AmplifierSaturation
FDSN.Flags.DigitizerClipping
FDSN.Flags.Spikes
FDSN.Flags.Glitches
FDSN.Flags.MissingData
FDSN.Flags.TelemetrySyncError
FDSN.Flags.FilterCharging
FSDH field 3, bit 1

15

Number of blockettes that follow

[no mapping]

16

Time correction

EH: FDSN.Time.Correction

17

Beginning of data

[no mapping]

18

First blockette

[no mapping]

Blockette 100 (Sample Rate)

Field

Description

This specification

3

Actual sample rate

FSDH field 6

4

Flags (undefined)

[no mapping]

4

Reserved byte

[no mapping]

Blockette 200 (Generic Event Detection)

Field

Description

This specification

3

Signal amplitude

EH: FDSN.Event.Detection.SignalAmplitude

4

Signal period

EH: FDSN.Event.Detection.SignalPeriod

5

Background estimate

EH: FDSN.Event.Detection.BackgroundEstimate

6

Event detection flag bits:
0 = dil./comp. wave
1 = units
Extra headers:
FDSN.Event.Detection.Wave
FDSN.Event.Detection.Units

7

Reserved byte

[no mapping]

8

Signal onset time

EH: FDSN.Event.Detection.OnsetTime

9

Detector name

EH: FDSN.Event.Detection.Detector

Blockette 201 (Murdock Event Detection)

Field

Description

This specification

3

Signal amplitude

EH: FDSN.Event.Detection.SignalAmplitude

4

Signal period

EH: FDSN.Event.Detection.SignalPeriod

5

Background estimate

EH: FDSN.Event.Detection.BackgroundEstimate

6

Event detection flag bits:
0 = dil./comp. wave
Extra headers:
FDSN.Event.Detection.Wave

7

Reserved byte

[no mapping]

8

Signal onset time

EH: FDSN.Event.Detection.OnsetTime

9

Signal-to-noise values

EH: FDSN.Event.Detection.MEDSNR (array)

10

Lookback value

EH: FDSN.Event.Detection.MEDLookback

11

Pick algorithm

EH: FDSN.Event.Detection.MEDPickAlgorithm

12

Detector name

EH: FDSN.Event.Detection.Detector

Blockette 300 (Step Calibration)

Field

Description

This specification

3

Start calib

EH: FDSN.Calibration.Sequence.Begintime

4

Num of calibs

EH: FDSN.Calibration.Sequence.Steps

5

Calibration flags:
0 = first pulse
1 = cal alt sign
2 = cal auto
3 = cal cont
Extra headers:
FDSN.Calibration.Sequence.StepFirstPulsePositive
FDSN.Calibration.Sequence.StepAlternateSign
FDSN.Calibration.Sequence.Trigger
FDSN.Calibration.Sequence.Continued

6

Duration of step

EH: FDSN.Calibration.Sequence.Duration

7

Time between steps

EH: FDSN.Calibration.Sequence.StepBetween

8

Amp. of cal. signal

EH: FDSN.Calibration.Sequence.Amplitude

9

Channel cal. signal

EH: FDSN.Calibration.Sequence.InputChannel

10

Reserved byte

[no mapping]

11

Reference amplitude

EH: FDSN.Calibration.Sequence.ReferenceAmplitude

12

Coupling of signal

EH: FDSN.Calibration.Sequence.Coupling

13

Rolloff of filters

EH: FDSN.Calibration.Sequence.Rolloff

Blockette 310 (Sine Calibration)

Field

Description

This specification

3

Start calib

EH: FDSN.Calibration.Sequence.Begintime

4

Reserved byte

[no mapping]

5

Calibration flags:
2 = cal auto
3 = cal cont
4 = PtoP amp
5 = ZtoP amp
6 = RMS amp
Extra headers:
FDSN.Calibration.Sequence.Trigger
FDSN.Calibration.Sequence.Continued
FDSN.Calibration.Sequence.AmplitudeRange
FDSN.Calibration.Sequence.AmplitudeRange
FDSN.Calibration.Sequence.AmplitudeRange

6

Duration of cal

EH: FDSN.Calibration.Sequence.Duration

7

Period of signal

EH: FDSN.Calibration.Sequence.Period

8

Amp. of cal. signal

EH: FDSN.Calibration.Sequence.Amplitude

9

Channel cal. signal

EH: FDSN.Calibration.Sequence.InputChannel

10

Reserved byte

[no mapping]

11

Reference amplitude

EH: FDSN.Calibration.Sequence.ReferenceAmplitude

12

Coupling of signal

EH: FDSN.Calibration.Sequence.Coupling

13

Rolloff of filters

EH: FDSN.Calibration.Sequence.Rolloff

Blockette 320 (Pseudo-random Calibration)

Field

Description

This specification

3

Start calib

EH: FDSN.Calibration.Sequence.Begintime

10

Reserved byte

[no mapping]

5

Calibration flags:
2 = cal auto
3 = cal cont
4 = Random amps
Extra headers:
FDSN.Calibration.Sequence.Trigger
FDSN.Calibration.Sequence.Continued
FDSN.Calibration.Sequence.AmplitudeRange

6

Duration of cal

EH: FDSN.Calibration.Sequence.Duration

7

PtoP amp. of steps

EH: FDSN.Calibration.Sequence.Amplitude

8

Channel cal. signal

EH: FDSN.Calibration.Sequence.InputChannel

9

Reserved byte

[no mapping]

10

Reference amplitude

EH: FDSN.Calibration.Sequence.ReferenceAmplitude

11

Coupling of signal

EH: FDSN.Calibration.Sequence.Coupling

12

Rolloff of filters

EH: FDSN.Calibration.Sequence.Rolloff

13

Noise type

EH: FDSN.Calibration.Sequence.Noise

Blockette 390 (Generic Calibration)

Field

Description

This specification

3

Start calib

EH: FDSN.Calibration.Sequence.Begintime

10

Reserved byte

[no mapping]

5

Calibration flags:
2 = cal auto
3 = cal cont
Extra headers:
FDSN.Calibration.Sequence.Trigger
FDSN.Calibration.Sequence.Continued

6

Duration of cal

EH: FDSN.Calibration.Sequence.Duration

7

Amplitude of signal

EH: FDSN.Calibration.Sequence.Amplitude

8

Channel cal. signal

EH: FDSN.Calibration.Sequence.InputChannel

9

Reserved byte

[no mapping]

Blockette 395 (Calibration Abort)

Field

Description

This specification

3

End calib

EH: FDSN.Calibration.Sequence.Endtime

10

Reserved byte

[no mapping]

Blockette 400 (Beam), Blockette 405 (Beam Delay)

No mapping for these blockettes

Blockette 500 (Timing)

Field

Description

This specification

3

VCO correction

EH: FDSN.Time.Exception.VCOCorrection

4

Time of exception

EH: FDSN.Time.Exception.Time

5

Microsecond offset

[included in record start time]

6

Reception quality

EH: FDSN.Time.Exception.ReceptionQuality

7

Exception count

EH: FDSN.Time.Exception.Count

8

Exception type

EH: FDSN.Time.Exception.Type

9

Clock model

EH: FDSN.Clock.Model

10

Clock status

EH: FDSN.Time.Exception.ClockStatus

Blockette 1000 (Data Only SEED)

Field

Description

This specification

3

Encoding format

FSDH field 5

4

Word order

[no mapping, no longer needed]

5

Data record length

[no mapping, no longer needed]

6

Reserved byte

[no mapping]

Blockette 1001 (Data Extension)

Field

Description

This specification

3

Timing quality

EH: FDSN.Time.Quality

4

Microsecond offset

Incorporated into FSDH field 4

5

Reserved byte

[no mapping]

6

Frame count

[no mapping]

Blockette 2000 (Variable Length Opaque)

No mapping for this blockette. The opaque data encoding may be used to specify an opaque payload for nearly equivalent functionality.

Unsupported miniSEED 2.4 content

The following defined information in miniSEED 2.4 cannot be represented in this specification:

  • Clock model specification per timing exception. Current specification only allows a single clock model specification per record.

  • Blockettes 400 (Beam) & 405 (Beam Delay)

  • Blockette 2000 (Opaque Data)