5. Appendices

5.1. Mapping SEED blockettes to StationXML

5.1.1. B34 Units Abbreviations

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B034F03

Unit Lookup Code

Multiple Mappings

B034F04

Unit Name

Multiple Mappings

  • B053F05, B053F06,

  • B055F04, B055F05,

  • B061F06, B055F07,

  • B062F05, B062F06

B034F05

Unit Description

Multiple Mappings

5.1.2. B50 Station Identifier

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B050F03

Station Call Letters

Station

code

B050F04

Station Latitude

Station/Latitude

B050F05

Station Longitude

Station/Longitude

B050F06

Station Elevation

Station/Elevation

B050F07

Number Of Channels

Station/TotalNumberChannels

B050F08

Number Of Station Comments

Station/Comments

B050F09

Site Name

Station/Site/Name

B050F10

Network Identifier Code

No Mapping

B050F11

32-bit Word Order

No Mapping

B050F12

16-bit Word Order

No Mapping

B050F13

Start Effective Date

Station

startDate

B050F14

End Effective Date

Station

endDate

B050F15

Update Flag

No Mapping

B050F16

Network Code

Network

code

5.1.3. B52 Channel Identifier

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B052F03

Location Identifier

Channel

locationCode

B052F04

Channel Identifier

Channel

code

B052F05

Subchannel Identifier

No Mapping

B052F06

Instrument Identifier

No Mapping

B052F07

Optional Comment

Channel/Comment

B052F08

Units Of Signal Response

No Mapping

B052F09

Units Of Calibration Input

Channel/CalibrationUnits/Name

B052F10

Latitude

Channel/Latitude

B052F11

Longitude

Channel/Longitude

B052F12

Elevation

Channel/Elevation

B052F13

Local Depth

Channel/Depth

B052F14

Azimuth

Channel/Azimuth

B052F15

Dip

Channel/Dip

B052F16

Data Format Identifier Code

No Mapping

B052F17

Data Record Length

No Mapping

B052F18

Sample Rate

Channel/SampleRate

B052F19

Max Clock Drift

Channel/ClockDrift

B052F20

Number Of Comments

No Mapping

B052F21

Channel Flags

No Mapping

B052F22

Start Date

Channel

startDate

B052F23

End Date

Channel

endDate

B052F24

Update Flags

No Mapping

5.1.4. B53 Response Poles & Zeros

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B053F03

Transfer Function Type

Response/Stage/PolesZeros/PzTransferFunctionType

B053F04

Stage Sequence Number

Response/Stage/PolesZeros

number

B053F05

Stage Signal Input Units

Response/Stage/PolesZeros/InputUnits/Name

B034F04, B043F06

B053F06

Stage Signal Output Units

Response/Stage/PolesZeros/OutputUnits/Name

B034F04, B043F07

B053F07

A0 Normalization Factor

Response/Stage/PolesZeros/NormalizationFactor

B053F08

Normalization Frequency

Response/Stage/PolesZeros/NormalizationFrequency

B053F09

Number Of Complex Zeros

No Mapping

B053F10

Real Zero

Response/Stage/PolesZeros/Zero/Real

B053F11

Imaginary Zero

Response/Stage/PolesZeros/Zero/Imaginary

B053F12

Real Zero Error

Response/Stage/PolesZeros/Zero/Real

minusError plusError

B053F13

Imaginary Zero Error

Response/Stage/PolesZeros/Zero/Imaginary

minusError plusError

B053F14

Number Of Complex Poles

No Mapping

B053F15

Real Pole

Response/Stage/PolesZeros/Pole/Real

B053F16

Imaginary Pole

Response/Stage/PolesZeros/Pole/Imaginary

B053F17

Real Pole Error

Response/Stage/PolesZeros/Pole/Real

minusError plusError

B053F18

Imaginary Pole Error

Response/Stage/PolesZeros/Pole/Imaginary

minusError plusError

5.1.5. B55 Response List

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B055F03

Stage Sequence Number

Response/Stage/ResponseList

name

B055F04

Signal Input Units

Response/Stage/ResponseList/InputUnits/Name

B034F04, B045F05

B055F05

Signal Output Units

Response/Stage/ResponseList/OutputUnits/Name

B034F04, B045F06

B055F06

Number Of Responses Listed

No Mapping

B055F07

Frequency

Response/Stage/ResponseList/ResponseListElement/Frequency

B055F08

Amplitude

Response/Stage/ResponseList/ResponseListElement/Amplitude

B055F09

Amplitude Error

Response/Stage/ResponseList/ResponseListElement/Amplitude

minusError plusError

B055F10

Phase Angle

Response/Stage/ResponseList/ResponseListElement/Phase

B055F11

Phase Angle Error

Response/Stage/ResponseList/ResponseListElement/Phase

minusError plusError

5.1.6. B57 Decimation

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B057F03

Stage Sequence Number

Response/Stage/Decimation

number

B057F04

Input Sample Rate

Response/Stage/Decimation/InputSampleRate

B057F05

Decimation Factor

Response/Stage/Decimation/Factor

B057F06

