ioos / pyoos

A Python library for collecting Met/Ocean observations
GNU Lesser General Public License v3.0
34 stars 33 forks source link

COOPS SOS DescribeSensor response has changed #50

Closed ocefpaf closed 8 years ago

ocefpaf commented 8 years ago

Some of these changes are already in pyoos. However, I suspect there are still a few things that needs updating. I will investigate further this week. (See https://github.com/ioos/secoora/issues/225.)

From: https://code.google.com/p/ioostech/source/browse/#svn%2Ftrunk%2Ftemplates%2FMilestone1.0

Updated GetObservation responses

1) Added quality control flags for water level and meteorological data

2) Offered all water level data in either Meters or Feet
Input parameter:
unit=Meters
unit=Feet
if no unit is specified, the data in meters is retrieved. 
e.g.
http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos-test/SOS?service=SOS&request=GetObservation&version=1.0.0&observedProperty=water_surface_height_above_reference_datum&offering=urn:ioos:station:NOAA.NOS.CO-OPS:8454000&responseFormat=text%2Fcsv&eventTime=2015-05-11T00:00:00Z/2015-05-11T23:59:00Z&result=VerticalDatum%3D%3Durn:ioos:def:datum:noaa::MHHW&unit=Feet

3) Offered air temperature and water temperature in either Celsius or Fahrenheit
Input parameter:
unit=Celsius
unit=Fahrenheit
if no unit is specified, the data in Celsius is retrieved. 
e.g.
http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos-test/SOS?service=SOS&request=GetObservation&version=1.0.0&observedProperty=air_temperature&offering=urn:ioos:network:NOAA.NOS.CO-OPS:MetActive&featureOfInterest=BBOX:-100,30,-80,40&responseFormat=text%2Fcsv&eventTime=2015-05-11T00:00:00Z/2015-05-11T00:59:00Z&unit=Fahrenheit

4) Offered wind data in m/sec, Knots or miles/hour
Input parameter:
unit=Meters
unit=Knots
unit=Miles
if no unit is specified, the data in Meters is retrieved. 
e.g.
http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos-test/SOS?service=SOS&request=GetObservation&version=1.0.0&observedProperty=winds&offering=urn:ioos:network:NOAA.NOS.CO-OPS:MetActive&featureOfInterest=BBOX:-100,30,-80,40&responseFormat=text%2Fcsv&unit=Knots

5) Offered SWE Common output
Input parameter:
responseFormat=text/xml;subtype="om/1.0.0/profiles/ioos_sos/1.0"
e.g.http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos-test/SOS?service=SOS&request=GetObservation&version=1.0.0&observedProperty=sea_surface_height_amplitude_due_to_equilibrium_ocean_tide&offering=urn:ioos:station:NOAA.NOS.CO-OPS:8454000&responseFormat=text%2Fxml%3Bsubtype%3D%22om/1.0.0/profiles/ioos_sos/1.0%22&eventTime=2015-05-11T00:00:00Z/2015-05-11T23:59:00Z&result=VerticalDatum%3D%3Durn:ioos:def:datum:noaa::MLW&dataType=HourlyTidePredictions&unit=Feet

http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos-test/SOS?service=SOS&request=GetObservation&version=1.0.0&observedProperty=currents&offering=urn:ioos:network:NOAA.NOS.CO-OPS:CurrentsActive&procedure=urn:ioos:network:NOAA.NOS.CO-OPS:CurrentsActive&featureOfInterest=BBOX:-100,30,-80,40&responseFormat=text%2Fxml%3Bsubtype%3D%22om/1.0.0/profiles/ioos_sos/1.0%22&eventTime=2015-05-11T00:00:00Z/2015-05-11T00:59:00Z

Updated GetCapabilities response

1) Changed root element namespace
Old:
Capabilities 

New:
sos:Capabilities

2) Changed sos namespace in sos:Capabilities, and the orders of all namespace links
Old:
xmlns="http://www.opengis.net/sos/1.0"
xsi:schemaLocation="http://www.opengis.net/sos/1.0 http://schemas.opengis.net/sos/1.0.0/sosGetCapabilities.xsd"

New:
xmlns:sos="http://www.opengis.net/sos/1.0"
xsi:schemaLocation="http://www.opengis.net/sos/1.0 http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" 

3) Changed /sos:Capabilities/ows:ServiceIdentification/ows:ServiceType@codeSpace attribute value
Old:
<ows:ServiceType codeSpace="http://www.opengis.net">OGC:SOS</ows:ServiceType>

New:
<ows:ServiceType codeSpace="http://opengeospatial.net">OGC:SOS</ows:ServiceType> 

4) Removed /sos:Capabilities/ows:ServiceProvider/ows:ServiceContact/ows:PositionName
Old:
<ows:PositionName>IOOS Administrator</ows:PositionName>

New:
None

5) Removed /sos:Capabilities/ows:ServiceProvider/ows:ServiceContact/ows:ContactInfo/ows:Phone/ows:Facsimile
Old:
<ows:Facsimile>301-713-1933</ows:Facsimile>

New:
None

6) Added sml:electronicMailAddress in /sos:Capabilities/ows:ServiceProvider/ows:ServiceContact/ows:ContactInfo/ows:Address
Old: 
None

