1. Overview

1.1. Introducing StationXML

StationXML is an XML representation of metadata that describes the data collected by geophysical instrumentation.

StationXML is defined by a schema that specifies the allowable format of StationXML documents.

1.1.1. StationXML Example

StationXML Show/Hide

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
    schemaVersion="1.2">
  <Source></Source>
  <Sender>FAKE-DC</Sender>
  <Module>Some WEB SERVICE</Module>
  <Created>2022-02-21T20:27:54.6270Z</Created>
  <Network code="IU" startDate="1988-01-01T00:00:00Z">
   <Description>Global Seismograph Network - IRIS/USGS (GSN)</Description>
   <Identifier type="DOI">10.7914/SN/IU
   </Identifier>
   <Station code="ANMO" startDate="2002-11-19T21:07:00Z">
    <Description>(GSN) IRIS/USGS (IU) and ANSS</Description>
    <Latitude>34.94591</Latitude>
    <Longitude>-106.4572</Longitude>
    <Elevation>1820.0</Elevation>
    <Site>
     <Name>Albuquerque, New Mexico, USA</Name>
    </Site>
    <Channel code="BHZ" locationCode="00" startDate="2018-07-09T20:45:00Z" >
     <Latitude>34.94591</Latitude>
     <Longitude>-106.4572</Longitude>
     <Elevation>1632.7</Elevation>
     <Depth>188</Depth>
     <Azimuth>0</Azimuth>
     <Dip>-90</Dip>
     <SampleRate>40</SampleRate>
     <Sensor>
      <Description>Streckeisen STS-6A VBB Seismometer</Description>
     </Sensor>
     <Response>
     <InstrumentSensitivity>
       <Value>1.98475E9</Value>
       <Frequency>0.02</Frequency>
       <InputUnits>
         <Name>m/s</Name>
       </InputUnits>
       <OutputUnits>
         <Name>count</Name>
       </OutputUnits>
     </InstrumentSensitivity>
     </Response>
    </Channel>
   </Station>
  </Network>
 </FDSNStationXML>

Note that each XML element must have a start tag (e.g., <Station>) and an end tag (</Station>) and the element hierarchy must be maintained (e.g., a <Channel> may not exist outside of a <Station> and a <Station> may not exist outside of a <Network>, etc.).

1.1.2. The FDSN and StationXML schema

StationXML was developed through the International Federation of Digital Seismograph Networks (FDSN) to provide a standardized format for geophysical metadata.

Notice that the example StationXML excerpt above contains the following lines

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
   schemaVersion="1.2">

The first line, the xml prologue, specifies the xml version and the character encoding.

The second line begins the StationXML document and specifies the location and version of the schema to which the StationXML example must conform.

The FDSN maintains all versions of the StationXML schema at:

For instance, at the time of this writing, the latest schema version is v1.2 and is located at:

1.1.3. Character Encoding

UTF-8 is the default encoding for XML, specified in the prologue, allowing non-ascii characters to be used within StationXML. This is common within names of people and places and in comments and descriptions. However, authors should use ASCII when possible for maximum portability.

In particular, text that will likely be used by software, as opposed to simply displayed, such as ids and units, should only use ASCII.

1.2. Documentation Organization

This documentation has 5 parts:

  1. This introduction

  2. StationXML Reference - Over time, once users have absorbed the other parts of the documentation, it is expected that this reference section will be the most frequently used. The reference section is auto-generated directly from the FDSN schema so that it should always be in sync with the schema. The reference itself is broken out by the 5 levels of response detail:

    • FDSNStationXML

    • Network

    • Station

    • Channel

    • Response

  3. Specifying and using response information - In this section you will find theory and examples to help you create instrument responses for your own stations.

  4. StationXML tools - contains examples of 3rd party tools available to help users create and edit StationXML files. This is expected to be a fluid page that changes as new tools become available and older tools are deprecated.

  5. Appendices - In here you will find more technical details on specific parts of StationXML and metadata. For instance, the first section, Mapping SEED to StationXML, is meant to be used as a reference to help users migrate their SEED format metadata to StationXML

1.3. Some History - SEED

For three decades, the Standard for the Exchange of Earthquake Data (SEED) was the standard format for archiving and distributing metadata within the seismological community. Once representing file volumes binding metadata to data, a provision was later developed that allowed SEED metadata to stand on its own and was given the designation ‘dataless SEED’.

StationXML was developed through the FDSN (International Federation of Digital Seismograph Networks) as a replacement and extension of the SEED standard.

The purpose of the FDSN StationXML schema (fdsn-station.xsd) is to define an XML representation of the most important and commonly used structures of SEED 2.4 metadata with enhancements.

The goal of this document is to allow mapping between SEED 2.4 dataless SEED volumes and the StationXML schema with as little transformation or loss of information as possible, while at the same time simplifying station metadata representation when possible. Also, content and clarification has been added where lacking in the SEED standard.

1.4. StationXML Schema Changes

1.4.1. Changes from version 1.1 to 1.2 (2022-2-25)

The 1.2 revision of StationXML makes no changes to the schema proper, only changing the schema version and adding documentation via <xs:annotation> and <xs:documentation> elements, as well as external files. Any existing code that works with 1.1 should work with 1.2 without modification. We recommend that services generating StationXML or distributing it, such as FDSNWS Station web services, update the schemaVersion attribute to ‘1.2’ at the next convenient opportunity.

Note that the documentation makes recommendations in many cases and services that generate 1.2 StationXML should attempt to follow these recommendations where possible. These recommendations include:

  • Dates and times should be W3C/ISO 8601 and should always include a timezone of ‘Z’ to indicate UTC

  • Do not use endDate in the future, it should not be present when currently active

  • Originators of StationXML use <Source> and distributors use <Sender>

  • Network, Station and Channel sourceId should use the FDSN Source Identifiers specification, http://docs.fdsn.org/projects/source-identifiers

  • Use SI symbols for unit name, like m/s, along with singular lowercase “count” for digital counts.

  • Avoid SEED-style uppercase unit symbols

  • Omit Description for common units like m/s, m/s**2, count, etc.

  • Use empty Response element when response is unknown or not applicable.

  • For low pass FIR filters, use gain at zero frequency (sum of coefficients)

  • Gain-only analog Stages should use PolesZeros with no poles or zeros

  • Gain-only digital Stages should use FIR with a single numerator of value 1

1.4.2. Changes from version 1.0 to 1.1 (2019-5-3)

(Edited 2019-12-18 for small clarifications)

  • Add (persistent) <Identifier> element to all base nodes (Network, Station, Channel)

  • Unify response elements, allow “number” and disallow “unit” attribute to <Numerator> and <Denominator>

  • Allow <CreationDate> to be optional

  • Use xs:double for <ApproximationLowerBound>, <ApproximationUpperBound> and <MaximumError>

  • Include data availability elements described in the fdsn-station+availability-1.0.xsd extension schema as optional elements of the main schema

  • Remove <StorageFormat> from <Channel>

  • Limit each <Operator> to a single <Agency>

  • Allow more than a single <Equipment> occurrence in <Channel>, same as in <Station>

  • Allow <Operator> at the <Network> level, same as in <Station>

  • Add “sourceID” attribute, with URI value, to the base node type for <Network>,<Station>,<Channel>

  • Do not require and disallow <StageGain> and <Decimation> for <Polynomial> response stages

  • Add “measurementMethod” attribute to “uncertaintyDouble” attribute group used by azimuth, dip, distance, latitude, longitude, elevation, etc. types

  • Add <WaterLevel> within <Station> and <Channel>

  • Add “subject” attribute to <Comment> to allow relating comments, make “id” attribute optional.

The vast majority of the StationXML 1.0 schema exists in the 1.1 schema, making most 1.0 documents compatible with the 1.1 schema. There are a few small exceptions where 1.0 elements were removed from 1.1, in one important case to avoid the specification of incorrect metadata.

An XSLT definition for StationXML 1.0 to 1.1 conversion exists to assist with the systematic conversion of version 1.0 documents to the version 1.1 schema. This is done by removing the elements no longer allowed in 1.1.

1.4.3. Potential Future Changes

The following are potential future changes, as tagged in the schema with <warning> elements in the documentation. They may result in modifications or deletions in future versions of StationXML.

  • <FDSNStationXML> schemaVersion :

Warning, Future Change

schemaVersion: This attribute may change to be a string to allow micro versions, and potential dash, ‘-’, separators starting in version 2. Users should not assume ‘xs:decimal’.

  • <FDSNStationXML> <Source> :

Warning, Future Change

<Source>: This element is likely to be a choice with Sender.

  • <FDSNStationXML> <Sender> :

Warning, Future Change

<Sender>: This element is likely to be a choice with Source.

  • <Network> endDate :

Warning, Future Change

endDate: This attribute should not be used if it is in the future.

  • <Network> endDate :

Warning, Future Change

endDate: This attribute is likely to require timezone of Z.

  • <Network> startDate :

Warning, Future Change

startDate: This attribute is likely to require timezone of Z.

  • <Network> <TotalNumberStations> :

Warning, Future Change

<TotalNumberStations>: This element is likely to be removed.

  • <Network> <SelectedNumberStations> :

Warning, Future Change

<SelectedNumberStations>: This element is likely to be removed.

  • <Station> endDate :

Warning, Future Change

endDate: This attribute should not be used if it is in the future.

  • <Station> endDate :

Warning, Future Change

endDate: This attribute is likely to require timezone of Z.

  • <Station> startDate :

Warning, Future Change

startDate: This attribute is likely to require timezone of Z.

  • <Station> <CreationDate> :

Warning, Future Change

<CreationDate>: This element is likely to be removed.

  • <Station> <TerminationDate> :

Warning, Future Change

<TerminationDate>: This element is likely to be removed.

  • <Station> <TotalNumberChannels> :

Warning, Future Change

<TotalNumberChannels>: This element is likely to be removed.

  • <Station> <SelectedNumberChannels> :

Warning, Future Change

<SelectedNumberChannels>: This element is likely to be removed.

  • <Channel> endDate :

Warning, Future Change

endDate: This attribute should not be used if it is in the future.

  • <Channel> endDate :

Warning, Future Change

endDate: This attribute is likely to require timezone of Z.

  • <Channel> startDate :

Warning, Future Change

startDate: This attribute is likely to require timezone of Z.

  • <Channel> <Type> :

Warning, Future Change

<Type>: This element is likely to be removed.

  • <Response> <Stage> :

Warning, Future Change

<Stage>: A filter, (PolesZeros, Coefficients, FIR, etc) may be required.

  • <Response> <Stage> <Coefficients> :

Warning, Future Change

<Coefficients>: The Numerator element is likely to be changed to require at least one numerator.

  • <Response> <Stage> <Coefficients> <Numerator> :

Warning, Future Change

<Numerator>: At least one Numerator may be required.

  • <Response> <Stage> <FIR> :

Warning, Future Change

<FIR>: The NumeratorCoefficient field is likely to be changed to require at least one numerator in future versions of StationXML.

  • <Response> <Stage> <FIR> :

Warning, Future Change

<FIR>: The NumeratorCoefficient field is likely to be renamed to Numerator in future versions of StationXML.

  • <Response> <Stage> <FIR> <NumeratorCoefficient> :

Warning, Future Change

<NumeratorCoefficient>: At least one Numerator may be required.

  • <Response> <Stage> <FIR> <NumeratorCoefficient> :

Warning, Future Change

<NumeratorCoefficient>: May be renamed to Numerator.

1.5. Documentation Changes

Changes to this documentation.

Version 2022-02-25:

  • Resolved issues with documentation by FDSN WG evaluation team.

Version 2020-09-02:

  • Initial StationXML documentation.

The initial version of StationXML documentation was prepared by ISTI and sponsored by IRIS Data Services and ORFEUS.