Decimation Offset

Response/Stage/Decimation/Offset

B057F07

Estimated Delay

Response/Stage/Decimation/Delay

B057F08

Correction Applied

Response/Stage/Decimation/Correction

5.1.7. B58 Channel Sensitivity/Gain

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B058F03

Stage Sequence Number

No Mapping

B058F04

Sensitivity/Gain

Response/InstrumentSensitivity/Value

B058F05

Frequency

Response/InstrumentSensitivity/Frequency

B058F06

Number Of History Values

No Mapping

B058F07

Sensitivity For Calibration

No Mapping

B058F08

Frequency Of Calibration

No Mapping

B058F09

Time Of Calibration

No Mapping

5.1.8. B61 FIR Response

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B061F03

Stage Sequence Number

Response/Stage/FIR

number

B061F04

Response Name

Response/Stage/FIR

name

B061F05

Symmetry

Response/Stage/FIR/Symmetry

B061F06

Signal In Units

Response/Stage/FIR/InputUnits/Name

B034F04, B041F06

B061F07

Signal Out Units

Response/Stage/FIR/OutputUnits/Name

B034F04, B041F07

B061F08

Number of Coefficients

No Mapping

B061F09

FIR Coefficient

Response/Stage/FIR/NumeratorCoefficient

5.1.9. B62 Response Polynomial

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B062F03

Transfer Function Type

No Mapping

B062F04

Stage Sequence Number

Response/Stage/Polynomial

number

B062F05

Stage Signal Input Units

Response/Stage/Polynomial/InputUnits/Name

B034F04, B042F06

B062F06

Stage Signal Output Units

Response/Stage/Polynomial/OutputUnits/Name

B034F04, B042F07

B062F07

Polynomial Approximation Type

Response/Stage/Polynomial/ApproximationType

B062F08

Valid Frequency Units

No Mapping

B062F09

Lower Valid Frequency Bound

Response/Stage/Polynomial/FrequencyLowerBound

B062F10

Upper Valid Frequency Bound

Response/Stage/Polynomial/FrequencyUpperBound

B062F11

Lower Bound Of Approximation

Response/Stage/Polynomial/ApproximationLowerBound

B062F12

Upper Bound Of Approximation

Response/Stage/Polynomial/ApproximationUpperBound

B062F13

Maximum Absolute Error

Response/Stage/Polynomial/MaximumError

B062F14

Number Of Polynomial Coefficients

No Mapping

B062F15

Polynomial Coefficient Error

Response/Stage/Polynomial/Coefficient

minusError plusError

5.2. Embedded Schema Keywords

The StationXML Reference of this documentation is auto-generated from documentation tags in the StationXML schema document. In this way a single source of documentation is maintained for the purposes of this generated documentation and those reading the XSD schema specification directly.

To allow additional granularity and clarity in the generated documentation, special embedded elements and attributes are parsed from the content of standard documentation tags of XML Schema.

The following elements and attributes are recognized in the standard <documentation> tags:

  1. <example>

  2. <warning>

  3. <levelDesc>

  4. LevelChoice

  5. ElementChoice

