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 |
|
|
B034F05 |
Unit Description |
Multiple Mappings |
5.1.2. B50 Station Identifier
Field |
Field Name |
StationXML Element |
Attribute |
Dictionary Field(s) |
---|---|---|---|---|
B050F03 |
Station Call Letters |
code |
||
B050F04 |
Station Latitude |
|||
B050F05 |
Station Longitude |
|||
B050F06 |
Station Elevation |
|||
B050F07 |
Number Of Channels |
|||
B050F08 |
Number Of Station Comments |
|||
B050F09 |
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 |
startDate |
||
B050F14 |
End Effective Date |
endDate |
||
B050F15 |
Update Flag |
No Mapping |
||
B050F16 |
Network Code |
code |
5.1.3. B52 Channel Identifier
Field |
Field Name |
StationXML Element |
Attribute |
Dictionary Field(s) |
---|---|---|---|---|
B052F03 |
Location Identifier |
locationCode |
||
B052F04 |
Channel Identifier |
code |
||
B052F05 |
Subchannel Identifier |
No Mapping |
||
B052F06 |
Instrument Identifier |
No Mapping |
||
B052F07 |
Optional Comment |
|||
B052F08 |
Units Of Signal Response |
No Mapping |
||
B052F09 |
Units Of Calibration Input |
|||
B052F10 |
Latitude |
|||
B052F11 |
Longitude |
|||
B052F12 |
Elevation |
|||
B052F13 |
Local Depth |
|||
B052F14 |
Azimuth |
|||
B052F15 |
Dip |
|||
B052F16 |
Data Format Identifier Code |
No Mapping |
||
B052F17 |
Data Record Length |
No Mapping |
||
B052F18 |
Sample Rate |
|||
B052F19 |
Max Clock Drift |
|||
B052F20 |
Number Of Comments |
No Mapping |
||
B052F21 |
Channel Flags |
No Mapping |
||
B052F22 |
Start Date |
startDate |
||
B052F23 |
End Date |
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 |
|||
B053F04 |
Stage Sequence Number |
number |
||
B053F05 |
Stage Signal Input Units |
B034F04, B043F06 |
||
B053F06 |
Stage Signal Output Units |
B034F04, B043F07 |
||
B053F07 |
A0 Normalization Factor |
|||
B053F08 |
Normalization Frequency |
|||
B053F09 |
Number Of Complex Zeros |
No Mapping |
||
B053F10 |
Real Zero |
|||
B053F11 |
Imaginary Zero |
|||
B053F12 |
Real Zero Error |
minusError plusError |
||
B053F13 |
Imaginary Zero Error |
minusError plusError |
||
B053F14 |
Number Of Complex Poles |
No Mapping |
||
B053F15 |
Real Pole |
|||
B053F16 |
Imaginary Pole |
|||
B053F17 |
Real Pole Error |
minusError plusError |
||
B053F18 |
Imaginary Pole Error |
minusError plusError |
5.1.5. B55 Response List
Field |
Field Name |
StationXML Element |
Attribute |
Dictionary Field(s) |
---|---|---|---|---|
B055F03 |
Stage Sequence Number |
name |
||
B055F04 |
Signal Input Units |
B034F04, B045F05 |
||
B055F05 |
Signal Output Units |
B034F04, B045F06 |
||
B055F06 |
Number Of Responses Listed |
No Mapping |
||
B055F07 |
Frequency |
|||
B055F08 |
Amplitude |
|||
B055F09 |
Amplitude Error |
minusError plusError |
||
B055F10 |
Phase Angle |
|||
B055F11 |
Phase Angle Error |
minusError plusError |
5.1.6. B57 Decimation
Field |
Field Name |
StationXML Element |
Attribute |
Dictionary Field(s) |
---|---|---|---|---|
B057F03 |
Stage Sequence Number |
number |
||
B057F04 |
Input Sample Rate |
|||
B057F05 |
Decimation Factor |
|||
B057F06 |
Decimation Offset |
|||
B057F07 |
Estimated Delay |
|||
B057F08 |
Correction Applied |
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 |
|||
B058F05 |
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 |
number |
||
B061F04 |
Response Name |
name |
||
B061F05 |
Symmetry |
|||
B061F06 |
Signal In Units |
B034F04, B041F06 |
||
B061F07 |
Signal Out Units |
B034F04, B041F07 |
||
B061F08 |
Number of Coefficients |
No Mapping |
||
B061F09 |
FIR Coefficient |
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 |
number |
||
B062F05 |
Stage Signal Input Units |
B034F04, B042F06 |
||
B062F06 |
Stage Signal Output Units |
B034F04, B042F07 |
||
B062F07 |
Polynomial Approximation Type |
|||
B062F08 |
Valid Frequency Units |
No Mapping |
||
B062F09 |
Lower Valid Frequency Bound |
|||
B062F10 |
Upper Valid Frequency Bound |
|||
B062F11 |
Lower Bound Of Approximation |
|||
B062F12 |
Upper Bound Of Approximation |
|||
B062F13 |
Maximum Absolute Error |
|||
B062F14 |
Number Of Polynomial Coefficients |
No Mapping |
||
B062F15 |
Polynomial Coefficient Error |
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:
<example>
<warning>
<levelDesc>
LevelChoice
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:
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. |
|
dateTime |
W3C/ISO 8601 representation of a date or time. A “Z” should always be appended to a time represent the timezone as UTC. |
|
decimal |
The subset of real numbers |
|
double |
A number between 2.23 × 10^-308 and 8.98 × 10^307 (rounded), along with positive and negative infinity and NaN. |
|
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.”” |
|
string |
A finite sequence of characters. |
foo bar |
NMTOKEN |
a combination of name characters, which include letters, digits, periods, hyphens, underscores, colons. |
|