New: 
<ows:ElectronicMailAddress>COOPS.IOOS@noaa.gov</ows:ElectronicMailAddress> 

7) Moved Parameter "service" and "version" in /sos:Capabilities/ows:OperationsMetadata/ows:Operation to /sos:Capabilities/ows:OperationsMetadata
<ows:Parameter name="service">
  <ows:AllowedValues>
    <ows:Value>SOS</ows:Value>
  </ows:AllowedValues>
</ows:Parameter>
<ows:Parameter name="version">
  <ows:AllowedValues>
    <ows:Value>1.0.0</ows:Value>
  </ows:AllowedValues>
</ows:Parameter>
Old:
in /sos:Capabilities/ows:OperationsMetadata/ows:Operation

New:
in /sos:Capabilities/ows:OperationsMetadata

8) Added parameter name="Sections" in /sos:Capabilities/ows:OperationsMetadata/ows:Operation@name="GetCapabilities"
Old:
None

New:
<ows:Parameter name="Sections">          
  <ows:AllowedValues>
    <ows:Value>ServiceIdentification</ows:Value>
    <ows:Value>ServiceProvider</ows:Value>
    <ows:Value>OperationsMetadata</ows:Value>
    <ows:Value>Contents</ows:Value>
    <ows:Value>All</ows:Value>
  </ows:AllowedValues>
</ows:Parameter>  

9) Switched the position of /sos:Capabilities/ows:OperationsMetadata/ows:Operation@name="DescribeSensor" and name="GetObservation"

10) Added 1 more responseFormat SWE Common in /sos:Capabilities/ows:OperationsMetadata/ows:Operation@name="GetObservation"/ows:Parameter@name="responseFormat"
Old:
None

New:
text/xml;subtype="om/1.0.0/profiles/ioos_sos/1.0" 

11) Added 4 more units in /sos:Capabilities/ows:OperationsMetadata/ows:Operation@name="GetObservation"/ows:Parameter@name="unit"
Old:
None

New:
<ows:Value>Celsius</ows:Value> 
<ows:Value>Fahrenheit</ows:Value> 
<ows:Value>Knots</ows:Value> 
<ows:Value>Miles</ows:Value> 

12) Changed outputFormat parameter value in /sos:Capabilities/ows:OperationsMetadata/ows:Operation@name="DescribeSensor"/ows:Parameter@name="outputFormat"
Old:
<ows:Value>text/xml;subtype="sensorML/1.0.1"</ows:Value>

New:
<ows:Value>text/xml;subtype="sensorML/1.0.1/profiles/ioos_sos/1.0"</ows:Value>

13) Added ioosTemplateVersion to /sos:Capabilities/ows:OperationsMetadata
Old:
None

New:
<ows:ExtendedCapabilities>
  <gml:metaDataProperty xlink:title="ioosTemplateVersion" xlink:href="http://code.google.com/p/ioostech/source/browse/#svn%2Ftrunk%2Ftemplates%2FMilestone1.0">
    <gml:version>1.0</gml:version> 
  </gml:metaDataProperty>
  <gml:metaDataProperty xlink:title="softwareVersion" xlink:href="http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/">
    <gml:version>2.6</gml:version>
  </gml:metaDataProperty>   
</ows:ExtendedCapabilities>

14) Changed namespaces for Contents, ObservationOfferingList, ObservationOffering
e.g.
Old:
<Contents> ... </Contents>

New:
<sos:Contents>  ... </sos:Contents>

15) Changed all /sos:Contents/sos:ObservationOfferingList/sos:ObservationOffering/gml:srsName value
Old:
<gml:srsName>urn:ogc:def:crs:epsg::4326</gml:srsName>

New:
<gml:srsName>EPSG:4326</gml:srsName>

16) Changed all /sos:Contents/sos:ObservationOfferingList/sos:ObservationOffering/gml:boundedBy/gml:Envelope@srsName value
Old:
<gml:Envelope srsName="urn:ogc:def:crs:epsg::4326">

New:
<gml:Envelope srsName="http://www.opengis.net/def/crs/EPSG/0/4326">

17) Changed namespaces for time, procedure, observedProperty, featureOfInterest, responseFormat, resultModel, responseMode in /sos:Contents/sos:ObservationOfferingList/sos:ObservationOffering/
e.g.
Old:
<time> ... </time>

New:
<sos:time>  ... </sos:time>

18) Changed sos:observedProperty xlink:href attribute value for harmonic constituents and datum data
Old:
<observedProperty xlink:href="http://mmisw.org/ont/cf/parameter/datums" /> 
<observedProperty xlink:href="http://mmisw.org/ont/cf/parameter/harmonic_constituents" /> 

New:
<sos:observedProperty xlink:href="http://mmisw.org/ont/ioos/datum/Datum" /> 
<sos:observedProperty xlink:href="http://mmisw.org/ont/ioos/harmonicConstituents/HarmonicConstituents" /> 

19) Changed /sos:Contents/sos:ObservationOfferingList/sos:ObservationOffering/sos:resultModel value
Old:
<sos:resultModel>om:Observation</sos:resultModel>

New:
<sos:resultModel>om:ObservationCollection</sos:resultModel>

20) Changed gml:id of Observation offerings for network to contain "_" instead of "-" 
e.g.
Old:
<sos:ObservationOffering gml:id="network-All">

New:
<sos:ObservationOffering gml:id="network_All">

Updated DescriberSensor response for a network

1) Added service version metadata to /sml:SensorML
Old:
None

New:
<sml:capabilities name="ioosServiceMetadata">
 <swe:SimpleDataRecord>
  <swe:field name="ioosTemplateVersion">
    <swe:Text definition="http://code.google.com/p/ioostech/source/browse/#svn%2Ftrunk%2Ftemplates%2FMilestone1.0">
     <swe:value>1.0</swe:value> 
    </swe:Text>
  </swe:field>
 </swe:SimpleDataRecord>
</sml:capabilities>

2) Removed /sml:SensorML/sml:member/sml:System@gml:id attribute
Old:
<sml:System gml:id="network-WaterLevelActive">

New:
<sml:System>

3) Removed /sml:SensorML/sml:member/sml:System/sml:keywords
Old:
<sml:keywords> 
  ...
</sml:keywords>

New:
None

4) Added /sml:SensorML/sml:member/sml:System/gml:name
Old:
None

New:
<gml:name>urn:ioos:network:NOAA.NOS.CO-OPS:WaterLevelActive</gml:name> 

5) Added bounding box information to /sml:SensorML/sml:member/sml:System/
Old:
None

New:
<gml:boundedBy>
 <gml:Envelope srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
  <gml:lowerCorner>-14.2800 -177.3600</gml:lowerCorner> 
  <gml:upperCorner>70.4000 167.7362</gml:upperCorner> 
 </gml:Envelope>
</gml:boundedBy>

6) Changed 3 identifiers /sml:SensorML/sml:member/sml:identification/sml:IdentifierList/sml:identifier@name attribute values
Old:
<sml:identifier name="Network ID"> 
<sml:identifier name="Short Name">
<sml:identifier name="Long Name">

New:
<sml:identifier name="networkID">
<sml:identifier name="shortName">
<sml:identifier name="longName">

7) Changed 3 identifiers /sml:SensorML/sml:member/sml:identification/sml:IdentifierList/sml:identifier/sml:Term@definition attribute values
Old: 
<sml:Term definition="urn:ioos:def:identifier:NOAA::networkID">
<sml:Term definition="urn:ogc:def:identifier:OGC:shortName">
<sml:Term definition="urn:ogc:def:identifier:OGC:longName"> 

New: 
<sml:Term definition="http://mmisw.org/ont/ioos/definition/networkID">
<sml:Term definition="http://mmisw.org/ont/ioos/definition/shortName">
<sml:Term definition="http://mmisw.org/ont/ioos/definition/longName">

8) Removed /sml:SensorML/sml:member/sml:identification/sml:IdentifierList/sml:identifier@name="networkID"/sml:Term/sml:codeSpace
Old:
<sml:codeSpace xlink:href="http://tidesandcurrents.noaa.gov" />

New:
None

9) Added /sml:SensorML/sml:member/sml:classification/sml:ClassifierList/sml:classifier@name="publisher"
Old:
None

New:
<sml:classifier name="publisher">
  <sml:Term definition="http://mmisw.org/ont/ioos/definition/publisher">
    <sml:codeSpace xlink:href="http://mmisw.org/ont/ioos/organization" />
    <sml:value>NOAA.NOS.CO-OPS</sml:value>
  </sml:Term>
</sml:classifier>

10) Added /sml:SensorML/sml:member/sml:classification/sml:ClassifierList/sml:classifier@name="parentNetwork"
Old:
None

New:
<sml:classifier name="parentNetwork">
  <sml:Term definition="http://mmisw.org/ont/ioos/definition/parentNetwork">
    <sml:codeSpace xlink:href="http://mmisw.org/ont/ioos/organization" />
    <sml:value>federal</sml:value>
  </sml:Term>
</sml:classifier>

11) Removed /sml:SensorML/sml:member/sml:classification/sml:ClassifierList/sml:classifier@name="Network Observation Type"
Old:
<sml:classifier name="Network Observation Type">
 <sml:Term definition="urn:ogc:def:property:OGC">
  <sml:codeSpace xlink:href="urn:ogc:def:dictionary:NOAA::NetworkTypes:v01" /> 
  <sml:value>WaterLevelActive</sml:value> 
 </sml:Term>
</sml:classifier>

New:
None

12) Changed the date range of the validity
Old:
<sml:validTime>
 <gml:TimePeriod gml:id="MetadataApplicabilityTime">
  <gml:beginPosition indeterminatePosition="now" /> 
  <gml:endPosition indeterminatePosition="now" /> 
 </gml:TimePeriod>
</sml:validTime>

New:
<sml:capabilities name="observationTimeRange">
  <swe:DataRecord>
    <swe:field name="observationTimeRange">
      <swe:TimeRange definition="http://mmisw.org/ont/ioos/swe_element_type/observationTimeRange">
        <swe:value>1853-07-10T00:00:00Z 2015-05-18T19:15:03Z</swe:value>
      </swe:TimeRange>
    </swe:field>
  </swe:DataRecord>
</sml:capabilities> 

13) Removed old contact "owner", added contact member "operator" and "publisher"
Old:
<sml:contact xlink:role="urn:ogc:def:classifiers:OGC:contactType:owner">
 <sml:ResponsibleParty>
  <sml:organizationName>Center for Operational Oceanographic Products and Services</sml:organizationName> 
  <sml:contactInfo>
   <sml:phone>
    <sml:voice>301-713-2806</sml:voice> 
   </sml:phone>
   <sml:address>
     <sml:deliveryPoint>1305 East-West Highway</sml:deliveryPoint> 
     <sml:city>Silver Spring</sml:city> 
     <sml:administrativeArea>MD</sml:administrativeArea> 
     <sml:postalCode>20910-3281</sml:postalCode> 
     <sml:country>USA</sml:country> 
   </sml:address>
   <sml:onlineResource xlink:href="http://tidesandcurrents.noaa.gov" /> 
  </sml:contactInfo>
 </sml:ResponsibleParty>
</sml:contact>

New:
<sml:contact>
 <sml:ContactList>
  <sml:member xlink:role="http://mmisw.org/ont/ioos/definition/operator">
   <sml:ResponsibleParty>
    <sml:organizationName>Center for Operational Oceanographic Products and Services</sml:organizationName> 
    <sml:contactInfo>
     <sml:address>
      <sml:deliveryPoint>1305 East-West Highway</sml:deliveryPoint> 
      <sml:city>Silver Spring</sml:city> 
      <sml:administrativeArea>MD</sml:administrativeArea> 
      <sml:postalCode>20910-3281</sml:postalCode> 
      <sml:country>USA</sml:country> 
      <sml:electronicMailAddress>COOPS.IOOS@noaa.gov</sml:electronicMailAddress> 
     </sml:address>
     <sml:onlineResource xlink:href="http://tidesandcurrents.noaa.gov" /> 
    </sml:contactInfo>
   </sml:ResponsibleParty>
  </sml:member>
  <sml:member xlink:role="http://mmisw.org/ont/ioos/definition/publisher">
   <sml:ResponsibleParty>
    <sml:organizationName>NOAA.NOS.CO-OPS</sml:organizationName> 
    <sml:contactInfo>
     <sml:address>
      <sml:country>USA</sml:country> 
      <sml:electronicMailAddress>COOPS.IOOS@noaa.gov</sml:electronicMailAddress> 
     </sml:address>
     <sml:onlineResource xlink:href="http://tidesandcurrents.noaa.gov" /> 
    </sml:contactInfo>
   </sml:ResponsibleParty>
  </sml:member>
 </sml:ContactList>
</sml:contact>

14) Changed /sml:SensorML/sml:member/sml:components/<sml:ComponentList/sml:component 
Old:
<sml:component name="WaterLevelActive Station 1611400">
 <sml:System gml:id="station-1611400">
  <gml:description>Nawiliwili, HI</gml:description> 
  <sml:identification xlink:href="urn:ioos:station:NOAA.NOS.CO-OPS:1611400" /> 
  <sml:documentation xlink:href="http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS?service=SOS&request=DescribeSensor&version=1.0.0&outputFormat=text%2Fxml%3Bsubtype%3D%22sensorML%2F1.0.1%22&procedure=urn:ioos:station:NOAA.NOS.CO-OPS:1611400" /> 
  <sml:location>
   <gml:Point srsName="urn:ogc:def:crs:epsg::4326" gml:id="LOCATION-1611400">
    <gml:coordinates>21.9544 -159.3561</gml:coordinates> 
   </gml:Point>
  </sml:location>
 </sml:System>
</sml:component>

New:
<sml:component name="WaterLevelActive Station 1611400">
 <sml:System>
  <sml:identification>
   <sml:IdentifierList>
    <sml:identifier name="stationID">
     <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
      <sml:value>urn:ioos:station:NOAA.NOS.CO-OPS:1611400</sml:value> 
     </sml:Term>
    </sml:identifier>
    <sml:identifier name="shortName">
     <sml:Term definition="http://mmisw.org/ont/ioos/definition/shortName">
      <sml:value>urn:ioos:station:NOAA.NOS.CO-OPS:1611400 station, Nawiliwili, HI</sml:value> 
     </sml:Term>
    </sml:identifier>
   </sml:IdentifierList>
  </sml:identification>
  <sml:capabilities name="observationTimeRange">
   <swe:DataRecord>
    <swe:field name="observationTimeRange">
     <swe:TimeRange definition="http://mmisw.org/ont/ioos/swe_element_type/observationTimeRange">
      <swe:value>1954-11-24T00:00:00Z 2015-05-18T14:17:24Z</swe:value> 
     </swe:TimeRange>
    </swe:field>
   </swe:DataRecord>
  </sml:capabilities>
  <sml:location>
   <gml:Point srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
     <gml:pos>21.9544 -159.3561</gml:pos> 
   </gml:Point>
  </sml:location>
  <sml:outputs>
   <sml:OutputList>
    <sml:output name="Water Level Predictions">
      <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/sea_surface_height_amplitude_due_to_equilibrium_ocean_tide" /> 
    </sml:output>
    <sml:output name="Water Level">
      <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/water_surface_height_above_reference_datum" /> 
    </sml:output>
   </sml:OutputList>
  </sml:outputs>
 </sml:System>
</sml:component>

15) Changed /sml:SensorML/sml:member/sml:System/sml:location/gml:Point 
Old: 
<gml:Point srsName="urn:ogc:def:crs:epsg::4326" gml:id="LOCATION-1611400">
  <gml:coordinates>21.9544 -159.3561</gml:coordinates> 
</gml:Point>

New: 
<gml:Point srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
  <gml:pos>21.9544 -159.3561</gml:pos>
</gml:Point>

Updated DescriberSensor response for a station

1) Added service version metadata to /sml:SensorML
Old:
None

New:
<sml:capabilities name="ioosServiceMetadata">
 <swe:SimpleDataRecord>
  <swe:field name="ioosTemplateVersion">
    <swe:Text definition="http://code.google.com/p/ioostech/source/browse/#svn%2Ftrunk%2Ftemplates%2FMilestone1.0">
     <swe:value>1.0</swe:value> 
    </swe:Text>
  </swe:field>
 </swe:SimpleDataRecord>
</sml:capabilities>

2) Removed /sml:SensorML/sml:member/sml:System@gml:id attribute
Old:
<sml:System gml:id="station-8454000">

New:
<sml:System>

3) Changed station description in /sml:SensorML/sml:member/sml:System/gml:description 
Old:
<gml:description>Station information for Providence, RI (8454000). Observed data: water_surface_height_above_reference_datum, sea_surface_height_amplitude_due_to_equilibrium_ocean_tide, winds, air_temperature, sea_water_temperature, air_pressure.</gml:description>

New:
<gml:description>Observations at urn:ioos:station:NOAA.NOS.CO-OPS:8454000 station, Providence, RI</gml:description> 

4) Added /sml:SensorML/sml:member/sml:System/gml:name
Old:
None

New:
<gml:name>urn:ioos:station:NOAA.NOS.CO-OPS:8454000</gml:name>

5) Removed /sml:SensorML/sml:member/sml:System/sml:keywords
Old:
<sml:keywords> 
  ...
</sml:keywords>

New:
None

6) Changed 3 identifiers /sml:SensorML/sml:member/sml:System/sml:identification/sml:IdentifierList/sml:identifier@name attribute values
Old:
<sml:identifier name="Station ID"> 
<sml:identifier name="Short Name">
<sml:identifier name="Long Name">

New:
<sml:identifier name="stationID">
<sml:identifier name="shortName">
<sml:identifier name="longName">

7) Changed 3 identifiers /sml:SensorML/sml:member/sml:System/sml:identification/sml:IdentifierList/sml:identifier/sml:Term@definition attribute values
Old: 
<sml:Term definition="urn:ioos:def:identifier:NOAA::stationID">
<sml:Term definition="urn:ogc:def:identifier:OGC:shortName">
<sml:Term definition="urn:ogc:def:identifier:OGC:longName">

New: 
<sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
<sml:Term definition="http://mmisw.org/ont/ioos/definition/shortName">
<sml:Term definition="http://mmisw.org/ont/ioos/definition/longName">

8) Removed /sml:SensorML/sml:member/sml:System/sml:identification/sml:IdentifierList/sml:identifier/sml:Term/sml:codeSpace
Old:
<sml:codeSpace xlink:href="http://tidesandcurrents.noaa.gov" />

New:
None

9) Changed /sml:SensorML/sml:member/sml:System/sml:identification/sml:IdentifierList/sml:identifier@name="longName"/sml:Term/sml:value
Old:
<sml:value>Providence, RI</sml:value>

New:
<sml:value>urn:ioos:station:NOAA.NOS.CO-OPS:8454000 station, Providence, RI</sml:value>

10) Changed the name, term definition, codeSpace for parent network classifier in /sml:SensorML/sml:member/sml:System/sml:classification/sml:ClassifierList/sml:classifier
Old:
<sml:classifier name="Parent Network">
 <sml:Term definition="urn:ioos:def:classifier:NOAA::parentNetwork">
  <sml:codeSpace xlink:href="http://tidesandcurrents.noaa.gov" /> 
  <sml:value>urn:ioos:network:NOAA.NOS.CO-OPS:MetActive</sml:value> 
 </sml:Term>
</sml:classifier>

New:
<sml:classifier name="parentNetwork">
 <sml:Term definition="http://mmisw.org/ont/ioos/definition/parentNetwork">
  <sml:codeSpace xlink:href="http://mmisw.org/ont/ioos/organization" /> 
  <sml:value>NOAA.NOS.CO-OPS</sml:value> 
 </sml:Term>
</sml:classifier>

11) Changed /sml:SensorML/sml:member/sml:System/sml:classification/sml:ClassifierList/sml:classifier@name="System Type Identifier" to "platformType"
Old:
<sml:classifier name="System Type Identifier">
 <sml:Term definition="urn:ioos:def:classifier:NOAA::systemTypeID">
  <sml:codeSpace xlink:href="http://mmisw.org/ont/mmi/platform/" /> 
  <sml:value>Platform</sml:value> 
 </sml:Term>
</sml:classifier>

New:
<sml:classifier name="platformType">
 <sml:Term definition="http://mmisw.org/ont/ioos/definition/platformType">
  <sml:codeSpace xlink:href="http://mmisw.org/ont/ioos/platform" /> 
  <sml:value>platform</sml:value> 
 </sml:Term>
</sml:classifier>

12) Added /sml:SensorML/sml:member/sml:System/sml:classification/sml:ClassifierList/sml:classifier@name="operatorSector"
Old:
None

New:
<sml:classifier name="operatorSector">
 <sml:Term definition="http://mmisw.org/ont/ioos/definition/operatorSector">
  <sml:codeSpace xlink:href="http://mmisw.org/ont/ioos/sector" /> 
  <sml:value>federal</sml:value> 
 </sml:Term>
</sml:classifier>

13) Removed /sml:SensorML/sml:member/sml:System/sml:classification/sml:ClassifierList/sml:classifier@name="System Type Name"
Old:
<sml:classifier name="System Type Name">
 <sml:Term definition="urn:ioos:def:classifier:NOAA::systemTypeName">
  <sml:codeSpace xlink:href="http://tidesandcurrents.noaa.gov" /> 
  <sml:value>CO-OPS Observational System</sml:value> 
 </sml:Term>
</sml:classifier>

New:
None

14) Added /sml:SensorML/sml:member/sml:System/sml:classification/sml:ClassifierList/sml:classifier@name="publisher"
Old:
None

New:
<sml:classifier name="publisher">
 <sml:Term definition="http://mmisw.org/ont/ioos/definition/publisher">
  <sml:codeSpace xlink:href="http://mmisw.org/ont/ioos/organization" /> 
  <sml:value>NOAA.NOS.CO-OPS</sml:value> 
 </sml:Term>
</sml:classifier>
15) Added /sml:SensorML/sml:member/sml:System/sml:classification/sml:ClassifierList/sml:classifier@name="sponsor"
Old:
None

New:
<sml:classifier name="sponsor">
 <sml:Term definition="http://mmisw.org/ont/ioos/definition/sponsor">
  <sml:codeSpace xlink:href="http://mmisw.org/ont/ioos/organization" /> 
  <sml:value>NOAA.NOS.CO-OPS</sml:value> 
 </sml:Term>
</sml:classifier>

16) Changed the date range of the validity
Old:
<sml:validTime>
 <gml:TimePeriod gml:id="MetadataApplicabilityTime">
  <gml:beginPosition>1938-06-03T00:00:00Z</gml:beginPosition> 
  <gml:endPosition indeterminatePosition="now" /> 
 </gml:TimePeriod>
</sml:validTime>

New:
<sml:capabilities name="observationTimeRange">
  <swe:DataRecord>
    <swe:field name="observationTimeRange">
      <swe:TimeRange definition="http://mmisw.org/ont/ioos/swe_element_type/observationTimeRange">
        <swe:value>1938-06-03T00:00:00Z 2015-05-18T19:05:47Z</swe:value>
      </swe:TimeRange>
    </swe:field>
  </swe:DataRecord>
</sml:capabilities> 

17) Added sml:capabilities named "networkProcedures" to list the networks this station belongs to
Old:
<sml:classification>
 <sml:ClassifierList>
  <sml:classifier name="Parent Network">
   <sml:Term definition="urn:ioos:def:classifier:NOAA::parentNetwork">
    <sml:codeSpace xlink:href="http://tidesandcurrents.noaa.gov" /> 
    <sml:value>urn:ioos:network:NOAA.NOS.CO-OPS:MetActive</sml:value> 
   </sml:Term>
  </sml:classifier>
 <sml:classifier name="Parent Network">
   <sml:Term definition="urn:ioos:def:classifier:NOAA::parentNetwork">
    <sml:codeSpace xlink:href="http://tidesandcurrents.noaa.gov" /> 
    <sml:value>urn:ioos:network:NOAA.NOS.CO-OPS:WaterLevelActive</sml:value> 
   </sml:Term>
  </sml:classifier>
 </sml:ClassifierList>
</sml:classification>

New:
<sml:capabilities name="networkProcedures"> 
 <swe:SimpleDataRecord> 
  <swe:field name="network_All"> 
   <swe:Text definition="http://mmisw.org/ont/ioos/definition/networkID"> 
    <swe:value>urn:ioos:network:NOAA.NOS.CO-OPS:All</swe:value> 
   </swe:Text> 
  </swe:field> 
  <swe:field name="network_MetActive"> 
   <swe:Text definition="http://mmisw.org/ont/ioos/definition/networkID"> 
    <swe:value>urn:ioos:network:NOAA.NOS.CO-OPS:MetActive</swe:value> 
   </swe:Text> 
  </swe:field> 
  <swe:field name="network_WaterLevelActive"> 
   <swe:Text definition="http://mmisw.org/ont/ioos/definition/networkID"> 
    <swe:value>urn:ioos:network:NOAA.NOS.CO-OPS:WaterLevelActive</swe:value> 
   </swe:Text> 
  </swe:field> 
 </swe:SimpleDataRecord> 
