valentinedwv / ioostech

Automatically exported from code.google.com/p/ioostech
0 stars 0 forks source link

WMO ID? #41

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Is there a location in the templates where we are requiring the WMO ID if the 
station has been assigned a WMO ID?  

Original issue reported on code.google.com by John.Ten...@gmail.com on 7 Nov 2012 at 11:02

GoogleCodeExporter commented 8 years ago

Original comment by John.Ten...@gmail.com on 7 Nov 2012 at 11:16

GoogleCodeExporter commented 8 years ago
I don't think we are *requiring* WMO ID, but, this ID is reasonably ubiqitous 
and it would be worth figuring out a way to identify a generic ID as being a 
specific WMO ID.  Currently we have two places that WMO ID could live.

1. In the station URN, if the authority is "wmo" then the ID is obviously a WMO 
ID.  One place the station URN is used is as a procedure ID.  In a station DS 
record that is recorded...
    <sml:System>
      <gml:description>Observations at urn:ioos:station:wmo:41001 buoy station, 
        150 NM East of Cape HATTERAS</gml:description>
      <gml:name>urn:ioos:station:wmo:41001</gml:name>

2. Also in the station DS record, there is a place to record stationID, but 
nowhere do we specify that the ID is of type, WMO ID.  I suppose that is 
possible and may even be desirable.

      <!-- ===============================================================
        STATION IDENTIFIERS
        ================================================================== -->
      <sml:identification>
        <sml:IdentifierList>
          <!-- The 3 identifiers listed below are MANDATORY -->
          <sml:identifier name="stationID">
            <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
              <sml:value>urn:ioos:station:wmo:41001</sml:value>
            </sml:Term>
          </sml:identifier>

The stationID object above is mandatory, but we don't specify exactly what type 
of ID goes in the sml:value element.  I don't think we want to change that.  I 
can see some value in using an additional optional element that might look 
something like...

      <!-- ===============================================================
        STATION IDENTIFIERS
        ================================================================== -->
      <sml:identification>
        <sml:IdentifierList>
          <sml:identifier name="wmoID">
            <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
              <sml:value>41001</sml:value>
            </sml:Term>
          </sml:identifier>

Either way, the answer lies in the DS station record currently.  Is this 
explicit enough for the purpose you have in mind?  The procedure ID URN is also 
replicated in the capabilities document.  

Original comment by dpsnowde...@gmail.com on 8 Nov 2012 at 3:11

GoogleCodeExporter commented 8 years ago

Original comment by John.Ten...@gmail.com on 9 Nov 2012 at 10:22

GoogleCodeExporter commented 8 years ago
OK the close?

Derrick's #2 is the way to go (and is already in the templates.)

Original comment by wilcox.k...@gmail.com on 3 Jan 2013 at 3:44

GoogleCodeExporter commented 8 years ago
The *first* block in Derrick's #2 is definitely in the template and mandatory. 
His #1 is also in the template; as far as I can tell, the use of the station 
urn in sml:System/gml:name is basically mandatory.

However, the second block of DS code Derrick's lists under #2 is unnecessary. 
If a provider uses a WMO ID for a station ID, then the asset urn mandates the 
use of the string 'wmo' as the authority, so the urn would look like Derrick's 
first example:
urn:ioos:station:wmo:41001
A client who wants to know if a particular station ID urn is a WMO ID only 
needs to parse the urn. It's completely explicit and foolproof.

A question Derrick doesn't address in his comment, but that John may have been 
alluding to originally, is that we're not *mandating* the use of a station WMO 
ID when it exists. The provider is at liberty to use its own station ID, as 
long as it follows the IOOS asset urn rules. We also provide no mechanism for 
listing the WMO ID (in addition to the provider-chosen station ID urn) in the 
DS response. What we'd need is an *optional* mechanism to specify a WMO ID. 
Taking a cue from Derrick's second block in his #2, how about:
<sml:identifier name="wmoID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/wmoID">
        <sml:value>urn:ioos:station:wmo:41001</sml:value>
    </sml:Term>
</sml:identifier>
And we can easily add a wmoID vocabulary entry to 
http://mmisw.org/ont/ioos/definition

As a simpler alternative, is it legal to have >1 <sml:identifier 
name="stationID"> entries? If so, in addition to the provider-chosen station 
urn, we can optionally have:
<sml:identifier name="stationID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
        <sml:value>urn:ioos:station:wmo:41001</sml:value>
    </sml:Term>
</sml:identifier>
Again, parsers can easily identify wmo ioos urn's.

Original comment by emilioma...@gmail.com on 8 Jan 2013 at 10:34

GoogleCodeExporter commented 8 years ago
Hi Everyone,

Thanks for thinking about this issue.  I agree that Emilio's second alternative 
is simpler, and also easily parsed, but the first alternative is more "in your 
face" that when you have a WMO ID, it should be included in the DS response.  I 
would be OK with either suggestion, but if we were to go with the second 
alternative and it's legal, to comment in the templates that the WMO should be 
noted if it exists.

Original comment by John.Ten...@gmail.com on 9 Jan 2013 at 3:12

GoogleCodeExporter commented 8 years ago
> We also provide no mechanism for listing 
> the WMO ID (in addition to the provider-
> chosen station ID urn) in the DS
> response.

An optional way top specify a WMO ID is in the describe sensor template...am i 
missing something here?  Can we just make is mandatory if a WMO ID exists?

