| Created: | 02/05/2012 11:47:09 AM |
| Modified: | 03/05/2013 5:01:04 PM |
Project: |
|
Advanced: |
|
| Attribute | ||
|
Public MeteorologicalAerodromeForecast baseForecast |
||
Details:
|
||
|
Public MeteorologicalAerodromeForecast changeForecast |
||
Details:
|
||
|
Public TM_Instant issueTime |
||
Details:
|
||
|
Public Aerodrome previousReportAerodrome |
||
Details:
|
||
|
Public TM_Period previousReportValidPeriod |
||
Details:
|
||
|
Public TAFReportStatus status |
||
Details:
xsdAsAttribute=true
|
||
|
Public TM_Period validTime |
||
Details:
|
| Tag | Value |
| byValuePropertyType | false |
Details:
Values: false
Default: false Description: Create a property type that requires that the instance is encoded inline (applies to ISO 19136:2007 encoding rule). Always set to false in INSPIRE. |
|
| isCollection | false |
Details:
Values: true | false
Default: false Description: Identifies the feature type as a feature collection. |
|
| noPropertyType | false |
Details:
Values: false
Default: false Description: Surpress creation of a standard property type that supports inline or by-reference encoding (applies to ISO 19136:2007 encoding rule). Always set to false in INSPIRE. |
|
| xsdEncodingRule | iso19136_2007 |
Details:
Values: iso19136_2007 | iso19139_2007 | iso19136_2007_INSPIRE_Extensions
Default: iso19136_2007 Description: XML Schema encoding rule to apply |
|
| 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( status == NORMAL ) previousReportValidPeriod == null | Invariant | Approved |
Details:
previousReportValidPeriod must be null unless this cancels, corrects or amends a previous report
|
||
| if( status == AMENDED ) previousReportValidPeriod != null | Invariant | Approved |
Details:
An amended report must also include the valid time of the amended report
|
||
| if( status == CANCELLED ) previousReportValidPeriod != null | Invariant | Approved |
Details:
A cancelled report must also include the valid time of the cancelled report
|
||
| if( status == CORRECTION ) previousReportValidPeriod != null | Invariant | Approved |
Details:
A corrected report must reference
|
||
| 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
|
||
| if( status == MISSING ) baseForecast.result includes nilReason AND validTime == NULL AND previousReportValidPeriod == NULL AND changeForecast == NULL | Invariant | Approved |
Details:
Missing TAF reports only include aerodrome information and issue time information
|
||
| let exclTerm : Set(String) = Set{'FROM', 'BECOMING'} in self.changeForecast->asSequence()->forAll(cf | self.changeForecast->asSequence()->indexOf(cf) > 1 implies cf.changeIndicator.substring(1, 11) = 'PROBABILITY' implies exclTerm->exclude | Invariant | Approved |
Details:
PROB30/PROB40 never follows a FROM or BECOMING group
|
||
| if(status != MISSING) validTime != NULL | Invariant | Approved |
Details:
|
||