: Public Class
Created: 23/05/2012 12:49:11 PM
Modified: 02/05/2016 6:38:10 PM
Project:
Advanced:
A specialized Record type containing meteorological conditions forecast at an aerodrome.  This class is also related but not identical to MeteorologicalAerodromeTrendForecastRecord, which is reported on a METAR/SPECI - conditions reported in trend forecasts in METAR/SPECI differ from forecast groups in a TAF.<br/><br/>When no clouds of operational significance or no weather of operational significance is predicted, the nothingOfOperationalSignificance nilReason should be used for the cloud or presentWeather association.  <br/><br/>Note that the TAC representations for "FM", "TL", and "AT" are represented by the phenomenonTime on the change forecast (MeteorologicalAerodromeForecast):<br/>    FM and TL - a phenomenonTime with a TimePeriod (start is FM and end is TL)<br/>    TL - a phenomenonTime with a TimePeriod (start is beginning of forecast validity and end is TL)<br/>    FM - a phenomenonTime with a TimePeriod (start is FM and end is end of forecast validity)<br/>    AT - a phenomenonTime with a TimeInstant<br/>
Attribute
Public AerodromeForecastChangeIndicator
  changeIndicator
Details:
xsdAsAttribute=true
Notes: The type of change being reported (FROM, BECOMING,  TEMPORARY, etc.).<br/><br/>A change indicator is required for all MeteorologicalAerodromeForecastRecords excepting reported base conditions.<br/>
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 Distance
  prevailingVisibility
Details:
quantity=http://codes.wmo.int/common/quantity-kind/aeronauticalPrevailingHorizontalVisibility
sequenceNumber=1
Notes: The prevailing horizontal visibility, mandatory except when ceiling and visibility is reported as OK<br/><br/>Prevailing horizontal visibility shall be reported in meters ("m").<br/>
Public RelationalOperator
  prevailingVisibilityOperator
Details:
sequenceNumber=2
Notes: The reported relational operator for the prevailing horizontal visibility.  When reported, this operator is reported in conjunction with prevailing visibility.<br/><br/>To report a prevailing visibility of at least 10000 meters, prevailing visibility is reported as 10000 meters and the operator is reported as "above".  <br/><br/>When no operator is reported, prevailing visibility represents an exact value with identical semantics to other measured quantities<br/>
Element Source Role Target Role
«dataType» AerodromeAirTemperatureForecast
Class  
Name:  
 
Name: temperature
 
Details:
Minimum and maximum temperatures observed at specific times, consisting of up to a maximum of four temperatures (two maximum temperatures and two minimum temperatures).<br/><br/>Due to Note 9 on Table A5-1: "consisting of up to a maximum of four temperatures (two maximum temperatures and two minimum temperatures)", there can be up to two temperature groups on each MeteorologicalAerodromeForecastRecord.  It is possible that Annex 3 instead specifies four temperatures for the entire TAF but no more than one for each Record, in which case this association would need to be corrected to be 0..1 and a constraint on TAF would need to be put in place to ensure that no more than two temperature forecast groups exist on any single TAF.<br/>
AerodromeCloudForecast
Class  
Name:  
 
Name: cloud
 
Details:
Cloud phenomenon of operational significance, including cloud type and cloud layers.  To be included whenever applicable, so as to convey a complete description of the clouds of significance to flight operations.<br/><br/>When no clouds of operational significance are forecast and “CAVOK” is not appropriate ("NSC") it should be indicated by a missing cloud group with a nil reason of nothingOfOperationalSignificance<br/>
AerodromeSurfaceWindForecast
Class  
Name:  
 
Name: surfaceWind
 
Details:
 
«codeList» AerodromeForecastWeather
Class  
Name:  
 
Name: weather
 
Details:
Weather phenomenon: characteristics and type.  To be included whenever applicable.<br/><br/>One or more, up to a maximum of three weather phenomena or combinations thereof, together with their characteristics and, where appropriate, intensity, are forecast if they are expected to occur at the aerodrome<br/><br/>The expected end of occurrence of weather phenomena ("NSW") is indicated by a change forecast with a missing weather group with a nil reason of nothingOfOperationalSignificance<br/>
Tag Value
byValuePropertyType false
Details:
 
isCollection false
Details:
 
noPropertyType false
Details:
 
Constraint Type Status
if( cloudAndVisibilityOK ) prevailingVisibility == NULL Invariant Approved
Details:
Pattern ID: TAF.MAFR1<br/>Description: prevailingVisibility should not be reported when cloudAndVisibilityOK is true<br/>Assertion: (if(@cloudAndVisibilityOK = 'true') then empty(iwxxm:prevailingVisibility) else true())<br/>
if( cloudAndVisibilityOK ) cloud == NULL Invariant Approved
Details:
Pattern ID: TAF.MAFR2<br/>Description: cloud should not be reported when cloudAndVisibilityOK is true<br/>Assertion: (if(@cloudAndVisibilityOK = 'true') then empty(iwxxm:cloud) else true())<br/>
if( cloudAndVisibilityOK ) weather == NULL Invariant Approved
Details:
Pattern ID: TAF.MAFR3<br/>Description: weather should not be reported when cloudAndVisibilityOK is true<br/>Assertion: (if(@cloudAndVisibilityOK = 'true') then empty(iwxxm:weather) else true())<br/>
if( prevailingVisibility != NULL and prevailingVisibility/@xsi:nil != "true" ) lower-case(@uom) == "m" Invariant Approved
Details:
Pattern ID: TAF.MAFR4<br/>Description: prevailingVisibility shall be reported in metres (m). <br/>Assertion: (if(exists(iwxxm:prevailingVisibility) and (not(exists(iwxxm:prevailingVisibility/@xsi:nil)) or iwxxm:prevailingVisibility/@xsi:nil != 'true')) then (lower-case(iwxxm:prevailingVisibility/@uom) = 'm') else true())<br/>