ISO Components
From NOAA Environmental Data Management Wiki
A complete documentation collection includes a variety of information about people, websites, documents, archives, processing systems, and many other things. In many cases these items are included in multiple collections. For example, a single person may be the metadata contact for many collections, a single archive may be a distributor for many datasets, a single platform may be used for many datasets, etc. These repeatable items are termed components (they have also been called fragments) and collections that include them are called composites. This concept has been implemented in several self-contained metadata management systems. This page explores how it might be implemented in a services oriented architecture.
Contents |
Composites/Components in the Repository
This Figure illustrates one approach to implementing composites and components in a documentation repository. In this case the components (colored boxes) are generated from a variety of relational databases. These might be databases of people, or LDAP servers, citation databases, accession tracking databases, or whatever. The components are provided as xml by the database in response to a query that specifies the ID for a particular component.The Record Repository holds the structure of the metadata records and information about where specific components (identified by unique identifiers) fit into that structure. The components are referenced from these structures rather than being included. These are referred to as unresolved composites. They would generally not be shared with the public.
The Record Cache holds complete records that include all resolved components. These are available to users in a Web Accessible Folder for translation into different views or for harvest into data discovery portals. The unresolved records are generally not available to users, although there could be situations in which they request access to those records.
Identifying Components in the Repository
Components must be identified using unique identifiers implemented as id or UUID attributes. The id attributes have some significant restrictions and are not globally unique, so in our examples we use UUIDs. This example shows a CI_OnlineResource component that describes the home page for the Defense Meteorological Satellite Program (DMSP) Archive at the National Geophysical Data Center (NGDC). The component includes a default function=information for this URL (see discussion below to reference this URL with a different function). Note that this component contains all of the required and optional fields for this CI_OnlineResource:
<gmd:CI_OnlineResource uuid="842068ED7ACB3919E040AC8C5AB45DED"> <gmd:linkage> <gmd:URL>http://www.ngdc.noaa.gov/dmsp/index.html</gmd:URL> </gmd:linkage> <gmd:protocol> <gco:CharacterString xmlns:gco="http://www.isotc211.org/2005/gco">HTML</gco:CharacterString> </gmd:protocol> <gmd:applicationProfile> <gco:CharacterString xmlns:gco="http://www.isotc211.org/2005/gco"/> </gmd:applicationProfile> <gmd:name> <gco:CharacterString xmlns:gco="http://www.isotc211.org/2005/gco"/> </gmd:name> <gmd:description> <gco:CharacterString xmlns:gco="http://www.isotc211.org/2005/gco">DMSP Satellites Homepage</gco:CharacterString> </gmd:description> <gmd:function> <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="information">information</gmd:CI_OnLineFunctionCode> </gmd:function> </gmd:CI_OnlineResource>
Searching the Component Repository
Default Values, Codes, and Optional Values
The composite/component idea works very well in cases where the components are completely self-contained and can be included "as is" in the composite records. This condition is met in many cases in the ISO Standard, but there are some exceptions that need to be understood in order to apply the concept correctly. These exceptions are generally related to optional elements and codes in the components. For example, consider the CI_OnlineResource object. It includes six elements, one of which (linkage) is required, and one of which (function) has five possible values:
+ linkage : URL + protocol [0..1] : CharacterString + applicationProfile [0..1] : CharacterString + name [0..1] : CharacterString + description [0..1] : CharacterString + function [0..1] : CI_OnLineFunctionCode (download, information, offlineAccess, order, or search)
It is clear that CI_OnlineResource is a good candidate for a component as the same web page will almost certainly be referenced from multiple metadata records. This works well as long as the optional values and the function code are the same in all of these situations (i.e. function = information in the example above). In those cases, the compact reference to the component shown below works well. If the default values in the component are not appropriate, other optional values and different code values can be specified in the reference to the component.
A compact reference with just a URL works well for situations in which all of the defaults are appropriate, but it does not work in the case where non-default values are required. For example, if the metadata required referencing this URL with a CI_OnlineFunctionCode of download, rather than the default value of information, the component would be represented in the composite as:
<gmd:distributorTransferOptions> <gmd:MD_DigitalTransferOptions> <gmd:onLine> <gmd:onlineResource xlink:href="http://www.ngdc.noaa.gov/docucomp/842068ED7ACB3919E040AC8C5AB45DED"> <gmd:CI_OnlineResource> <gmd:linkage gco:nilReason="template"/> <gmd:function> <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="download">download</gmd:CI_OnLineFunctionCode> </gmd:function> </gmd:CI_OnlineResource> </gmd:onlineResource> </gmd:onLine> </gmd:MD_DigitalTransferOptions> </gmd:distributorTransferOptions>
Note that it is not generally correct to include content in an XML element that is defined using an xlink. In this case, this unresolved XML is internal to the Documentation Repository, it is not published. The xlink and the additional information are interpreted by a custom resolver application that converts the unresolved composite to a resolved composite that is published.
The gmd:linkage element in this example is a required element that is provided by the component. It is represented in the composite with a nilReason = template so that the unresolved composite will validate using the ISO 19139 schema.
The CI_ResponsibleParty case is similar to the CI_OnlineResource except that the CI_RoleCode is required. In those cases the CI_RoleCode must be specified as a default or in the reference in order for the record to validate.
Referencing Components From Composites
Components are referenced from composite records using the the xlink standard. This involves specifying the location of the component rather than the content of the component in the composite XML. The most compact form for an xlink reference is:
<gmd:distributorTransferOptions> <gmd:MD_DigitalTransferOptions> <gmd:onLine> <gmd:onlineResource xlink:href="http://www.ngdc.noaa.gov/docucomp/842068ED7ACB3919E040AC8C5AB45DED"/> </gmd:onLine> </gmd:MD_DigitalTransferOptions> </gmd:distributorTransferOptions>
and the content of the component is retrieved from http://www.ngdc.noaa.gov/docucomp/842068ED7ACB3919E040AC8C5AB45DED
Web Service for resolving components
Creating an Unresolved Record
Unresolved records are created from composite records. This process is called unresolving. Below are the steps for manually unresolving a composite metadata record.
- 1. Identify Components: Any snippets of XML that are repeated in more then one record are good candidates to become components.
- 2. Acquire UUID: Components are identified and retrieved by UUID. UUID's are generally 32 character identifiers that are guaranteed to be globally unique. It's recommended that you have access to list of UUID's for use in constructing xlink references. There are multiple web sites that will generate UUID for free such as ITU.
- 3. Create xlink reference: An xlink href reference to a component takes the following form in Docucomp.
- To create an xlink reference append a new UUID to the the docucomp web service URN.
- xlink:href="http://www.ngdc.noaa.gov/docucomp/ add UUID"
- 4. Insert xlink href reference: The xlink reference is inserted into the parent element of the component.
- <gmd:onlineResource xlink:href="http://www.ngdc.noaa.gov/docucomp/842068ED7ACB3919E040AC8C5AB45DED"/>
- In this example the xlink is referencing a gmd:CI_OnlineResource component which is the child element contained within gmd:onlineResource.
- 5. Insert an xlink title attribute: The xlink title attribute provides a human understandable name to the component.
- xlink:href="http://www.ngdc.noaa.gov/docucomp/842068ED7ACB3919E040AC8C5AB45DED" xlink:title="DMSP Satellites Homepage"
- 6. Remove the Components: This step is now as simple as cut and paste. Cut each component out of the unresolved record and paste a copy into a new xml document. The components are the chunks of child xml referenced by the xlink hrefs. When complete there should be no more child chunks of xml descending from elements where xlink component references are present.
- 7. Verify XML is well formed: With all the cutting pasting it's easy to make simple xml structure errors. Make sure your unresolved record is well formed prior to resolving. Your unresolved record will not resolve unless it's well formed.
Validation
Being able to validate unresolved composites as they are being created is critical. This can be difficult in the common case in which the component is providing required material. Consider the CI_OnlineResource case shown above. The compact case validates because the CI_OnlineResource object is not included in the composite XML. In the second case, with the non-default function code, the linkage element is required for validation. The nilReason attribute is included in this case so that the XML will validate.
Templates
We are developing a set of component templates that can be used as starting material:
Examples
CI_OnlineResource
This example shows a complete CI_OnlineResource component with a default function = information. The unique identifier is given as a uuid attribute in the root element for the component:
<?xml version="1.0" encoding="UTF-8"?> <gmd:CI_OnlineResource xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" uuid="842068ED7ACB3919E040AC8C5AB45DED"> <gmd:linkage> <gmd:URL>http://www.ngdc.noaa.gov/dmsp/index.html</gmd:URL> </gmd:linkage> <gmd:protocol> <gco:CharacterString>HTML</gco:CharacterString> </gmd:protocol> <gmd:applicationProfile/> <gmd:name/> <gmd:description> <gco:CharacterString>DMSP Satellites Homepage</gco:CharacterString> </gmd:description> <gmd:function> <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="information">information</gmd:CI_OnLineFunctionCode> </gmd:function> </gmd:CI_OnlineResource>
The compact reference to this component is:
<gmd:onLine xlink:href="http://www.ngdc.noaa.gov/docucomp/842068ED7ACB3919E040AC8C5AB45DED" xlink:title="DMSP Home Page"/>
A reference with a different CI_OnLineFunctionCode looks like:
<gmd:onLine> <gmd:onlineResource xlink:href="http://www.ngdc.noaa.gov/docucomp/842068ED7ACB3919E040AC8C5AB45DED"> <gmd:CI_OnlineResource> <gmd:linkage gco:nilReason="template"/> <gmd:function> <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="download">download</gmd:CI_OnLineFunctionCode> </gmd:function> </gmd:CI_OnlineResource> </gmd:onlineResource> </gmd:onLine>
CI_ResponsibleParty
This example shows a complete CI_ResponsibleParty component with a default role = custodian. The unique identifier is given as a uuid attribute in the root element for the component:
<gmd:CI_ResponsibleParty uuid="8294BEE08AD7359FE040AC8C5AB460D1"> <gmd:individualName> <gco:CharacterString>Anna Milan</gco:CharacterString> </gmd:individualName> <gmd:organisationName> <gco:CharacterString>DOC/NOAA/NESDIS/NGDC > National Geophysical Data Center,NESDIS, NOAA, U.S. Department of Commerce</gco:CharacterString> </gmd:organisationName> <gmd:contactInfo> <gmd:CI_Contact> <gmd:phone> <gmd:CI_Telephone> <gmd:voice> <gco:CharacterString>(303) 497-5099</gco:CharacterString> </gmd:voice> <gmd:facsimile> <gco:CharacterString>(303) 497-6513</gco:CharacterString> </gmd:facsimile> </gmd:CI_Telephone> </gmd:phone> <gmd:address> <gmd:CI_Address> <gmd:deliveryPoint> <gco:CharacterString>325 Broadway, Mail Code E/GC4</gco:CharacterString> </gmd:deliveryPoint> <gmd:city> <gco:CharacterString>Boulder</gco:CharacterString> </gmd:city> <gmd:administrativeArea> <gco:CharacterString>CO</gco:CharacterString> </gmd:administrativeArea> <gmd:postalCode> <gco:CharacterString>80305-3328</gco:CharacterString> </gmd:postalCode> <gmd:country> <gco:CharacterString>USA</gco:CharacterString> </gmd:country> <gmd:electronicMailAddress> <gco:CharacterString>Anna.Milan@noaa.gov</gco:CharacterString> </gmd:electronicMailAddress> </gmd:CI_Address> </gmd:address> <gmd:hoursOfService> <gco:CharacterString>9:00 - 5:00 Mountain</gco:CharacterString> </gmd:hoursOfService> </gmd:CI_Contact> </gmd:contactInfo> <gmd:role> <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="custodian"> custodian </gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty>
The compact reference for this component is:
<gmd:contact xlink:href="http://www.ngdc.noaa.gov/docucomp/8294BEE08AD7359FE040AC8C5AB460D1" xlink:title="Anna Milan"/>
A reference with a different role is:
<gmd:contact xlink:href="http://www.ngdc.noaa.gov/docucomp/8294BEE08AD7359FE040AC8C5AB460D1"> <gmd:CI_ResponsibleParty> <gmd:individualName gco:nilReason="template"/> <gmd:role> <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="pointOfContact">pointOfContact</gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty> </gmd:contact>
MD_MetadataExtensionInformation
<gmd:MD_MetadataExtensionInformation> <gmd:extensionOnLineResource xlink:href="http://www.ngdc.noaa.gov/docucomp/component/00362270-9ce0-11e0-aa82-0800200c9a66" xlink:title="Metadata Extension Information"/> </gmd:MD_MetadataExtensionInformation>
CI_Citations / Keywords
The keyword lists maintained by NASA's Global Change Master Directory are referenced from many metadata records and, as such, are one of the most common uses of components. An ISO keyword section with a single keyword and a minimal citation to the GCMD keywords looks like:
<gmd:descriptiveKeywords> <gmd:MD_Keywords> <gmd:keyword> <gco:CharacterString>EARTH SCIENCE > Oceans > Ocean Optics > Optical Depth</gco:CharacterString> </gmd:keyword> <gmd:type> <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode" codeListValue="service">service</gmd:MD_KeywordTypeCode> </gmd:type> <gmd:thesaurusName> <gmd:CI_Citation> <gmd:title> <gco:CharacterString>NASA/GCMD Earth Science Keywords</gco:CharacterString> </gmd:title> <gmd:date> <gmd:CI_Date> <gmd:date> <gco:Date>2009-01-01</gco:Date> </gmd:date> <gmd:dateType> <gmd:CI_DateTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="revision"/> </gmd:dateType> </gmd:CI_Date> </gmd:date> </gmd:CI_Citation> </gmd:thesaurusName> </gmd:MD_Keywords> </gmd:descriptiveKeywords>
A more complete citation would include contact information (address, phone numbers, and e-mail address) and a URL for accessing or downloading the current keyword list. This would be considerably longer and would best be maintained in one place and referenced from many. This is exactly what components do. This keyword section with a CI_Citation component looks like:
<gmd:descriptiveKeywords> <gmd:MD_Keywords> <gmd:keyword> <gco:CharacterString>EARTH SCIENCE > Oceans > Ocean Optics > Optical Depth</gco:CharacterString> </gmd:keyword> <gmd:type> <gmd:MD_KeywordTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_KeywordTypeCode" codeListValue="theme">theme</gmd:MD_KeywordTypeCode> </gmd:type> <gmd:thesaurusName xlink:href="http://wwwdev.ngdc.noaa.gov/docucomp/227737d0-428b-11df-9879-0800200c9a66"/> </gmd:MD_Keywords> </gmd:descriptiveKeywords>
The citation for the GCMD is given as an xlink to a web service that serves a component referenced by a UUID. The metadata manager using that citation does not need to worry about the details because the component that is linked to contains the up-to-date citation. Note that the xlink is resolved as the record is published, so users see the entire citation instead of the xlinks.
References to other GCMD keyword sets are:
- Science Keywords: <gmd:thesaurusName xlink:href="http://www.ngdc.noaa.gov/docucomp/227737d0-428b-11df-9879-0800200c9a66" xlink:title="GCMD Science Keywords"/>
- Service Keywords: <gmd:thesaurusName xlink:href="http://www.ngdc.noaa.gov/docucomp/9f0de6e7-428b-11df-9879-0800200c9a66" xlink:title="GCMD Service Keywords"/>
- Data Center Keywords: <gmd:thesaurusName xlink:href="http://www.ngdc.noaa.gov/docucomp/9f0de6e6-428b-11df-9879-0800200c9a66" xlink:title="GCMD Data Center Keywords"/>
- Project Keywords: <gmd:thesaurusName xlink:href="http://www.ngdc.noaa.gov/docucomp/9f0de6e5-428b-11df-9879-0800200c9a66" xlink:title="GCMD Project Keywords"/>
- Instrument Keywords: <gmd:thesaurusName xlink:href="http://www.ngdc.noaa.gov/docucomp/82A5DD195658CBECE040AC8C5AB41A40" xlink:title="GCMD Instrument Keywords"/>
- Platform Keywords: <gmd:thesaurusName xlink:href="https://www.ngdc.noaa.gov/docucomp/82A5DD195659CBECE040AC8C5AB41A40" xlink:title="GCMD Platform Keywords"/>
- Location Keywords: <gmd:thesaurusName xlink:href="https://www.ngdc.noaa.gov/docucomp/82A5DD19565ACBECE040AC8C5AB41A40" xlink:title="GCMD Location Keywords"/>
- URL Content Type Keywords: <gmd:thesaurusName xlink:href="http://www.ngdc.noaa.gov/docucomp/9f0de6e0-428b-11df-9879-0800200c9a66" xlink:title="URL Content Type Units"/>
- NetCDF Climate Forecast Conventions Standard Names: <gmd:thesaurusName xlink:href="http://www.ngdc.noaa.gov/docucomp/358e4ad4-66ac-11df-a08a-0800200c9a66" xlink:title="CF Standard Names"/>
Programs
Many datsets are part of programs that includes multiple networks or Network that includes multiple platforms. The aggregationInfo object is used to include these relationships in the metadata. A good example is the IOOS Program that includes many observations made and models run by partners in several regional associations. The metadata for these observations and models all include an gmd:MD_AggregateInformation object that describes the IOOS Program:
<gmd:MD_AggregateInformation uuid="c2e16968-5e3e-11df-a08a-0800200c9a66" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd"> <gmd:aggregateDataSetName> <gmd:CI_Citation> <gmd:title> <gco:CharacterString>The U.S. Integrated Ocean Observing System</gco:CharacterString> </gmd:title> <gmd:date gco:nilReason="inapplicable"/> <gmd:citedResponsibleParty> <gmd:CI_ResponsibleParty> <gmd:organisationName> <gco:CharacterString>U.S. Integrated Ocean Observing System</gco:CharacterString> </gmd:organisationName> <gmd:contactInfo> <gmd:CI_Contact> <gmd:onlineResource> <gmd:CI_OnlineResource> <gmd:linkage> <gmd:URL>http://ioos.gov/</gmd:URL> </gmd:linkage> <gmd:name> <gco:CharacterString>U.S. Integrated Ocean Observing System Home Page</gco:CharacterString> </gmd:name> <gmd:description> <gco:CharacterString>The Integrated Ocean Observing System (IOOS®) is a federal, regional, and private-sector partnership working to enhance our ability to collect, deliver, and use ocean information. IOOS delivers the data and information needed to increase understanding of our oceans and coasts, so decision makers can take action to improve safety, enhance the economy, and protect the environment. </gco:CharacterString> </gmd:description> <gmd:function> <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="information">information</gmd:CI_OnLineFunctionCode> </gmd:function> </gmd:CI_OnlineResource> </gmd:onlineResource> </gmd:CI_Contact> </gmd:contactInfo> <gmd:role> <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="pointOfContact">pointOfContact</gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty> </gmd:citedResponsibleParty> </gmd:CI_Citation> </gmd:aggregateDataSetName> <gmd:associationType> <gmd:DS_AssociationTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#DS_AssociationTypeCode" codeListValue="largerWorkCitation">largerWorkCitation</gmd:DS_AssociationTypeCode> </gmd:associationType> <gmd:initiativeType> <gmd:DS_InitiativeTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#DS_InitiativeTypeCode" codeListValue="program">program</gmd:DS_InitiativeTypeCode> </gmd:initiativeType> </gmd:MD_AggregateInformation>
The compact reference to this object is:
<gmd:aggregationInfo xlink:href="http://www.ngdc.noaa.gov/docucomp/c2e16968-5e3e-11df-a08a-0800200c9a66" xlink:title="U.S. IOOS Program"/>
MD_ReferenceSystem
The EPSG 4326 Reference System is generic lat/lon and is used in many environmental datasets. The reference is:
<gmd:referenceSystemInfo xlink:href="http://www.ngdc.noaa.gov/docucomp/bb3bd940-5d51-11df-bb8e-0002a5d5c51b" xlink:title="urn:ogc:def:crs:EPSG:4326"/>
MI_Operation
This example shows a complete MI_Operation component. The unique identifier is given as a uuid attribute in the root element for the component:<gmi:operation> <gmi:MI_Operation uuid="62651220-3770-11df-9879-0800200c9a66"> <gmi:description> <gco:CharacterString>EPS is Europe's first polar orbiting operational meteorological satellite system, and it is the European contribution to the Initial Joint Polar-Orbiting Operational Satellite System (IJPS). This is an agreement between EUMETSAT and NOAA. In this joint European-US polar satellite system, EUMETSAT has the operational responsibility for the "morning orbit" with the MetOp satellites. EUMETSAT is responsible for the definition of the overall EPS system, the development and operations of the ground segment, and for the operation of the whole system.</gco:CharacterString> </gmi:description> <gmi:identifier> <gmd:MD_Identifier> <gmd:code> <gco:CharacterString>EPS > EUMETSAT Polar System</gco:CharacterString> </gmd:code> </gmd:MD_Identifier> </gmi:identifier> <gmi:status> <gmd:MD_ProgressCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ProgressCode" codeListValue="onGoing">onGoing</gmd:MD_ProgressCode> </gmi:status> <gmi:type> <gmi:MI_OperationTypeCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MI_OperationTypeCode" codeListValue="real">real</gmi:MI_OperationTypeCode> </gmi:type> <gmi:parentOperation gco:nilReason="inapplicable"/> </gmi:MI_Operation> </gmi:operation>
The compact reference to this component is:
<gmi:operation xlink:href="http://www.ngdc.noaa.gov/docucomp/62651220-3770-11df-9879-0800200c9a66">
MI_Platform and MI_Instrument
Platforms and instruments are commonly used for multiple products, so they are good candidates for components. The component approach is particularly helpful in this case because metadata contacts at archives (where metadata is often created) typically are not experts in the instruments being used for measurements. The platform and instrument components can be created by experts and referenced from the metadata.
'Note that references to platforms to instruments to platforms to instruments to ... can lead to an infinite loop of references and components. This loop can be avoided without losing information by using only the MI_Platform/instrument reference to connect platforms and instruments. For this reason the MI_Instrument/mountedOn links are shown as dashed lines in this Figure and omitted from the XML example.'
The XML implementing these relationships using UUIDs is shown below. The MI_Instrument and MI_Component objects are defined by references to the appropriate components (indicated by XML comments). The references are implemented using the uuidref attribute as a reference to an item that exists elsewhere in the document.
Defense Meteorological Satellite Program Platforms and Instruments
The Defense Meteorological Satellite Program (DMSP) has included many platforms and instruments throughout its life. This Table shows the platforms and some of instruments that have been used and the relationships between them. It shows, for example, that SSM/I instruments were mounted on six platforms (F10 - F15) and that the SSM/IS instrument was only mounted on two platforms (F16 and F17).
Instrument | F10 | F11 | F12 | F13 | F14 | F15 | F16 | F17 |
SSM/I | X | X | X | X | X | X | ||
SSM/T | X | X | X | X | X | X | ||
SSM/T2 | X | X | X | X | X | |||
SSM/IS | X | X |
To capture the relationships between these platforms and instruments we will need four instrument components and eight platform components (Click the links to see the components): Instrument Names and Identifiers:
- SSM/I: 8293FAD4B87075F2E040AC8C5AB4576F
- SSM/IS: 8293FAD4B8A075F2E040AC8C5AB4576F
- SSM/T: 8293FAD4B87375F2E040AC8C5AB4576F
- SSM/T2: 8293FAD4B87675F2E040AC8C5AB4576F
Platform Names and Identifiers:
- F10: 62651223-3770-11df-9879-0800200c9a66
- F11: 8293A0696461322CE040AC8C5AB453FE
- F12: 8293A0696464322CE040AC8C5AB453FE
- F13: 8293A0696467322CE040AC8C5AB453FE
- F14: 8293A069644C322CE040AC8C5AB453FE
- F15: 8293A069646A322CE040AC8C5AB453FE
- F16: 8293A069646D322CE040AC8C5AB453FE
- F17: 8293A069647C322CE040AC8C5AB453FE
The XML that shows how the relationships between the platforms and instruments are reflected in the metadata. The platforms F10-F12 are shown as component references. The others are expanded to show the links to the instrument components. The identifier and description elements are included with gco:nilReason attributes as a reminder that they are required. In a real case, these would have appropriate content.
<gmi:acquisitionInformation> <gmi:MI_AcquisitionInformation> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87075F2E040AC8C5AB4576F" xlink:title="SSM/I"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B8A075F2E040AC8C5AB4576F" xlink:title="SSM/IS"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87375F2E040AC8C5AB4576F" xlink:title="SSM/T"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87675F2E040AC8C5AB4576F" xlink:title="SSM/T2"/> <gmi:platform xlink:href="http://www.ngdc.noaa.gov/docucomp/8293A069645E322CE040AC8C5AB453FE" xlink:title="F10"/> <gmi:platform xlink:href="http://www.ngdc.noaa.gov/docucomp/8293A0696461322CE040AC8C5AB453FE" xlink:title="F11"/> <gmi:platform xlink:href="http://www.ngdc.noaa.gov/docucomp/8293A0696464322CE040AC8C5AB453FE" xlink:title="F12"/> <gmi:platform> <!-- F13 --> <gmi:MI_Platform uuid="8293A0696467322CE040AC8C5AB453FE"> <gmi:identifier gco:nilReason="template"/> <gmi:description gco:nilReason="template"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87075F2E040AC8C5AB4576F" xlink:title="SSM/I"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87375F2E040AC8C5AB4576F" xlink:title="SSM/T"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87675F2E040AC8C5AB4576F" xlink:title="SSM/T2"/> </gmi:MI_Platform> </gmi:platform> <gmi:platform> <!-- F14 --> <gmi:MI_Platform uuid="8293A069644C322CE040AC8C5AB453FE"> <gmi:identifier gco:nilReason="template"/> <gmi:description gco:nilReason="template"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87075F2E040AC8C5AB4576F" xlink:title="SSM/I"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87375F2E040AC8C5AB4576F" xlink:title="SSM/T"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87675F2E040AC8C5AB4576F" xlink:title="SSM/T2"/> </gmi:MI_Platform> </gmi:platform> <gmi:platform> <!-- F15 --> <gmi:MI_Platform uuid="8293A069646A322CE040AC8C5AB453FE"> <gmi:identifier gco:nilReason="template"/> <gmi:description gco:nilReason="template"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87075F2E040AC8C5AB4576F" xlink:title="SSM/I"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87375F2E040AC8C5AB4576F" xlink:title="SSM/T"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B87675F2E040AC8C5AB4576F" xlink:title="SSM/T2"/> </gmi:MI_Platform> </gmi:platform> <gmi:platform> <!-- F16 --> <gmi:MI_Platform uuid="8293A069646D322CE040AC8C5AB453FE"> <gmi:identifier gco:nilReason="template"/> <gmi:description gco:nilReason="template"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B8A075F2E040AC8C5AB4576F" xlink:title="SSM/IS"/> </gmi:MI_Platform> </gmi:platform> <gmi:platform> <!-- F17 --> <gmi:MI_Platform uuid="8293A069647C322CE040AC8C5AB453FE"> <gmi:identifier gco:nilReason="template"/> <gmi:description gco:nilReason="template"/> <gmi:instrument xlink:href="http://www.ngdc.noaa.gov/docucomp/8293FAD4B8A075F2E040AC8C5AB4576F" xlink:title="SSM/IS"/> </gmi:MI_Platform> </gmi:platform> </gmi:MI_AcquisitionInformation> </gmi:acquisitionInformation>