<?xml version="1.0" encoding="UTF-8"?>
<!-- notes:
    1. 	The size of this XML file could be reduced by using local references (# URIs) to reference elements 
    (& their sub-elements) that have already been defined - thus removing duplication
	2. The size of the XML file could be further reduced if the 'static' bits of the file (e.g. template
	descriptions - where there is no variable data or 'generalised' coordinates) are pubished separately. Then
	this 'instance' file could reference those parts by HTTP URI. The static parts are really part of the template.
	3. Duplication is evident in this XML document (e.g. observedProperty vs. rangeType, geographical information 
	about the aerodrome etc.). The duplication is a necessary part of reusing existing Logical Data Models (e.g.
	ISO 19156 Observations and Measurements, ISO 19123 Coverages). Such standards are both endorsed and well-adopted
	by the wider meteorological community - meaning that our use of the standard models improves interoperability, 
	albeit at the cost of redundant 'baggage'. This is especially true for 'degenerate coverages' such as those 
	defined herein (e.g. containing only a single geometric point).
	4. Organised in this way, the METAR message can be decomposed into many _SELF CONTAINED_ components: each
	PointObservation instance contains sufficient 'metadata' information without needing to refer to the enclosing
	METAR report. Furthermore, assuming that one is not interested in the metadata about the observation event, 
	each CV_DiscretePointCoverage instance may provide sufficient context without needing to refer to the enclosing 
	PointObservation instance; albeit that the examples herein defines only [x, y] (long, lat) geometry for the 
	point. For the coverages to be filly self-contained, one must define the point geometry with a time dimension 
	(e.g. [x, y, t]), perhaps even with a vertical geometry too (e.g. [x, y, z, t]). 
	5. All CRS information is missing from this XML document
-->
<D07-401_METAR-SPECI_Product>
    <icaoLocationIndicator>
        <B01-063_ICAOLocationIndicator>
            <icaoLocation>LKKV</icaoLocation>
        </B01-063_ICAOLocationIndicator>
    </icaoLocationIndicator>
    <aerodromeName>Karlovy Vary</aerodromeName>
    <productStatus>
        <B08-079_AviationProductStatus
            codeList="http://{hostname}/{path}/BUFRCREX/Code+Flag/08.079"
            codeListValue="http://{hostname}/{path}/BUFRCREX/Code+Flag/08.079/0">
            Normal issue</B08-079_AviationProductStatus>
    </productStatus>
    <aerodromeObservation>
        <D07-402_AerodromeObservationGroup>
            <icaoLocationIndicator>
                <B01-063_ICAOLocationIndicator>
                    <icaoLocation>LKKV</icaoLocation>
                </B01-063_ICAOLocationIndicator>
            </icaoLocationIndicator>
            <windElements>
                <PointObservation>
                    <phenomenonTime>
                        <gml:TimeInstant>
                            <gml:timePosition>2007-07-25T12:00Z</gml:timePosition>
                        </gml:TimeInstant>
                    </phenomenonTime>
                    <resultTime>
                        <gml:TimeInstant>
                            <gml:timePosition>2007-07-25T12:00Z</gml:timePosition>
                        </gml:TimeInstant>
                    </resultTime>
                    <procedure>
                        <SimpleProcess>
                            <documentation>
                                <CI_Citation>
                                    <title>
                                        <CharacterString>WMO No. 8 Part 1-5 Measurement of surface wind</CharacterString>
                                    </title>
                                    <onlineResource>
                                        <CI_OnlineResource>
                                            <linkage>http://www.wmo.int/pages/prog/www/IMOP/publications/CIMO-Guide/CIMO%20Guide%207th%20Edition,%202008/Part%20I/Chapter%205.pdf</linkage>
                                        </CI_OnlineResource>
                                    </onlineResource>
                                </CI_Citation>
                            </documentation>
                            <processParameter>
                                <StationTypeParameter>
                                    <name>F0X02X001 Station Type</name>
                                    <value>
                                        <B02-001_StationType
                                            codeList="http://{hostname}/{path}/BUFRCREX/Code+Flag/02.001"
                                            codeListValue="http://{hostname}/{path}/BUFRCREX/Code+Flag/02.001/1">
                                            Manned
                                        </B02-001_StationType>
                                    </value>
                                </StationTypeParameter>
                            </processParameter>
                            <processParameter>
                                <StationHeightParameter>
                                    <name>F0X07X030 Station Height</name>
                                    <value>
                                        <!-- [0 07 030] 'Height of station ground above mean sea level' -->
                                        <B07-030_StationHeight nilReason="missing"/>
                                    </value>
                                </StationHeightParameter>
                            </processParameter>
                            <processParameter>
                                <SensorHeightParameter>
                                    <name>F0X07X032 Sensor Height</name>
                                    <value>
                                        <!-- [0 07 032] 'Height of sensor above local ground (or deck of marine platform)' -->
                                        <B07-032_SensorHeight nilReason="missing"/>
                                    </value>
                                </SensorHeightParameter>
                            </processParameter>
                        </SimpleProcess>
                    </procedure>
                    <observedProperty>
                        <!-- note: the ObservableProperty does not repeat the different types of (max)windSpeed nor the windSpeedOrGustQualifier -->
                        <CompositeObservableProperty>
                            <label>Aviation surface wind measure group</label>
                            <count>5</count>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Wind direction</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/11/001"/>
                                    <!-- unit of measure from WMO Common-table C-6: [320] 'degrees true' -->
                                    <uom xlink:href="http://{hostname}/{path}/Common/C-6/320"/>
                                </ObservableProperty>
                            </component>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Extreme counterclockwise wind direction of a variable wind</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/11/016"/>
                                    <!-- unit of measure from WMO Common-table C-6: [320] 'degrees true' -->
                                    <uom xlink:href="http://{hostname}/{path}/Common/C-6/320"/>
                                </ObservableProperty>
                            </component>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Extreme clockwise wind direction of a variable wind</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/11/017"/>
                                    <!-- unit of measure from WMO Common-table C-6: [320] 'degrees true' -->
                                    <uom xlink:href="http://{hostname}/{path}/Common/C-6/320"/>
                                </ObservableProperty>
                            </component>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Wind speed</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/11/002"/>
                                    <!-- note: unit of measure not specified here - multiple wind speed measures with different measures are used below -->
                                </ObservableProperty>
                            </component>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Maximum wind gust speed</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/11/041"/>
                                    <!-- note: unit of measure not specified here - multiple gust speed measures with different measures are used below -->
                                </ObservableProperty>
                            </component>
                        </CompositeObservableProperty>
                    </observedProperty>
                    <featureOfInterest>
                        <SF_SamplingPoint>
                            <!-- byReference - assume that these domain features will already be defined -->
                            <sampledFeature xlink:href="http://{hostname}/{path}/Aerodrome/karlovy_vary"/>
                            <shape>
                                <gml:Point>
                                    <!-- note: {Longitude Latitude} check this is correct order! -->
                                    <gml:pos>12.92 50.20</gml:pos>
                                </gml:Point>
                            </shape>
                        </SF_SamplingPoint>
                    </featureOfInterest>
                    <result>
                        <CV_DiscretePointCoverage>
                            <domainExtent>
                                <!-- could use EX_GeographicBoundingBox - but this is less useful for a (notional) 'point' -->
                                <EX_GeographicIdentifier>
                                    <geographicIdentifier>Airport Karlovy Vary</geographicIdentifier>
                                </EX_GeographicIdentifier>
                            </domainExtent>
                            <rangeType>
                                <swe:DataRecord definition="http://{hostname}/{path}/BUFR/D/07/403">
                                    <swe:lable>Wind observation record</swe:lable>
                                    <swe:field name="windDirection">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/11/001">
                                            <swe:uom code="degree_true"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="variableWindDirectionCCW">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/11/016">
                                            <swe:uom code="degree_true"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="variableWindDirectionCW">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/11/017">
                                            <swe:uom code="degree_true"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="windSpeedQualifier">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/08/054">
                                            <swe:uom nilReason="inapplicable"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="windSpeed_kmh-1">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/11/083">
                                            <swe:uom code="kmh-1"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="windSpeed_knots">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/11/084">
                                            <swe:uom code="knots"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="windSpeed_ms-1">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/11/002">
                                            <swe:uom code="ms-1"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="gustSpeedQualifier">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/08/054">
                                            <swe:uom nilReason="inapplicable"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="gustSpeed_kmh-1">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/11/085">
                                            <swe:uom code="kmh-1"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="gustSpeed_knots">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/11/086">
                                            <swe:uom code="knots"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="gustSpeed_ms-1">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/11/041">
                                            <swe:uom code="ms-1"/>
                                        </swe:Quantity>
                                    </swe:field>
                                </swe:DataRecord>
                            </rangeType>
                            <element>
                                <CV_PointValuePair>
                                    <geometry>
                                        <gml:Point>
                                            <!-- note:
                                                A. {Longitude Latitude} check this is correct order!
                                                B. For the coverage to be fully self contained, <gml:pos> may be defined 
                                                   with coordinates including time and possibly vertical level (e.g. [x, y,{ z,} t]) -->
                                            <gml:pos>12.92 50.20</gml:pos>
                                        </gml:Point>
                                    </geometry>
                                    <value>
                                        <D07-403_WindRecord>
                                            <windDirection>
                                                <!-- unit of measure from WMO Common-table C-6: [320] 'degrees true' -->
                                                <B11-001_WindDirection uom="http://{hostname}/{path}/Common/C-6/320">210</B11-001_WindDirection>
                                            </windDirection>
                                            <variableWindDirectionCCW nilReason="missing"/>
                                            <variableWindDirectionCW nilReason="missing"/>
                                            <windSpeedGroup>
                                                <D07-307_WindSpeedGroup>
                                                    <windSpeedQualifier>
                                                        <B08-054_WindSpeedOrGustQualifier 
                                                            codeList="http://{hostname}/{path}/BUFRCREX/Code+Flag/08.054"
                                                            codeListValue="http://{hostname}/{path}/BUFRCREX/Code+Flag/08.054/0">
                                                            Wind speed or gust is as reported
                                                        </B08-054_WindSpeedOrGustQualifier> 
                                                    </windSpeedQualifier>
                                                    <windSpeed_kmh-1 nilReason="inapplicable"/>
                                                    <windSpeed_knots>
                                                        <!-- unit of measure from WMO Common-table C-6: [201] 'knot' -->
                                                        <B11-084_WindSpeed_knots uom="http://{hostname}/{path}/Common/C-6/320">5</B11-084_WindSpeed_knots>
                                                    </windSpeed_knots>
                                                    <windSpeed_ms-1>
                                                        <!-- unit of measure from WMO Common-table C-6: [731] 'metres per second' -->
                                                        <B11-002_WindSpeed_ms-1 uom="http://{hostname}/{path}/Common/C-6/731">2.6</B11-002_WindSpeed_ms-1>
                                                    </windSpeed_ms-1>
                                                </D07-307_WindSpeedGroup>
                                            </windSpeedGroup>
                                            <windGustGroup>
                                                <D07-308_WindGustGroup>
                                                    <windGustQualifier>
                                                        <B08-054_WindSpeedOrGustQualifier 
                                                            codeList="http://{hostname}/{path}/BUFRCREX/Code+Flag/08.054"
                                                            codeListValue="http://{hostname}/{path}/BUFRCREX/Code+Flag/08.054/0">
                                                            Wind speed or gust is as reported
                                                        </B08-054_WindSpeedOrGustQualifier> 
                                                    </windGustQualifier>
                                                    <gustSpeed_kmh-1 nilReason="missing"/>
                                                    <gustSpeed_knots nilReason="missing"/>
                                                    <gustSpeed_ms-1 nilReason="missing"/>
                                                </D07-308_WindGustGroup>
                                            </windGustGroup>
                                        </D07-403_WindRecord>
                                    </value>
                                </CV_PointValuePair>
                            </element>
                        </CV_DiscretePointCoverage>
                    </result>
                </PointObservation>
            </windElements>
            <temperatureElements>
                <PointObservation>
                    <phenomenonTime>
                        <gml:TimeInstant>
                            <gml:timePosition>2007-07-25T12:00Z</gml:timePosition>
                        </gml:TimeInstant>
                    </phenomenonTime>
                    <resultTime>
                        <gml:TimeInstant>
                            <gml:timePosition>2007-07-25T12:00Z</gml:timePosition>
                        </gml:TimeInstant>
                    </resultTime>
                    <procedure>
                        <SimpleProcess>
                            <documentation>
                                <CI_Citation>
                                    <title>
                                        <CharacterString>WMO No. 8 Part 1-2 Measurement of temperature</CharacterString>
                                    </title>
                                    <onlineResource>
                                        <CI_OnlineResource>
                                            <linkage>http://www.wmo.int/pages/prog/www/IMOP/publications/CIMO-Guide/CIMO%20Guide%207th%20Edition,%202008/Part%20I/Chapter%202.pdf</linkage>
                                        </CI_OnlineResource>
                                    </onlineResource>
                                </CI_Citation>
                            </documentation>
                            <processParameter>
                                <StationTypeParameter>
                                    <name>F0X02X001 Station Type</name>
                                    <value>
                                        <B02-001_StationType
                                            codeList="http://{hostname}/{path}/BUFRCREX/Code+Flag/02.001"
                                            codeListValue="http://{hostname}/{path}/BUFRCREX/Code+Flag/02.001/1">
                                            Manned
                                        </B02-001_StationType>
                                    </value>
                                </StationTypeParameter>
                            </processParameter>
                            <processParameter>
                                <StationHeightParameter>
                                    <name>F0X07X030 Station Height</name>
                                    <value>
                                        <!-- [0 07 030] 'Height of station ground above mean sea level' -->
                                        <B07-030_StationHeight nilReason="missing"/>
                                    </value>
                                </StationHeightParameter>
                            </processParameter>
                            <processParameter>
                                <SensorHeightParameter>
                                    <name>F0X07X032 Sensor Height</name>
                                    <value>
                                        <!-- [0 07 032] 'Height of sensor above local ground (or deck of marine platform)' -->
                                        <B07-032_SensorHeight nilReason="missing"/>
                                    </value>
                                </SensorHeightParameter>
                            </processParameter>
                        </SimpleProcess>
                    </procedure>
                    <observedProperty>
                        <CompositeObservableProperty>
                            <label>Aviation temperature measure group</label>
                            <count>2</count>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Temperature (C)</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/12/023"/>
                                    <!-- unit of measure from WMO Common-table C-6: [350] 'celsius' -->
                                    <uom xlink:href="http://{hostname}/{path}/Common/C-6/350"/>
                                </ObservableProperty>
                            </component>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Dew-point temperature (C)</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR-CREX/B/12/024"/>
                                    <!-- unit of measure from WMO Common-table C-6: [350] 'celsius' -->
                                    <uom xlink:href="http://{hostname}/{path}/Common/C-6/350"/>
                                </ObservableProperty>
                            </component>
                        </CompositeObservableProperty>
                    </observedProperty>
                    <featureOfInterest>
                        <SF_SamplingPoint>
                            <!-- byReference - assume that these domain features will already be defined -->
                            <sampledFeature xlink:href="http://{hostname}/{path}/Aerodrome/karlovy_vary"/>
                            <shape>
                                <gml:Point>
                                    <!-- note: {Longitude Latitude} check this is correct order! -->
                                    <gml:pos>12.92 50.20</gml:pos>
                                </gml:Point>
                            </shape>
                        </SF_SamplingPoint>
                    </featureOfInterest>
                    <result>
                        <CV_DiscretePointCoverage>
                            <domainExtent>
                                <!-- could use EX_GeographicBoundingBox - but this is less useful for a (notional) 'point' -->
                                <EX_GeographicIdentifier>
                                    <geographicIdentifier>Airport Karlovy Vary</geographicIdentifier>
                                </EX_GeographicIdentifier>
                            </domainExtent>
                            <rangeType>
                                <swe:DataRecord definition="http://{hostname}/{path}/BUFR/D/07/404">
                                    <swe:lable>Temperature observation record</swe:lable>
                                    <swe:field name="temperature">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/12/023">
                                            <swe:uom code="C"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="dewpoint">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/12/024">
                                            <swe:uom code="C"/>
                                        </swe:Quantity>
                                    </swe:field>
                                </swe:DataRecord>
                            </rangeType>
                            <element>
                                <CV_PointValuePair>
                                    <geometry>
                                        <gml:Point>
                                            <!-- note:
                                                A. {Longitude Latitude} check this is correct order!
                                                B. For the coverage to be fully self contained, <gml:pos> may be defined 
                                                   with coordinates including time and possibly vertical level (e.g. [x, y,{ z,} t]) -->
                                            <gml:pos>12.92 50.20</gml:pos>
                                        </gml:Point>
                                    </geometry>
                                    <value>
                                        <D07-404_TemperatureRecord>
                                            <temperature>
                                                <!-- unit of measure from WMO Common-table C-6: [350] 'celsius' -->
                                                <B12-023_Temperature uom="http://{hostname}/{path}/Common/C-6/350">27</B12-023_Temperature>
                                            </temperature>
                                            <dewpoint>
                                                <!-- unit of measure from WMO Common-table C-6: [350] 'celsius' -->
                                                <B12-024_Dewpoint uom="http://{hostname}/{path}/Common/C-6/350">10</B12-024_Dewpoint>
                                            </dewpoint>
                                        </D07-404_TemperatureRecord>
                                    </value>
                                </CV_PointValuePair>
                            </element>
                        </CV_DiscretePointCoverage>
                    </result>
                </PointObservation>
            </temperatureElements>
            <qnhElements>
                <PointObservation>
                    <phenomenonTime>
                        <gml:TimeInstant>
                            <gml:timePosition>2007-07-25T12:00Z</gml:timePosition>
                        </gml:TimeInstant>
                    </phenomenonTime>
                    <resultTime>
                        <gml:TimeInstant>
                            <gml:timePosition>2007-07-25T12:00Z</gml:timePosition>
                        </gml:TimeInstant>
                    </resultTime>
                    <procedure>
                        <SimpleProcess>
                            <documentation>
                                <CI_Citation>
                                    <title>
                                        <CharacterString>...</CharacterString>
                                    </title>
                                    <onlineResource>
                                        <CI_OnlineResource>
                                            <linkage>http://{hostname}/{path}/documentation_about_measuring_QNH.html</linkage>
                                        </CI_OnlineResource>
                                    </onlineResource>
                                </CI_Citation>
                            </documentation>
                            <processParameter>
                                <StationTypeParameter>
                                    <name>F0X02X001 Station Type</name>
                                    <value>
                                        <B02-001_StationType
                                            codeList="http://{hostname}/{path}/BUFRCREX/Code+Flag/02.001"
                                            codeListValue="http://{hostname}/{path}/BUFRCREX/Code+Flag/02.001/1">
                                            Manned
                                        </B02-001_StationType>
                                    </value>
                                </StationTypeParameter>
                            </processParameter>
                            <processParameter>
                                <StationHeightParameter>
                                    <name>F0X07X030 Station Height</name>
                                    <value>
                                        <!-- [0 07 030] 'Height of station ground above mean sea level' -->
                                        <B07-030_StationHeight nilReason="missing"/>
                                    </value>
                                </StationHeightParameter>
                            </processParameter>
                            <processParameter>
                                <BarometerHeightParameter>
                                    <name>F0X07X031 Barometer Height</name>
                                    <value>
                                        <!-- [0 07 031] 'Height of barometer above mean sea level' -->
                                        <B07-031_BarometerHeight nilReason="missing"/>
                                    </value>
                                </BarometerHeightParameter>
                            </processParameter>
                        </SimpleProcess>
                    </procedure>
                    <observedProperty>
                        <ObservableProperty>
                            <label>
                                <CharacterString>Altimeter setting - QNH (Pa)</CharacterString>
                            </label>
                            <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/10/052"/>
                            <!-- unit of measure from WMO Common-table C-6: [032] 'pascal' -->
                            <uom xlink:href="http://{hostname}/{path}/Common/C-6/032"/>
                        </ObservableProperty>
                    </observedProperty>
                    <featureOfInterest>
                        <SF_SamplingPoint>
                            <!-- byReference - assume that these domain features will already be defined -->
                            <sampledFeature xlink:href="http://{hostname}/{path}/Aerodrome/karlovy_vary"/>
                            <shape>
                                <gml:Point>
                                    <!-- note: {Longitude Latitude} check this is correct order! -->
                                    <gml:pos>12.92 50.20</gml:pos>
                                </gml:Point>
                            </shape>
                        </SF_SamplingPoint>
                    </featureOfInterest>
                    <result>
                        <CV_DiscretePointCoverage>
                            <domainExtent>
                                <!-- could use EX_GeographicBoundingBox - but this is less useful for a (notional) 'point' -->
                                <EX_GeographicIdentifier>
                                    <geographicIdentifier>Airport Karlovy Vary</geographicIdentifier>
                                </EX_GeographicIdentifier>
                            </domainExtent>
                            <rangeType>
                                <swe:DataRecord definition="http://{hostname}/{path}/BUFR/D/07/405">
                                    <swe:lable>Altimeter setting - QNH</swe:lable>
                                    <swe:field name="qnh">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/10/052">
                                            <swe:uom code="Pa"/>
                                        </swe:Quantity>
                                    </swe:field>
                                </swe:DataRecord>
                            </rangeType>
                            <element>
                                <CV_PointValuePair>
                                    <geometry>
                                        <gml:Point>
                                            <!-- note:
                                                A. {Longitude Latitude} check this is correct order!
                                                B. For the coverage to be fully self contained, <gml:pos> may be defined 
                                                   with coordinates including time and possibly vertical level (e.g. [x, y,{ z,} t]) -->
                                            <gml:pos>12.92 50.20</gml:pos>
                                        </gml:Point>
                                    </geometry>
                                    <value>
                                        <D07-405_QNHRecord>
                                            <qnh>
                                                <!-- unit of measure from WMO Common-table C-6: [032] 'pascal' -->
                                                <B10-052_QNH uom="http://{hostname}/{path}/Common/C-6/032">10100E1</B10-052_QNH>
                                            </qnh>
                                        </D07-405_QNHRecord>
                                    </value>
                                </CV_PointValuePair>
                            </element>
                        </CV_DiscretePointCoverage>
                    </result>
                </PointObservation>
            </qnhElements>
            <observedPhenomenaElements>
                <PointObservation>
                    <phenomenonTime>
                        <gml:TimeInstant>
                            <gml:timePosition>2007-07-25T12:00Z</gml:timePosition>
                        </gml:TimeInstant>
                    </phenomenonTime>
                    <resultTime>
                        <gml:TimeInstant>
                            <gml:timePosition>2007-07-25T12:00Z</gml:timePosition>
                        </gml:TimeInstant>
                    </resultTime>
                    <procedure>
                        <SimpleProcess>
                            <documentation>
                                <CI_Citation>
                                    <title>
                                        <CharacterString>Document title</CharacterString>
                                    </title>
                                    <onlineResource>
                                        <CI_OnlineResource>
                                            <linkage>http://{hostname}/{path}/documentation.html</linkage>
                                        </CI_OnlineResource>
                                    </onlineResource>
                                </CI_Citation>
                            </documentation>
                            <processParameter>
                                <StationTypeParameter>
                                    <name>F0X02X001 Station Type</name>
                                    <value>
                                        <B02-001_StationType
                                            codeList="http://{hostname}/{path}/BUFRCREX/Code+Flag/02.001"
                                            codeListValue="http://{hostname}/{path}/BUFRCREX/Code+Flag/02.001/1">
                                            Manned
                                        </B02-001_StationType>
                                    </value>
                                </StationTypeParameter>
                            </processParameter>
                            <processParameter>
                                <StationHeightParameter>
                                    <name>F0X07X030 Station Height</name>
                                    <value>
                                        <!-- [0 07 030] 'Height of station ground above mean sea level' -->
                                        <B07-030_StationHeight nilReason="missing"/>
                                    </value>
                                </StationHeightParameter>
                            </processParameter>
                        </SimpleProcess>
                    </procedure>
                    <observedProperty>
                        <!-- note: observedProperty does not repeat (units 'm' and 'ft') cloudBaseHeight or verticalVisibility as defined in the record -->
                        <CompositeObservableProperty>
                            <label>Aviation observed phenomena measure group</label>
                            <count>10</count>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Weather indicator</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/20/009"/>
                                </ObservableProperty>
                            </component>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Prevailing visibility</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/20/060"/>
                                </ObservableProperty>
                            </component>
                            <component>
                                <CompositeObservableProperty>
                                    <label>Directed minimum visbility</label>
                                    <count>2</count>
                                    <component>
                                        <ObservableProperty>
                                            <label>
                                                <CharacterString>Bearing or azimuth (degree true)</CharacterString>
                                            </label>
                                            <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/05/021"/>
                                            <!-- unit of measure from WMO Common-table C-6: [320] 'degrees true' -->
                                            <uom xlink:href="http://{hostname}/{path}/Common/C-6/320"/>
                                        </ObservableProperty>
                                    </component>
                                    <component>
                                        <ObservableProperty>
                                            <label>
                                                <CharacterString>Minimum horizontal visibility (m)</CharacterString>
                                            </label>
                                            <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/20/059"/>
                                            <!-- unit of measure from WMO Common-table C-6: [001] 'metre' -->
                                            <uom xlink:href="http://{hostname}/{path}/Common/C-6/001"/>
                                        </ObservableProperty>
                                    </component>
                                </CompositeObservableProperty>
                            </component>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Present significant weather</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/20/019"/>
                                </ObservableProperty>
                            </component>
                            <component>
                                <CompositeObservableProperty>
                                    <label>Cloud group</label>
                                    <count>3</count>
                                    <component>
                                        <ObservableProperty>
                                            <label>
                                                <CharacterString>Cloud amount</CharacterString>
                                            </label>
                                            <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/20/011"/>
                                        </ObservableProperty>
                                    </component>
                                    <component>
                                        <ObservableProperty>
                                            <label>
                                                <CharacterString>Cloud type</CharacterString>
                                            </label>
                                            <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/20/012"/>
                                        </ObservableProperty>
                                    </component>
                                    <component>
                                        <ObservableProperty>
                                            <label>
                                                <CharacterString>Height of base of cloud</CharacterString>
                                            </label>
                                            <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/20/013"/>
                                            <!-- unit of measure not given here as the record contains both metres (m) and feet (ft) -->
                                        </ObservableProperty>
                                    </component>
                                </CompositeObservableProperty>
                            </component>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Vertical visibility</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/20/002"/>
                                    <!-- unit of measure not given here as the record contains both metres (m) and feet (ft) -->
                                </ObservableProperty>
                            </component>
                            <component>
                                <ObservableProperty>
                                    <label>
                                        <CharacterString>Recent significant weather</CharacterString>
                                    </label>
                                    <basePhenomenon xlink:href="http://{hostname}/{path}/BUFR/B/20/020"/>
                                </ObservableProperty>
                            </component>
                        </CompositeObservableProperty>
                    </observedProperty>
                    <featureOfInterest>
                        <SF_SamplingPoint>
                            <!-- byReference - assume that these domain features will already be defined -->
                            <sampledFeature xlink:href="http://{hostname}/{path}/Aerodrome/karlovy_vary"/>
                            <shape>
                                <gml:Point>
                                    <!-- note: {Longitude Latitude} check this is correct order! -->
                                    <gml:pos>12.92 50.20</gml:pos>
                                </gml:Point>
                            </shape>
                        </SF_SamplingPoint>
                    </featureOfInterest>
                    <result>
                        <CV_DiscretePointCoverage>
                            <domainExtent>
                                <!-- could use EX_GeographicBoundingBox - but this is less useful for a (notional) 'point' -->
                                <EX_GeographicIdentifier>
                                    <geographicIdentifier>Airport Karlovy Vary</geographicIdentifier>
                                </EX_GeographicIdentifier>
                            </domainExtent>
                            <rangeType>
                                <swe:DataRecord definition="http://{hostname}/{path}/BUFR/D/07/406">
                                    <swe:lable>Aviation observable phenomena</swe:lable>
                                    <swe:field name="weatherIndicator">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/009">
                                            <swe:uom nilReason="inapplicable"/>
                                        </swe:Quantity>
                                    </swe:field>
                                    <swe:field name="prevailingVisibility">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/060">
                                            <swe:uom code="m"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="bearing">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/05/021">
                                            <swe:uom code="degree_true"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="minimumVisibility">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/059">
                                            <swe:uom code="m"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="presentSignificantWx">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/019">
                                            <swe:uom nilReason="inapplicable"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="verticalSignificance">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/08/002">
                                            <swe:uom nilReason="inapplicable"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="cloudAmount">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/011">
                                            <swe:uom nilReason="inapplicable"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="cloudType">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/012">
                                            <swe:uom nilReason="inapplicable"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="cloudBaseHeight_m">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/013">
                                            <swe:uom code="m"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="cloudBaseHeight_ft">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/092">
                                            <swe:uom code="ft"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="verticalVisibility_m">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/002">
                                            <swe:uom code="m"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="verticalVisibility_ft">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/091">
                                            <swe:uom code="ft"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                    <swe:field name="recentSignificantWx">
                                        <swe:Quantity definition="http://{hostname}/{path}/BUFR/B/20/020">
                                            <swe:uom nilReason="inapplicable"/>
                                        </swe:Quantity>     
                                    </swe:field>
                                </swe:DataRecord>
                            </rangeType>
                            <element>
                                <CV_PointValuePair>
                                    <geometry>
                                        <gml:Point>
                                            <!-- note:
                                                A. {Longitude Latitude} check this is correct order!
                                                B. For the coverage to be fully self contained, <gml:pos> may be defined 
                                                   with coordinates including time and possibly vertical level (e.g. [x, y,{ z,} t]) -->
                                            <gml:pos>12.92 50.20</gml:pos>
                                        </gml:Point>
                                    </geometry>
                                    <value>
                                        <D07-406_ObservedPhenomenaRecord>
                                            <weatherIndicator>
                                                <B20-009_WeatherIndicator 
                                                    codeList="http://{hostname}/{path}/BUFRCREX/Code+Flag/20.009"
                                                    codeListValue="http://{hostname}/{path}/BUFRCREX/Code+Flag/20.009/2">
                                                    CAVOK
                                                </B20-009_WeatherIndicator> 
                                            </weatherIndicator>
                                            <prevailingVisbility nilReason="missing"/>
                                            <verticalVisibility_m nilReason="missing"/>
                                            <verticalVisibility_ft nilReason="missing"/>
                                        </D07-406_ObservedPhenomenaRecord>
                                    </value>
                                </CV_PointValuePair>
                            </element>
                        </CV_DiscretePointCoverage>
                    </result>
                </PointObservation>
            </observedPhenomenaElements>
        </D07-402_AerodromeObservationGroup>
    </aerodromeObservation>
    <!-- no runwayObservation(s) [D07-410_RunwayObservationGroup] or aerodromeTrendForecast [D07-414_AerodromeTrendForecast] -->
</D07-401_METAR-SPECI_Product>