</sml:capabilities>

18) Removed old contact "owner", added contact member "operator" and "publisher"
Old:
<sml:contact xlink:role="urn:ogc:def:classifiers:OGC:contactType:owner">
 <sml:ResponsibleParty>
  <sml:organizationName>Center for Operational Oceanographic Products and Services</sml:organizationName> 
  <sml:contactInfo>
   <sml:phone>
    <sml:voice>301-713-2806</sml:voice> 
   </sml:phone>
   <sml:address>
     <sml:deliveryPoint>1305 East-West Highway</sml:deliveryPoint> 
     <sml:city>Silver Spring</sml:city> 
     <sml:administrativeArea>MD</sml:administrativeArea> 
     <sml:postalCode>20910-3281</sml:postalCode> 
     <sml:country>USA</sml:country> 
   </sml:address>
   <sml:onlineResource xlink:href="http://tidesandcurrents.noaa.gov" /> 
  </sml:contactInfo>
 </sml:ResponsibleParty>
</sml:contact>

New:
<sml:contact>
 <sml:ContactList>
  <sml:member xlink:role="http://mmisw.org/ont/ioos/definition/operator">
   <sml:ResponsibleParty>
    <sml:organizationName>Center for Operational Oceanographic Products and Services</sml:organizationName> 
    <sml:contactInfo>
     <sml:address>
      <sml:deliveryPoint>1305 East-West Highway</sml:deliveryPoint> 
      <sml:city>Silver Spring</sml:city> 
      <sml:administrativeArea>MD</sml:administrativeArea> 
      <sml:postalCode>20910-3281</sml:postalCode> 
      <sml:country>USA</sml:country> 
      <sml:electronicMailAddress>COOPS.IOOS@noaa.gov</sml:electronicMailAddress> 
     </sml:address>
     <sml:onlineResource xlink:href="http://tidesandcurrents.noaa.gov" /> 
    </sml:contactInfo>
   </sml:ResponsibleParty>
  </sml:member>
  <sml:member xlink:role="http://mmisw.org/ont/ioos/definition/publisher">
   <sml:ResponsibleParty>
    <sml:organizationName>NOAA.NOS.CO-OPS</sml:organizationName> 
    <sml:contactInfo>
     <sml:address>
      <sml:country>USA</sml:country> 
      <sml:electronicMailAddress>COOPS.IOOS@noaa.gov</sml:electronicMailAddress> 
     </sml:address>
     <sml:onlineResource xlink:href="http://tidesandcurrents.noaa.gov" /> 
    </sml:contactInfo>
   </sml:ResponsibleParty>
  </sml:member>
 </sml:ContactList>
</sml:contact>

19) Changed /sml:SensorML/sml:member/sml:System/sml:documentation/sml:Document to sml:DocumentList/sml:memeber/sml:Document
Old:
None

New:
<sml:member name="qc" xlink:arcrole="http://mmisw.org/ont/ioos/CO-OPSqcFlags">
 <sml:Document>
  <gml:description>A list of NOAA's Center for Operational Oceanographic Products and Services (CO-OPS) quality control flags</gml:description> 
  <sml:format>pdf</sml:format> 
  <sml:onlineResource xlink:href="http://tidesandcurrents.noaa.gov/publications/NOAA_Technical_Report_NOS_CO-OPS_030_QC_requirements_doc(revised)-11102004.pdf" /> 
 </sml:Document>
</sml:member>

Old:
<sml:documentation xlink:arcrole="urn:ogc:def:role:webPage">
 <sml:Document>

New:
<sml:member name="wp" xlink:arcrole="urn:ogc:def:role:webPage">
 <sml:Document>

Old:
<sml:documentation xlink:arcrole="urn:ogc:def:role:objectImage">
 <sml:Document>

New:
<sml:member name="img" xlink:arcrole="urn:ogc:def:role:objectImage">
 <sml:Document>

20) Changed /sml:SensorML/sml:member/sml:System/sml:location/gml:Point
Old: 
<gml:Point srsName="urn:ogc:def:crs:epsg::4326" gml:id="STATION_LOCATION">
  <gml:coordinates>41.8071 -71.4012</gml:coordinates> 
</gml:Point>

New: 
<gml:Point srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
  <gml:pos>41.8071 -71.4012</gml:pos>
</gml:Point>

21) Removed /sml:SensorML/sml:member/sml:System/sml:components/sml:ComponentList/sml:component/sml:System/sml:outputs/sml:OutputList/sml:output@name="status"
Old:
<sml:output name="status">
 <swe:Boolean>
  <swe:value>true</swe:value> 
 </swe:Boolean>
</sml:output>

New:
None

22) Changed /sml:SensorML/sml:member/sml:System/sml:components/sml:ComponentList/sml:component/sml:System/sml:outputs/sml:OutputList/sml:output/swe:Quantity@definition
Old:
Current Speed:              <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/sea_water_speed">
Current Direction           <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/direction_of_sea_water_velocity">
Current Platform Heading    <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/platform_yaw_angle">
Water level                 <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/sea_surface_height_above_sea_level">
Water level predictons      <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/sea_surface_height_above_sea_level">
Salinity                    <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/sea_surface_salinity">