These serve the following roles:

  • <example> - An XML element that contains an example of the relevant element in the StationXML documentation.

    For instance, NetworkType element contains 2 documentation tags:

    <xs:complexType name="NetworkType">
       <xs:annotation>
       <xs:documentation>The Network container. All station metadata for this network is contained within this element.
              A Description element may be included with the official network name and other descriptive information.
              An Identifier element may be included to designate a persistent identifier (e.g. DOI) to use for citation.
              A Comment element may be included for additional comments.
      </xs:documentation>
      <xs:documentation><example><Network code="IU" startDate="2016-01-27T13:00:00" /></example></xs:documentation>
       </xs:annotation>
    </xs:complexType>
    

    The first documentation text appears directly beneath the Network element in the StationXML documentation (it is the Network description), while the second is used to create the example beneath the description:

    Example: <Network code=”IU” startDate=”2016-01-27T13:00:00” />
    

    Note that for an example attribute, the <example> element should contain just the textual value, not the key or quotes. So within the code attribute on Network, the example would be just:

    <xs:documentation><example>IU</example></xs:documentation>
    

    which would produce:

    code=”IU”
    
  • <warning> - This is used to wrap the text that follows it in an ReStructuredText admonition wrapper.

    It is used, for example, to present a caution that a particular element may be deprecated in future versions of the StationXML documentation.

  • <levelDesc> - An XML element that contains a description of the relevant element in the StationXML documentation at a given level.

    This exists as a container to hold the description as text, along with a LevelChoice attribute to specify the level.

  • LevelChoice=”X” - where X is in {N, S, C}.

    When a particular XML element is used more than once in the documentation, this allows us to specify different documentation for different BaseNodeElements. For example, Network, Station and Channel types all inherit code from the BaseNodeElement. By using the LevelChoice attribute on a <levelDesc> or an <example> element, we can specify a unique Description and Example for the Network.code, Station.code and Channel.code.

    For example,

    <xs:attribute name="code" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation><levelDesc LevelChoice="N">Name of Network</levelDesc></xs:documentation>
        <xs:documentation><levelDesc LevelChoice="S">Name of Station</levelDesc></xs:documentation>
        <xs:documentation><levelDesc LevelChoice="C">Name of Channel</levelDesc></xs:documentation>
        <xs:documentation><example LevelChoice="N">IU</example></xs:documentation>
        <xs:documentation><example LevelChoice="S">ANMO</example></xs:documentation>
        <xs:documentation><example LevelChoice="C">BHZ</example></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    

    If LevelChoice is not used (or if no choice is present that matches the Network, Station or Channel element, then the default value is used.

  • ElementChoice=”X” - Serves a similar function to LevelChoice except that it helps disambiguate StationXML elements that share a common parent type. For example, the unit attribute within FloatType:

       <xs:attribute name="unit" type="xs:string" use="optional">
         <xs:annotation>
           <xs:documentation>The unit of measurement. Use *SI* unit names and symbols whenever possible
             (e.g., 'm' instead of 'METERS').</xs:documentation>
           <xs:documentation><example>SECONDS</example></xs:documentation>
           <xs:documentation><example ElementChoice="WaterLevel">m</example></xs:documentation>
           <xs:documentation><example ElementChoice="Amplitude">m</example></xs:documentation>
         </xs:annotation>
       </xs:attribute>
    
    Because several elements are of FloatType but may have different
    units (METERS, SECONDS, etc), we use this to give more specific
    examples based on the element itself (Waterlevel, Amplitude).  Note
    the default Example has unit=‘SECONDS’.
    

5.3. Identifiers and codes

For information on Network, Station, Location, and Channel codes, in addition to their combination into Source Identifiers, used in StationXML see:

http://docs.fdsn.org/projects/source-identifiers

5.4. Unit Naming Rules

The FDSN strongly recommends the use of SI unit names whenever possible. For details see the SI brochure at:

  • Use SI units, base or derivative, and their standard symbols whenever possible. Spell out and avoid abbreviations of non-SI units.

  • Exponents for powers are specified with **, e.g. s**2.

  • Multiplication is specified using * while division is specified with /. For example hit/(cm**2*hour).

  • Use parentheses sparingly, only when FORTRAN-like precedence would not be correct.

  • Unit definitions are singular, not plural, e.g. use second not seconds.

  • Unit names should not mix symbols and full names, use one or the other, e.g. use m/s or meter/second but not meter/s or m/second.

  • Units should be used case sensitively, using the case specified by SI rules.

  • SI symbols are preferred over names to avoid language differences, for example m/s is preferred over meter/second or metre/second

  • Singular lowercase count is preferred for digital counts, do not use counts or COUNT

  • Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

In the SEED format all unit names are recommended to be uppercase and SI when possible. For this reason, some unit documentation and required declarations in StationXML are in “uppercase SI” and these remain in order to maintain backward compatibility with the initial schema version. With the next major change to the specification the FDSN will very likely remove these “uppercase SI” unit names in favor of proper SI unit names.

5.5. Specifying Dates and Times

Dates and times should be specified using the ISO 8601 specification, limited to the following subtypes:

  • “YYYY-MM-DDZ” when only a day is needed, for example in Network startDate

  • “YYYY-MM-DDThh:mm:ssZ” when second precision is sufficient

  • “YYYY-MM-DDThh:mm:ss.SSSZ” when subsecond precision is required, 3, 6 or 9 decimal digits may be used.

The SEED specification limited times to 4 decimal digit precision, tenth of millisecond, but is recommended that the number of subsecond digits be a multiple of 3, corresponding to SI unit powers.

Note that in ISO 8601 a time without a “Z” appended is generally assumed by most string to time conversion routines to be in local time. Because all times in StationXML should be UTC, the FDSN strongly recommends that dates and times have the “Z” timezone specifier appended to avoid this ambiguity.

For further information see the XML Schema recommendation from W3C at https://www.w3.org/TR/xmlschema-2/#isoformats

5.6. Type Glossary

Type

Type Details

Examples

anyURI

Represents a Uniform Resource Identifier Reference, which often describes URLs and file paths.

CounterType

Integers greater than or equal to 0.

  • 0

  • 12345

dateTime

W3C/ISO 8601 representation of a date or time. A “Z” should always be appended to a time represent the timezone as UTC.

  • 2021-07-26Z

  • 2021-07-26T12:49:55Z

  • 2021-07-26T12:49:55.123Z

decimal

The subset of real numbers

  • -123.45

  • 53.7

double

A number between 2.23 × 10^-308 and 8.98 × 10^307 (rounded), along with positive and negative infinity and NaN.

  • 12.78e-2

  • -32

integer

A decimal number without the period and numbers following it.

…-2,-1,0,1, 2, …

RestrictedStatusType

an NMTOKEN that is either “open”, “closed,” or “partial.””

  • open

  • closed

string

A finite sequence of characters.

foo bar

NMTOKEN

a combination of name characters, which include letters, digits, periods, hyphens, underscores, colons.

  • ANMO

  • a1.-_: