This document provides a guidance for the asset identification process. For the data to be discoverable and accessible through the IOOS Data Catalog, all observing assets must be identified in accord with the present IOOS Convention.
Edit me

Currently ACTIVE version of the IOOS Convention


Revision History

Version Description Date
0.0.1 First draft 2010-12-22
0.1 Streamlined and cleaned up draft 2013-12-06
0.5 Fixed typos and minor editing for Milestone 1.0 2014-08-31
1.0 Provides major update to the glider and sensor identification 2016-07-15

Contributors

Name Role Association
Jeff de La Beaujardière Author NOAA/NESDIS/Technology Planning and Integration Office
Derrick Snowden Contributor U.S. IOOS Office
Carmel Ortiz Contributor U.S. IOOS Office
Alex Birger Contributor U.S. IOOS Office
Anna Milan Contributor NOAA National Geophysical Data Center (NGDC)

References

  1. IETF RFC 2141
  2. Previous version of the Convention



Introduction

This document describes the convention used by the Integrated Ocean Observing System (IOOS) program to assign an identifier to IOOS-related observing assets. The observing asset may include hardware units (like measurement platforms and sensors), processes (such as surveys) or their combination. An identifier is used as the name by which further metadata about the asset may be requested from IOOS web services. An IOOS identifier is the name that IOOS web services uses for the asset, but each asset may also have other names assigned by other communities.

Many assets have codes or labels assigned to them by an external authority. For example, every weather buoy has a World Meteorological Organization (WMO) number; every registered vessel has an International Maritime Organization (IMO) number assigned by Lloyd’s register. The IOOS identifiers allow for and make use of such codes; however, the IOOS identifiers add some semantics to indicate

  • the authority which assigned the number or name;
  • the asset’s association with IOOS;
  • the asset application’s specifics for measuring of an observed phenomenon.

The “association with IOOS” in this context typically means that the asset gets exposed through one or more of web services implemented by regional and federal data providers and registered in the IOOS Service Registry, and the asset is the source of a data that can be discovered through the IOOS Catalog.

The “asset application’s specifics” generally means that along with a hardware component, the asset identifier encompasses some associated processing method or procedure. The inclusion of the basic procedure description into the asset identifier allows to facilitate the data discovery for some specific use cases such as repeated deployment of the same asset, or use of multiple identical assets for observing the identical phenomenon with various reference datums and/or post-processing applied.

Informative Examples

For the sake of illustration, the following examples of identifiers are currently in use by IOOS. In the case of conflict or ambiguity, the specification sections take precedence over these examples.

Asset Identifier
WMO buoy 41012 urn:ioos:station:wmo:41012
Wave sensor on WMO buoy 41012 urn:ioos:sensor:wmo:41012:wpm1
CO-OPS station cb0102 urn:ioos:station:NOAA.NOS.CO-OPS:cb0102
Active water level sensors within CO-OPS network of stations urn:ioos:network:NOAA.NOS.CO-OPS:WaterLevelActive
Water level sensor at CO-OPS station 8454000 urn:ioos:sensor:NOAA.NOS.CO-OPS:8454000:D1
Nortek Acoustic Doppler Profiler sensor that is measuring water currents and/or waves and is mounted on the CO-OPS cb0201 station urn:ioos:sensor:NOAA.NOS.CO-OPS:cb0201:Nortek-ADP-514


General Identifier Convention

Use of Uniform Resource Names

An IOOS identifier is Uniform Resource Identifier (URI). URIs are commonly used as identifiers in the Internet’s information architecture; an introductory description of URIs may be found on Wikipedia. In fact, IOOS identifiers are based on a specific form of URI, which is called a Uniform Resource Name (URN), which was designed for the identification of resources in particular namespaces. The URN syntax is described in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 2141; the definitions and restrictions established by the RFC 2141 determine the syntactic structure of the IOOS identifiers.

All URIs assigned by IOOS begin with the string urn:ioos:, followed by one or more fields also separated by colons (:). The initial urn: indicates that the URI is indeed a URN. The following ioos: indicates that the URN is in the IOOS namespace.

NOTE: The ioos namespace has not been formally registered with IANA; therefore, it is rather informal, community-wide namespace.

The additional fields may only include letters and numbers (A-Z, a-z, 0-9) and the following characters: ( ) + , - . = @ ; $ _ ! *

Special characters not in the foregoing list must be represented using hexadecimal encoding as %xx, where xx represents a two-digit hex value. The use of such characters in IOOS URNs is not recommended.

Case Insensitivity

IOOS URNs are considered to be case-insensitive. The fields in IOOS URNs are customarily lower-case but may appear in UPPERCASE or MiXedCase. Example: urn:ioos:ABC and urn:ioos:abc refer to the same asset. This is more restrictive than the RFC 2141 provision; however, it is permitted.

Identifier Pattern

IOOS asset identifier is a text string that consists of several colon-delimited fields:


           urn:ioos:asset_type:authority:label[:component][:discriminant][#functional_parameters]


Each field contains information pertinent to the description of the observing assets:

urn:ioos
A fixed string indicating this is IOOS asset (required);
asset_type
A variable indicating the type of asset being identified (required);
authority
Abbreviation or name for the organization that assigned the label (required);
label
The number or label that was assigned by the authority to the asset (required);
component
A name or ID of a specific component of a certain asset (optional);
discriminant
The component’s sub-name for resolving duplicate components (optional);
functional_parameters
An extended metadata to represent various processes associated with the component (optional).

The following sections explain in details the use of all the fields. The general requirement of the Convention is that the values of the fields have to be governed by a recognized controlled vocabulary; although some vocabularies are recommended hereinafter, other controlled vocabularies may be used as well.

Asset Type

The asset_type field indicates the type of asset to which this identifier applies. The following values for asset_type are currently recognized by IOOS:

glider
An autonomous vehicle that slowly (~20km/day) propels itself forward with very low power consumption by exploiting a controlled buoyancy in conjunction with wings and has a rudder for steering. Gliders either can autonomously navigate crossing large horizontal areas while vertically undulating the water column or can undulate at a near-fixed position acting as a virtual mooring.
station
A fixed platform, installation, or nominally-constant position where measurements are performed. Examples include: a water-level gauge mounted on a pier; a moored buoy that moves within a known watch radius of the nominal mooring location; an OceanSITES deep-water monitoring location; a site at which water quality samples are taken.
network
A network of stations defined above.
sensor
A device that detects or measures observed physical phenomena and records, indicates, or otherwise responds to it. Sensor typically is attached to a station or glider. Examples include: a water-level sensor; a temperature sensor; an anemometer; a current meter.
survey
A visual observation, measurement or collecting samples by a human observer performed at a station or from a ship for a follow-up analyses in the laboratory. Example: a quarterly visit to a known location to collect water for chemical analysis; an assessment by a diver of the species present in a particular location, etc.

Additional asset_type values may be added by IOOS as needed. The valid values in the asset_type field may be drawn from the following vocabularies or any other community-recognized controlled vocabulary:

Authority

The authority field indicates the organization that assigned the label for this asset. There is no fixed set of values, because additional authorities may become relevant as new observing systems are connected to IOOS. However, the same abbreviation or name should be used for all instances of a particular authority. These abbreviations are case insensitive. Here are a few examples of how the authority field is currently used in IOOS:

wmo
World Meteorological Association.
noaa.nos.co-ops
Center for Operational Oceanographic Products and Services (COOPS) in the National Ocean Service (NOS) of the U.S. National Oceanic and Atmospheric Administration (NOAA).
usace
U.S. Army Corps of Engineers.
fiu
Florida International University.
test
Temporary service instance using for test.

The valid values in the authority field may be drawn from the following vocabularies or any other community-recognized controlled vocabulary:

Label

The label is a number or string assigned by the Authority to the asset. Allowed values are defined by the particular authority. The only restrictions are that

  • the characters used must not conflict with the URN specification, and
  • labels within the scope of a given authority must be unique.

Component

The component field is used to label sub-assets in order to distinguish between different sub-assets associated with the same parent asset. The component value must be unique for each parent asset asset_type:authority:label.

Discriminant

The discriminant field is a free-format text string that provides an additional means for resolving duplication of assets or sub-assets that may result from multiple deployments of the same asset, use of multiple identical sub-assets (e.g. sensors) at the same parent asset (e.g. station). The discriminant ensures the uniqueness of the multiple (sub-)asset’s identifiers within the single asset’s domain.

Functional Parameters

The optional functional_parameters field provides extended metadata that depicts various processes associated with the component. Adding this metadata allows unambiguous identification of the data that is collected through the measurement of the identical phenomenon at the same station with different reference datums or post-processing methods. Although this field is not required, in cases like these it is the only way to identify the data that is normally impossible to represent without additional parameters. The functional parameters are especially valuable for conversing the netCDF attributes to IOOS SOS XML representation.

Examples of the functional_parameters field values:

  • Cell Methods:
    • #cell_methods=time:mean;interval=pt24h (mean over time)
    • #cell_methods=time:standard_deviation (standard deviation)
  • Vertical Datums
    • #vertical_datum=mllw (tidal MLLW datum)
    • #vertical_datum=navd88 (geodetic datum NAVD 88)

Various parameters may be combined in one functional_parameters field, e.g.

      #vertical_datum=mllw;cell_methods=time:mean;interval=pt12h (MLLW datum; mean over 12 hours processing)


Convention for Specific Asset Types

Station Identifiers

The pattern for IOOS platform (station) identifiers is

      urn:ioos:station:authority:label[:discriminant].

Station identifiers do not include a component field but may include a discriminant to identify, for example, a relocation of a mooring buoy or redeployment to the same location after sensor replacement.

Glider Identifiers

The pattern for IOOS glider identifiers is similar to the station identifier

      urn:ioos:glider:authority:label[:discriminant].

As the same glider is typically associated with multiple deployments, the discriminant field in the glider’s identifier adds unique information about each deployment like a deployment number, time, starting point coordinates, etc.; the complete identifier will allow unambiguous resolution of any of the glider’s missions.

Since no field can contain a colon (":"), the date/time information cannot be reported in the ISO 8601 format, and has to be provided in YYYYmmddTHHMM format, where “YYYYmmdd” depicts a deployment year, month and day, “HHMM” identifies a specific time, and “T” separates date and time fields, e.g.

      urn:ioos:glider:edu.rutgers.marine:unit_191:20150105T1443.

Sensor Identifiers

For the purpose of this Convention, the sensors are always associated with a certain station, and are used to measure one or more observed quantities at or adjacent to the station location. The pattern for IOOS sensor identifiers is

      urn:ioos:sensor:authority:label:component[:discriminant][#functional_parameters]

The authority and label portions of the sensor’s identifier are defined by the station the sensor is associated with; the component and discriminant fields combine into a unique sensor’s name that distinguishes it from the other sensors at the same station.

The component field may contain the make and model of the sensor (e.g., SONTEK-ADP-419), the phenomenon observed by that sensor (e.g., salinity), or an arbitrary label used by the organization that operates the sensor (e.g., A1). Whenever possible, the value from the CF Standard Names table must be used as an observed property name (e.g., sea_water_temperature rather than SeaTemp).

The discriminant field provides for unique identification of multiple sensors of the same type attached to the same platform for measuring the identical phenomenon, e.g. sea_water_temperature or direction_of_sea_water_velocity on different sides of the platform. Each sensor will have an identifier that includes the label for the platform and the label for the sensor; however, since the sensors and the observed properties are identical, it is impossible to distinguish one from another without providing additional information on the sensors such as sensor’s location at the platform, time of deployment, serial number, etc. The resulting identifier will be perfectly unique within the platform:

  • urn:ioos:station:authority:label_station:sea_water_temperature:east,
  • urn:ioos:station:authority:label_station:sea_water_temperature:bottom,
  • urn:ioos:station:authority:label_station:sea_water_temperature:nortek_adp_514

The functional_parameters field allows distinguishing of the measurements done by the same sensor but associated with different reference parameters or post-processing methods as described in the “Functional Parameters” section above.

Survey Identifiers

A survey identifier URN shall include the authority and label fields of the station or a ship, and may include a component field to distinguish it from other surveys at the same station or ship:

      urn:ioos:survey:authority:label[:component]

For visual observation purpose, the authority, label, and component fields may also indicate either (1) the general observing protocol or (2) the specific type of observation.

General observing protocol

If visual estimates are made according to some established observing protocol, then the authority field may contain a reference to the document that describes the protocol. For example, if observation was made by the NWS Observing Handbook No. 1 (2004), then the survey identifier will look as follows:

     urn:ioos:survey:nws_observing_handbook_2004:label[:component]

If a simple reference to the document is sufficient to avoid any need for additional interpretation, it is acceptable to identify the survey with just the URL of the document describing the observing protocol, laboratory procedures, etc. In the case of the NWS Observing Handbook, for example, the following URL may play a role of the survey ID:

     http://www.vos.noaa.gov/ObsHB-508/ObservingHandbook1_2004_508_compliant.pdf

Specific type of observation

The survey identifier may include the type of observation made by the human. For example, in the NWS Handbook, Chapter 2, page 2-7 says that “iw” is the “wind speed indicator”, and that it has values 0, 1, 3, 4 depending on how the wind speed was estimated or measured, with “3” being “wind speed estimated in knots.” For such an observation, the survey identifier may use the observation code instead of authority, label, and component fields:

     urn:ioos:survey:iw:3

or in a more verbose manner:

     urn:ioos:survey:wind_speed_indicator:estimated_in_knots

Similarly, from p.2-76, sea surface temperature measurement can be identified as

     urn:ioos:survey:ss:1

or

     urn:ioos:survey:sst_indicator:negative_intake_measurement

Tags: