: Public Class
Created: 02/05/2012 3:24:57 PM
Modified: 02/05/2016 9:00:47 PM
Project:
Advanced:
A specialized Record type containing meteorological conditions observed at an aerodrome.  <br/><br/>When no clouds of operational significance or no weather of operational significance is observed, the NothingOfOperationalSignificance nilReason is used for the cloud or presentWeather association. When no clouds were detected by the automatic observing system, the NotDetectedByAutoSystem nilReason is used for the cloud association.<br/>
Attribute
Public Boolean
  cloudAndVisibilityOK
Details:
xsdAsAttribute=true
Notes: When true, indicates that the observed cloud ceiling, horizontal visibility, and weather conditions are of no operational significance.  See ICAO Annex 3 / WMO No. 49-2 Section 2.2. Also known as "CAVOK"<br/><br/>When CAVOK conditions are observed, no other information on visibility, runway visual range, present weather, cloud amount, or cloud type is reported<br/>
Public Measure
  airTemperature
Details:
quantity=http://codes.wmo.int/common/quantity-kind/airTemperature
sequenceNumber=1
Notes: The observed air temperature.  This is the temperature indicated by a thermometer exposed to the air in a place sheltered from direct solar radiation.<br/><br/>Measured air temperature shall be given in degrees Celsius ("Cel").<br/>
Public Measure
  dewpointTemperature
Details:
quantity=http://codes.wmo.int/common/quantity-kind/dewPointTemperature
sequenceNumber=2
Notes: The observed dew point temperature.  This is the temperature to which a given air parcel must be cooled at constant pressure and constant water vapor content in order for saturation to occur.<br/><br/>Measured dew-point temperature shall be given in degrees Celsius ("Cel").<br/>
Public Measure
  qnh
Details:
quantity=http://codes.wmo.int/common/quantity-kind/altimeterSettingQnh
sequenceNumber=3
Notes: The observed QNH altimeter setting.<br/><br/>Altitude setting (also known as QNH) is defined as barometric pressure adjusted to sea level. It is a pressure setting used by pilots, air traffic control (ATC), and low frequency weather beacons to refer to the barometric setting which, when set on an aircraft's altimeter, will cause the altimeter to read altitude above mean sea level within a certain defined region.<br/><br/>Measured altimeter setting shall be given in hectoPascals ("hPa").<br/>
Element Source Role Target Role
«dataType» AerodromeWindShear
Class  
Name:  
 
Name: windShear
 
Details:
 
«codeList» AerodromePresentWeather
Class  
Name:  
 
Name: presentWeather
 
Details:
When observed, between one and three present weather conditions<br/><br/>When present weather cannot be observed by the automatic observing system due to a temporary failure of the system/sensor ("//") the present weather is missing with a nil reason of notObservable.<br/>
«dataType» AerodromeRunwayState
Class  
Name:  
 
Name: runwayState
 
Details:
When runways are affected by snow, slush, or other contaminants, a runway state report for each runway in use is required.<br/><br/>There is no maximum number of runway states that can be reported.  This may be changed in a future amendment.<br/>
«dataType» AerodromeHorizontalVisibility
Class  
Name:  
 
Name: visibility
 
Details:
 
«codeList» AerodromeRecentWeather
Class  
Name:  
 
Name: recentWeather
 
Details:
 
«dataType» AerodromeSurfaceWind
Class  
Name:  
 
Name: surfaceWind
 
Details:
 
«dataType» AerodromeObservedClouds
Class  
Name:  
 
Name: cloud
 
Details:
When no clouds are detected by the automatic observing system, it should be indicated by a missing cloud group with a nil reason of notDetectedByAutoSystem ("NCD" from TAC).  <br/><br/>When there are no clouds of operational significance and no restriction on vertical visibility and “CAVOK” is not appropriate ("NSC") it should be indicated by a missing cloud group with a nil reason of nothingOfOperationalSignificance<br/><br/>
«dataType» AerodromeSeaState
Class  
Name:  
 
Name: seaState
 
Details:
 
«dataType» AerodromeRunwayVisualRange
Class  
Name:  
 
Name: rvr
 
Details:
RVR conditions are required if horizontal visibility or RVR is less than 1500 meters, up to a maximum of four runways<br/>
Tag Value
byValuePropertyType false
Details:
 
isCollection false
Details:
 
noPropertyType false
Details:
 
Constraint Type Status
if( cloudAndVisibilityOK ) visibility == NULL Invariant Approved
Details:
Pattern ID: METAR_SPECI.MAORec1<br/>Description: visibility should not be reported when cloudAndVisibilityOK is true<br/>Assertion: (if(@cloudAndVisibilityOK='true') then empty(iwxxm:visibility) else true())<br/>
if( cloudAndVisibilityOK ) rvr == NULL Invariant Approved
Details:
Pattern ID: METAR_SPECI.MAORec2<br/>Description: rvr should not be reported when cloudAndVisibilityOK is true<br/>Assertion: (if(@cloudAndVisibilityOK='true') then empty(iwxxm:rvr) else true())<br/>
if( cloudAndVisibilityOK ) presentWeather == NULL Invariant Approved
Details:
Pattern ID: METAR_SPECI.MAORec3<br/>Description: presentWeather should not be reported when cloudAndVisibilityOK is true<br/>Assertion: (if(@cloudAndVisibilityOK='true') then empty(iwxxm:presentWeather) else true())<br/>
if( cloudAndVisibilityOK ) clouds == NULL Invariant Approved
Details:
Pattern ID: METAR_SPECI.MAORec4<br/>Description: clouds should be absent when cloudAndVisibilityOK is true<br/>Assertion: (if( @cloudAndVisibilityOK eq 'true' ) then (empty(iwxxm:cloud)) else (true()))<br/>
if( visibility != NULL && visibility.prevailingVisibility < 1500 ) rvr.size() > 0 Invariant Approved
Details:
Pattern ID: METAR_SPECI.MAORec5<br/>Description: Table A3-2 Note 7 states: "To be included if visibility or RVR #lt; 1500 m; for up to a maximum of four runways".  This is interpreted to mean that if the prevailing visibility is below 1500 meters, RVR should always be included<br/>Assertion: (if((exists(iwxxm:visibility)) and (iwxxm:visibility//iwxxm:prevailingVisibility/number(text()) lt 1500) and (iwxxm:visibility//iwxxm:prevailingVisibility/@uom eq 'm')) then (exists(iwxxm:rvr)) else true())<br/>
if( airTemperature != NULL and airTemperature/@xsi:nil != "true") lower-case(@uom) == "cel" Invariant Approved
Details:
Pattern ID: METAR_SPECI.MAORec6<br/>Description: airTemperature shall be reported in degrees Celsius (Cel). <br/>Assertion: (if(exists(iwxxm:airTemperature) and (not(exists(iwxxm:airTemperature/@xsi:nil)) or iwxxm:airTemperature/@xsi:nil != 'true')) then (lower-case(iwxxm:airTemperature/@uom) = 'cel') else true())<br/>
if( dewpointTemperature != NULL dewpointTemperature/@xsi:nil != "true" ) lower-case(@uom) == "cel" Invariant Approved
Details:
Pattern ID: METAR_SPECI.MAORec7<br/>Description: dewpointTemperature shall be reported in degrees Celsius (Cel). <br/>Assertion: (if(exists(iwxxm:dewpointTemperature) and (not(exists(iwxxm:dewpointTemperature/@xsi:nil)) or iwxxm:dewpointTemperature/@xsi:nil != 'true')) then (lower-case(iwxxm:dewpointTemperature/@uom) = 'cel') else true())<br/>
if( qnh != NULL and qnh/@xsi:nil != "true" ) lower-case(@uom) == "hpa" Invariant Approved
Details:
Pattern ID: METAR_SPECI.MAORec8<br/>Description: qnh shall be reported in hectopascals (hPa). <br/>Assertion: (if(exists(iwxxm:qnh) and (not(exists(iwxxm:qnh/@xsi:nil)) or iwxxm:qnh/@xsi:nil != 'true')) then (lower-case(iwxxm:qnh/@uom) = 'hpa') else true())<br/>