: Public <<Type>> Class
Created: 02/05/2012 11:47:09
Modified: 22/10/2012 15:08:08
Project:
Advanced:
A Terminal Aerodrome Forecast (TAF) report is a routine aerodrome forecast intended for distribution beyond an aerodrome.  TAF reports report base forecast conditions, and modifications to those conditions throughout the valid period.<br /></p><p><br /></p><p>TAF reports include similar information to a METAR/SPECI trend forecast.  However, TAF forecast information includes additional detail.<br /></p><p><br /></p><p>Aerodromes can issue both METAR/SPECI and TAF reports on a routine basis, but TAFs are not issued by every METAR-reporting aerodrome.<br /></p><p><br /></p><p>The issuance of a new forecast by a meteorological office, such as a TAF, cancels any forecast of the same type previously issued for the same place and for the same period of validity or part thereof.<br /></p><p><br /></p><p>Prevailing conditions and forecast changes differ in that the prevailing conditions can include temperatures, base conditions do not include a change indicator, and that forecast changes may report no significant weather (NSW). Rather than have two class hierarchies, constraints are present ensuring that each (base and forecast conditions) only include relevant information<br /></p>
Attribute
Public TAFReportStatus
  status

Details:
sequenceNumber=1
Notes: The status of this report, including amended, cancelled, normal, or corrected.  <br /></p><p><br /></p><p>Missing reports indicate that a report was not issued from the responsible reporting party as expected.  Missing reports are typically issued by third parties that were expecting a report.<br /></p><p><br /></p><p>Annex 3:<br /></p><p>"AMD"<br /></p>
Public TM_Instant
  issueTime

Details:
Notes: The time at which this report was issued.  Note that this should be identical to the resultTime of each MeteorologicalAerodromeForecast, whose results are made available at the same time as this report.  TAF reports have an issueTime to assist in discovery and to provide unambiguous semantics at the report level.
Public TM_Period
  validTime

Details:
Notes: The time frame at which this report is valid.  All forecast elements should be valid within this period
Public Aerodrome
  previousReportAerodrome

Details:
Notes: The aerodrome of the previously-issued report being amended or cancelled
Public TM_Period
  previousReportValidPeriod

Details:
Notes: The valid time period for the previously amended and/or cancelled report
Public MeteorologicalAerodromeForecast
  baseForecast

Details:
Notes: The prevailing conditions.  Mandatory in all cases except missing or cancelled reports
Public MeteorologicalAerodromeForecast
  changeForecast

Details:
Notes: Forecast that modifies the base forecast.  While there is no maximum number of forecasts, this should normally not exceed five in number (Annex 3 Section 1.5).<br /></p><p><b><u><br /></p><p></u></b>Annex 3:<br /></p><p>Section 1.5: "The number of change and probability groups should be kept to a minimum and should not normally exceed five groups".<br /></p>
Public LanguageString
  humanReadableText

Details:
Notes: Human-readable, descriptive text that cannot be sensibly represented in any other form.  This report element encapsulates the human-generated text that is intended for other downstream human recipients.  All other elements of the report capture machine-readable information that can be anticipated in advance as part of the reporting structure.<br /></p><p><br /></p><p>It is not valid to include any machine-readable information or extended content in this text under any circumstances. Human-readable text may be considered opaque to parsing software and should be used minimally.<br /></p><p><br /></p><p>This text is not to be confused with Traditional Alphanumeric Code (TAC) form remarks ("RMK"), which have been used for many purposes beyond human-readable text.<br /></p>
Tag Value
acceptXMLAttribute true
Details:
 
Constraint Type Status
forAll( self.forecastConditions.temperature == null ) Invariant Approved
Details:
Forecast conditions cannot include temperature information.  They are otherwise identical to the prevailing conditions
if( amended ) previousReportValidPeriod != null Invariant Approved
Details:
An amended report must also include the valid time of the amended report
if( cancelled ) previousReportValidPeriod != null Invariant Approved
Details:
A cancelled report must also include the valid time of the cancelled report
if( !amended AND !cancelled ) previousReportValidPeriod == null Invariant Approved
Details:
previousReportValidPeriod must be null unless this cancels or amends a previous report
self.changeForecasts.forAll( self.baseForecast.resultTime == self.resultTime ) Invariant Approved
Details:
resultTime for the baseForecast and the changeForecasts must match
self.issueTime == baseForecast.resultTIme Invariant Approved
Details:
TAF issue time must match the baseForecast resultTime
self.baseForecast.changeIndicator == null Invariant Approved
Details:
Base conditions may not have a change indicator