New: 
Current Speed:              <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/current_speed">
Current Direction           <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/current_to_direction">
Current Platform Heading    <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/platform_orientation">
Water level:                <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/water_surface_height_above_reference_datum">
Water level predictons:     <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/sea_surface_height_amplitude_due_to_equilibrium_ocean_tide">
Salinity:                   <swe:Quantity definition="http://mmisw.org/ont/cf/parameter/sea_water_salinity">

Updated DescriberSensor response for a sensor 

1) Added gml namespace in /sml:SensorML
Old:
None

New:
<sml:SensorML xmlns:sml="http://www.opengis.net/sensorML/1.0.1" xmlns:gml="http://www.opengis.net/gml" xmlns:swe="http://www.opengis.net/swe/1.0.1" 

2) Added /sml:SensorML/sml:memeber
Old:
None

New:
<sml:member>

3) Added sml:System and gml:id attribute in /sml:SensorML/sml:memeber
Old:
None

New:
<sml:System gml:id="sensor-water_surface_height_above_reference_datum">

4) Removed 2 identifiers "longName" and "shorName", changed the identifier "SensorId" to "sensorId"
Old:
<sml:identifier name="longName"> 
<sml:identifier name="shorName">
<sml:identifier name="SensorId">

New:
<sml:identifier name="sensorId">

5) Removed sml:inputs and sml:outputs elements

6) Combined 4 sml:position/swe:GeoLocation into 1 sml:position/swe:Position/swe:location in /sml:postions/sml:PositionList 
Old:
<sml:positions> 
 <sml:PositionList> 
  <sml:position name="southwestCorner"> 
   <swe:GeoLocation xmlns:swe="http://www.opengis.net/swe/1.0.2"> 
    <swe:latitude> 
     <swe:Quantity>41.8071</swe:Quantity> 
    </swe:latitude> 
    <swe:longitude> 
     <swe:Quantity>-71.4012</swe:Quantity> 
    </swe:longitude> 
   </swe:GeoLocation> 
  </sml:position> 
  <sml:position name="southeastCorner"> 
   <swe:GeoLocation xmlns:swe="http://www.opengis.net/swe/1.0.2"> 
    <swe:latitude> 
     <swe:Quantity>41.8071</swe:Quantity> 
    </swe:latitude> 
    <swe:longitude> 
     <swe:Quantity>-71.4012</swe:Quantity> 
    </swe:longitude> 
   </swe:GeoLocation> 
  </sml:position> 
  <sml:position name="northeastCorner"> 
   <swe:GeoLocation xmlns:swe="http://www.opengis.net/swe/1.0.2"> 
    <swe:latitude> 
     <swe:Quantity>41.8071</swe:Quantity> 
    </swe:latitude> 
    <swe:longitude> 
     <swe:Quantity>-71.4012</swe:Quantity> 
    </swe:longitude> 
   </swe:GeoLocation> 
  </sml:position> 
  <sml:position name="northwestCorner"> 
   <swe:GeoLocation xmlns:swe="http://www.opengis.net/swe/1.0.2"> 
    <swe:latitude> 
     <swe:Quantity>41.8071</swe:Quantity> 
    </swe:latitude> 
    <swe:longitude> 
     <swe:Quantity>-71.4012</swe:Quantity> 
    </swe:longitude> 
   </swe:GeoLocation> 
  </sml:position> 
 </sml:PositionList> 
</sml:positions>

New:
<sml:positions> 
 <sml:PositionList> 
  <sml:position name="stationPosition"> 
   <swe:Position referenceFrame="http://www.opengis.net/def/crs/EPSG/0/4326"> 
    <swe:location> 
     <swe:Vector gml:id="STATION_LOCATION" definition="urn:ogc:def:property:OGC:location"> 
      <swe:coordinate name="latitude"> 
       <swe:Quantity axisID="Y"> 
        <swe:uom code="deg" /> 
        <swe:value>41.8071</swe:value> 
       </swe:Quantity> 
      </swe:coordinate> 
      <swe:coordinate name="longitude"> 
       <swe:Quantity axisID="X"> 
        <swe:uom code="deg" /> 
        <swe:value>-71.4012</swe:value> 
       </swe:Quantity> 
      </swe:coordinate> 
     </swe:Vector> 
    </swe:location> 
   </swe:Position> 
  </sml:position> 
 </sml:PositionList> 
</sml:positions>
emiliom commented 8 years ago

The title of this issue is misleading. As far as I can tell from ioos/secoora#225, the issue is specific to COOPS, not generally to SOS DescribeSensor responses. I suggest changing the issue title to "COOPS SOS DescribeSensor response has changed", to avoid confusion. So, it impacts only the COOPS pyoos collector.

ocefpaf commented 8 years ago

Done. (And closed. I guess all we need was to fix the tests and that was done in #49)

emiliom commented 8 years ago

Ok. FYI, the title is not changed, but since you closed the issue, it's probably irrelevant.

ocefpaf commented 8 years ago

My connection hanged while renaming. I guess it worked now.