Original comment by wilcox.k...@gmail.com on 9 Jan 2013 at 3:24

GoogleCodeExporter commented 8 years ago
Kyle: Sorry, I missed that Derrick's suggested WMO ID block was in the DS 
template; I thought what you meant in comment 4 was that part 1 of Derrick's #2 
was already in the template (and has been for ages).

So, the choice is between the <sml:identifier name="wmoID"> scheme in the 
template, vs. the alternative I'm suggesting. My vote is for the latter, as 
it's simpler and more generic. If we go with the former (that *seems* to be the 
preference?), a wmoID entry should be added to 
http://mmisw.org/ont/ioos/definition

A decision should be made quickly either way, and the issue can then be closed. 
No need to drag it.

Original comment by emilioma...@gmail.com on 9 Jan 2013 at 7:41

GoogleCodeExporter commented 8 years ago
After this discussion, I tend to agree with Emilio that the latter, more 
generic alternative may be better and we'll make it mandatory that the WMO ID 
be included if it exists. But whatever is chosen is OK with me - OK to close 
the issue.

Original comment by John.Ten...@gmail.com on 9 Jan 2013 at 8:22

GoogleCodeExporter commented 8 years ago
You are proposing something like this?:

<sml:identifier name="stationID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
        <sml:value>urn:ioos:station:neracoos:mybuoy</sml:value>
    </sml:Term>
</sml:identifier>
<sml:identifier name="stationID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/wmoID">
        <sml:value>41001</sml:value>
    </sml:Term>
</sml:identifier>

To replace what we already have?

<sml:identifier name="stationID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
        <sml:value>urn:ioos:station:neracoos:mybuoy</sml:value>
    </sml:Term>
</sml:identifier>
<sml:identifier name="wmoID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/wmoID">
        <sml:value>41001</sml:value>
    </sml:Term>
</sml:identifier>

The only difference being name="stationID" instead of name="wmoID"?

> As a simpler alternative, is it legal to have >1 <sml:identifier 
name="stationID"> entries?

You need to check on this since your suggestion depends on the answer.  If it 
is legal and you feel strongly about this, just update the templates and close 
the issue... talking about this simple change for a week is silly.

Original comment by wilcox.k...@gmail.com on 9 Jan 2013 at 9:44

GoogleCodeExporter commented 8 years ago
I prefer using the wmoID identifier:

<sml:identifier name="stationID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
        <sml:value>urn:ioos:station:neracoos:mybuoy</sml:value>
    </sml:Term>
</sml:identifier>
<sml:identifier name="wmoID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/wmoID">
        <sml:value>41001</sml:value>
    </sml:Term>
</sml:identifier>

as it's simpler and clearer, but that's just an opinion. 

I'd advise adding a note to the resolution that wmoID should be specified as a 
separate identifier even if the main stationID URN uses a wmo authority.

Original comment by srstcl...@gmail.com on 10 Jan 2013 at 8:08

GoogleCodeExporter commented 8 years ago
It looks like there's a majority vote for the wmoID scheme, so just go with 
that and call it done.

For posterity, though, the alternative I was proposing was like this:
<sml:identifier name="stationID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
        <sml:value>urn:ioos:station:neracoos:mybuoy</sml:value>
    </sml:Term>
</sml:identifier>
<sml:identifier name="stationID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
        <sml:value>urn:ioos:station:wmo:41001</sml:value>
    </sml:Term>
</sml:identifier>

Original comment by emilioma...@gmail.com on 10 Jan 2013 at 9:01

GoogleCodeExporter commented 8 years ago
And what does the response include when all we have is a wmo id?  (NDBC 
stations)  Do I have to report it twice?

Original comment by mike.gar...@gmail.com on 10 Jan 2013 at 3:09

GoogleCodeExporter commented 8 years ago
I suggest:

<sml:identifier name="stationID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/stationID">
        <sml:value>urn:ioos:station:wmo:41001</sml:value>
    </sml:Term>
</sml:identifier>
<sml:identifier name="wmoID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/wmoID">
        <sml:value>41001</sml:value>
    </sml:Term>
</sml:identifier>

since the WMO ID is actually 41001.

Original comment by wilcox.k...@gmail.com on 10 Jan 2013 at 3:53

GoogleCodeExporter commented 8 years ago
Yup, that's what I was recommending with "wmoID should be specified as a 
separate identifier even if the main stationID URN uses a wmo authority."

Original comment by srstcl...@gmail.com on 10 Jan 2013 at 6:40

GoogleCodeExporter commented 8 years ago
Suggested resolution:

'Station WMO IDs should be specified (when available) in the identifier section 
of a DescribeSensor response as follows:
<sml:identifier name="wmoID">
    <sml:Term definition="http://mmisw.org/ont/ioos/definition/wmoID">
        <sml:value>41001</sml:value>
    </sml:Term>
</sml:identifier>

The wmoID should be specified as a separate identifier even if the main 
stationID URN uses the wmo authority.'

An associated task would be to add http://mmisw.org/ont/ioos/definition/wmoID 
to the vocabulary.

Closing at the end of the day barring any complaints.

Original comment by srstcl...@gmail.com on 10 Jan 2013 at 6:47

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Closing, added to http://code.google.com/p/ioostech/wiki/SOSGuidelines_final

Original comment by sh...@axiomalaska.com on 12 Jan 2013 at 2:04