Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

Text NOTAM production rules

This section provides rules for the automated production of the text NOTAM message items, based on the AIXM 5.1.1 data encoding of the Event. Therefore, AIXM specific terms are used, such as names of features and properties, types of TimeSlices, etc:

  • the abbreviation TWY.BL. indicates that the corresponding data item must be taken from the Taxiway BASELINE;
  • the abbreviation TWY.TD. indicates that the corresponding data item must be taken from the Taxiway TEMPDELTA that was created for the Event in case of complete taxiway limitation;
  • the abbreviation

...

  • AHP.BL. indicates that the corresponding data item must be taken from the AirportHeliport BASELINE associated with the Taxiway

...

  •  concerned;

    ...

      • According to encoding

    ...

      • rule ER-02, the TEMPDELTA

    ...

      • might also include ManoeuvringAreaAvailability elements that have been copied from the BASELINE data for compliance with the AIXM Temporality rules. The current practice is to not include such static information in the NOTAM text. Therefore, all

    ...

      • ManoeuvringAreaAvailability that have operationalStatus='NORMAL' will be ignored for the NOTAM generation.

    In general, the ICAO DOC 8126 and the OPADD rules shall be followed. These have not been copied in this document in order to avoid duplication with those documents. Only instructions that are specific to the AIXM encoding of this event are stated here.

    Table of Contents

    Item A

    The item A shall

    ...

    Q code

    ...

    be generated according to the general production rules for item A using the Event.concernedAirportHeliport.

    Item Q

    Apply the common NOTAM production rules for item Q, complemented by the following specific rules for this particular scenario:

    Q code

    The following mapping shall be used:

    Note: In this table, "any" means "any value or no value (NIL)".

    TWY.TD.availability.ManoeuvringAreaAvailability

    ...

    Corresponding Q code

    timeIntervalusage.ManoeuvringAreaUsage

    TWY.BL.type

    type

    operationpriorPermission../FlightCharacteristics../AircraftCharacteristicsother than 'FASTEXIT''FASTEXIT'
    not NIL'PERMIT''ALL'NILNILNIL

    ...

    QMXXXQMYAH

    ...

    any'

    ...

    RESERVE'

    ...

    anyanyonly military='MIL'

    ...

    any

    ...

    QMXXX

    ...

    QFPAM
    any'CONDITIONAL'

    ...

    anynot NIL

    ...

    any

    ...

    any

    ...

    QMXXXQMYAP
    any

    ...

    '

    ...

    PERMIT'anyNILanyanyQMXARQMYAR
    any'RESERVE'anyanyonly origin='HOME_BASED'any

    ...

    QMXXXQMYLB
    any'FORBID'anyanyanyweight not NILQMXLHQMYLH
    any'FORBID'anyanyanywingSpan not NILQMXLLQMYLL
    any'FORBID'anyanyrule = 'IFR'any

    ...

    QMXXXQMYLI
    any'FORBID'anyanyrule = 'VFR'any

    ...

    QMXXXQMYLV
    any other combinationQMXLTQMYLT
    Scope

    Insert the value ‘A’.

    Lower limit / Upper limit

    Use “000/999”

    Geographical reference

    Insert the coordinate of the ARP (AHP.BL.ARP.ElevatedPoint) of the airport, formatted as follows:

    • the set of coordinates comprises 11 characters rounded up or down to the nearest minute; i.e. Latitude (N/S) in 5 characters; Longitude (E/W) in 6 characters;
    • the radius value is “005”.

    Items B, C and D

    Items B and C shall be decoded following the common production rules.

    If at least one TWY.TD.availability.ManouevringAreaAvailability.timeInterval

    ...

    exists (i.e. the Event has an associated schedule), then all such Timesheet(s) shall be represented in item D according to the common NOTAM production rules for

    ...

    ...

    . Otherwise, item D shall be left empty.

    Item E

    The following pattern should be used as a base for generating the E field text from the AIXM data:

    ...

    Image Added

    Code Block
    titleEBNF Code
    collapsetrue
    template = ["(1)" "AHP.BL.type (2)" ("AHP.BL.name (3a)" | "AHP.BL.ARP (3b)")] \n 
    ("Rapid exit TWY(4)" | "TWY") "TWY.BL.designator" ["TWY.TD.ManoeuvringAreaAvailability.annotation(5)"] {"

    ...

    (6)"

    ...

     (","| "

    ...

    and"

    ...

    ) 

    ...

    ("Rapid exit TWY(4)" | "TWY") "TWY.BL.designator" ["TWY.TD.ManoeuvringAreaAvailability.annotation(5)"

    ...

    ]} 

    ...

    "TWY.TD.usage.type(7)"

    ...

    .
    

    ...

    
    template_middle = ["TWY.TD.

    ...

    usage.

    ...

    flight(8)"]

    ...

     

    ...

    ["TWY.TD.usage.aircraft(9)"] 

    ...

    "TWY

    ...

    .TD.usage.

    ...

    operation(

    ...

    10)"

    ...

     ["

    ...

    conditions(11)"] { "(

    ...

    12)" "," ["TWY

    ...

    .TD.usage.

    ...

    flight(

    ...

    8)"] ["TWY

    ...

    .TD.usage.

    ...

    aircraft(

    ...

    9)"] 

    ...

    "TWY

    ...

    .TD.usage.

    ...

    operation(

    ...

    10)"

    ...

     ["

    ...

    conditions(11)"]}

    ...

    .
    
    template_bottom = ["\n

    ...

    " "due to" "TWY.TD.availability.annotation(13)"] "." \n
    {"TWY.TD.availability.annotation(14)" "

    ...

    \n"

    ...

     

    ...

    "."

    ...

    }.


    Reference

    Data item (from coding scenario)

    Rule

    (1)


    If AHP.BL.locationIndicatorICAO

    ...

     is not null, then ignore this branch.

    (2)


    Insert here the type of the airport decoded as follows

    AHP.BL.type

    Text to be inserted in Item E

    AD or AH

    "AD"

    HP

    "Heliport"

    LS or OTHER

    "Landing site"


    (3)

    airport name

    (a

    ...

    ) If AHP.BL.name is not

    ...

    null, then insert it here.

    ...

    (b) Otherwise, insert here the text "located at" followed by the AHP.BL.ARP.ElevatedPoint decoded according to the text NOTAM production rules for aixm:Point

    ...

    (4)


    if TWY.

    ...

    BL.type = 'FASTEXIT' insert the words “Rapid exit". Otherwise, insert "TWY".

    (5)

    ...

    affected taxiway descriptionInsert here the TWY.TD.availability.ManoeuvringAreaAvailability.annotation with purpose='DESCRIPTION'  translated into free text according to the decoding rules for annotations

    (6)

    ...

    taxiway designatorIf more than one TWY.TD is associated with the Event, repeat this branch for each such Taxiway. Insert "," before consecutive taxiways and insert "and" before the last taxiway affected by the closure (e.g.

    ...

    "TWY A, TWY B and TWY

    ...

    C")

    ...

    If taxiway elements are used, the automatic generation of an easy human-readeable NOTAM text is practically impossible using just the AIXM encoding. Two cases can be identified for describing the taxiway portion affected by the limitation:

    Case 1: use long text from descriptions, as available in the TWE.annotation. 

    Example: Following the example of Fig.1 from coding rules, the text would look as follows: "between TWY B and TWY C, intersection TWY A and TWY C, between TWY C and TWY D” 

    Image Removed

    Case 2: allow the operator to manually write the text part. 

    Since the operator is allowed to modify the item E text manually, the choice to simplify the text can be made. The result of manual editing could result in something as follows: "between TWY B and TWY D, including intersections between".

    ...

    (8)

    ...

    If there exists a TWY.TD.availability.annotation or TWE.TD.availability.annotation having propertyName="operationalStatus" and purpose="REMARK", then translate it into free text according to the decoding rules for annotations.

    ...

    (9)

    ...

    If there exist one or more TD.availability.usage then decode them following this branch, in the following order of priorities:

    • TD.availability.usage that have operation="ALL"
    • TD.availability.usage that have type="PERMIT"
    • ... other situations ...
    • TD.availability.usage that have priorPermission which is not NIL shall be decoded last.

    ...

    If TD.usage.priorPermission is not NIL, then insert here the decoding of the PPR information as detailed in the following diagram:

    Image Removed

    Code Block
    titleEBNF Code
    collapsetrue
    template_PPR = "PPR " "TWY/TWE.TD.usage.priorPermission(10.1)" ["TWY/TWE.TD.usage.annotation(10.2)"].

    Reference

    Rule

    (10.1)

    Insert here the value of the priorPermission attribute followed by its unit of measurement decoded according to the {{text NOTAM production rules for duration}}

    (10.2)

    Decode here the annotation with propertyName="priorPermission" and purpose="REMARK", according to the decoding rules for annotations.

    ...

    (11)

    Decode here each FlightCharacteristics property that was specified, as detailed below. If more than one FlightCharacteristics property was used, insert blanks between consecutive properties.

    ...

    FlightCharacteristics.type*

     

    (7)

    conditional for

    closed, except for

    prohibited for

    additionally allowed for

    Insert here TWY.TD.availability.ManoeuvringAreaAvailability.usage.ManoeuvringAreaUsage as follows:

    typeText to be inserted in item E
    "CONDITIONAL""available for"
    "RESERV""closed, except for"
    "PERMIT""now available for"
    "FORBID""prohibited for"


    (8)

    flight

    Decode here each FlightCharacteristics property that was specified, as detailed below. If more than one FlightCharacteristics property was used, insert blanks between consecutive properties.

    FlightCharacteristics.type*

    Text to be inserted in Item E

    OAT

    "Operational Air Traffic"

    GAT

    "General Air Traffic"

    ALL

    "Operational Air Traffic/General Air Traffic"

    OTHER:MY_TEXT

    "my text" (replace "_" with blanks)

    *Note: type is unlikely to be used in a NOTAM, its decoding is provided for completeness sake.

    FlightCharacteristics.rule

    Text to be inserted in Item E

    IFR

    "IFR"

    VFR

    "VFR"

    ALL*

    "IFR/VFR"

    OTHER:MY_TEXT

    "my text" (replace "_" with blanks)

    *Note: value is unlikely to be used in a NOTAM, its decoding is provided for completeness sake.

    FlightCharacteristics.status

    Text to be inserted

    HEAD

    "Head of State"

    STATE

    "State acft"

    HUM

    "HUM"

    HOSP

    "HOSP"

    SAR

    "SAR”

    EMERGENCY

    "EMERG"

    ALL

    "State acft/HUM/HOSP/SAR/EMERG"

    OTHER:MEDEVAC

    “MEDEVAC”

    OTHER:FIRE_FIGHTING

    “fire fighting”

    OTHER:MY_TEXT

    "my text" (replace "_" with blanks and convert to lowercase)


    FlightCharacteristics.military

    Text to be inserted in Item E

    ...

    MIL

    "

    ...

    MIL acft"

    ...

    CIVIL

    "

    ...

    civil acft"

    ALL*

    "

    ...

    civil/MIL acft"

    OTHER:MY_TEXT*

    "my text" (replace "_" with blanks)

    *Note:

    ...

    value is unlikely to be used in a NOTAM, its decoding is provided for completeness sake.

    FlightCharacteristics.

    ...

    origin

    Text to be inserted

    ...

    NTL

    "domestic"

    INTL

    "

    ...

    intl"

    ...

    HOME_BASED

    "

    ...

    home based"

    ALL*

    "

    ...

    domestic/

    ...

    intl"

    OTHER:MY_TEXT*

    "my text" (replace "_" with blanks)

    *Note: value is unlikely to be used in a NOTAM, its decoding is provided for completeness sake.

    FlightCharacteristics.

    ...

    purpose

    Text to be inserted

    ...

    SCHEDULED

    "

    ...

    scheduled"

    ...

    NON_SCHEDULED

    "

    ...

    not scheduled"

    ...

    PRIVATE*

    "

    ...

    private"

    ...

    AIR_TRAINING

    "

    ...

    EMERGENCY

    ...

    training"

    ...

    SAR

    ...

    "SAR”

    AIR_WORK*

    "aerial work"

    PARTICIPANT

    "participating acft"

    ALL*

    "

    ...

    scheduled/not scheduled/private/training/aerial work/participating acft"

    OTHER:

    ...

    “MEDEVAC”

    ...

    OTHER:FIRE_FIGHTING

    ...

    “fire fighting”

    ...

    MY_TEXT*

    "my text" (replace "_" with blanks

    ...

    )

    ...

    FlightCharacteristics.military

    *Note: value is unlikely to be

    ...

    MIL

    ...

    "MIL acft"

    ...

    CIVIL

    ...

    "civil acft"

    ...

    ALL*

    ...

    "civil/MIL acft"

    ...

    OTHER:MY_TEXT*

    ...

    "my text" (replace "_" with blanks)

    ...

    used in a NOTAM, its decoding is provided for completeness sake.

    ...

    (9)

    aircraft

    Decode here each AircraftCharacteristics property that was specified, as detailed below. If more than one AircraftCharacteristics property was used, insert blanks between consecutive properties.

    AircraftCharacteristics.type

    Text to be inserted in Item E

    ...

    LANDPLANE

    "

    ...

    landplanes"

    ...

    SEAPLANE*

    "

    ...

    seaplanes"

    ...

    AMPHIBIAN

    "

    ...

    amphibians"

    ...

    HELICOPTER

    "

    ...

    hel"

    GYROCOPTER

    "gyrocopters"

    ...

    TILT_WING

    "tilt wing acft"

    STOL

    "short take-off and landing acft"

    GLIDER*

    "

    ...

    *Note: value is unlikely to be used in a NOTAM, its decoding is provided for completeness sake.

    ...

    FlightCharacteristics.purpose

    ...

    Text to be inserted

    ...

    SCHEDULED

    ...

    "scheduled"

    ...

    NON_SCHEDULED

    ...

    "not scheduled"

    ...

    PRIVATE*

    ...

    "private"

    ...

    AIR_TRAINING

    ...

    "training"

    ...

    AIR_WORK*

    ...

    "aerial work"

    ...

    PARTICIPANT

    ...

    "participating acft"

    ...

    ALL*

    ...

    "scheduled/not scheduled/private/training/aerial work/participating acft"

    ...

    gliders"

    HANGGLIDER*

    "hang-gliders"

    PARAGLIDER*

    "paragliders"

    ULTRA_LIGHT*

    "ultra lights"

    BALLOON*

    "balloons"

    UAV*

    "unmanned acft”

    ALL*

    "all acft types"

    OTHER:MY_TEXT

    "my text" (replace "_" with blanks)

    *Note: value is unlikely to be used in a NOTAM, its decoding is provided for completeness sake.

    ...

    (12)

    AircraftCharacteristics

    ...

    AircraftCharacteristics.type

    ...

    .engine

    Text to be inserted in Item E

    ...

    JET

    "

    ...

    jet acft"

    ...

    PISTON

    "

    ...

    piston acft"

    ...

    TURBOPROP

    "

    ...

    ALL*

    ...

    turboprop acft"

    ...

    HELICOPTER

    ...

    "hel"

    ...

    GYROCOPTER

    ...

    "gyrocopters"

    ...

    TILT_WING

    ...

    "tilt wing acft"

    ...

    STOL

    ...

    "short take-off and landing acft"

    ...

    GLIDER*

    ...

    "gliders"

    ...

    HANGGLIDER*

    ...

    "hang-gliders"

    ...

    PARAGLIDER*

    ...

    "paragliders"

    ...

    ULTRA_LIGHT*

    ...

    "ultra lights"

    ...

    BALLOON*

    ...

    "balloons"

    ...

    UAV*

    ...

    "unmanned acft”

    ELECTRIC**

    “electric engine acft”

    ALL

    "all engine types"

    OTHER:MY_TEXT

    "my text" (replace "_" with blanks)

    **Note: new in AIXM 5.1.1.

    AircraftCharacteristics.wingSpan - insert the value followed by the value of the uom attribute. Prefix with the value of AircraftCharacteristics.wingSpanInterpretation, decoded as indicated in the following table:

    AircraftCharacteristics.wingSpanInterpretation

    Text to be inserted in Item E

    ABOVE

    "acft with wingspan more than"

    AT_OR_ABOVE

    "acft with wingspan equal to or more than"

    AT_OR_BELOW

    “acft with wingspan equal to or less than"

    BELOW

    "acft with wingspan less than"

    OTHER:MY_TEXT*

    "my text" (replace "_" with blanks)

    *Note: value is unlikely to be used in a NOTAM, its decoding is provided for completeness sake.

    AircraftCharacteristics.

    ...

    weight - insert the value followed by the value of the uom attribute. Prefix with the value of AircraftCharacteristics.weightInterpretation, decoded as indicated in the following table:

    AircraftCharacteristics.weightInterpretation

    Text to be inserted in Item E

    ...

    ABOVE

    "

    ...

    acft mass heavier than"

    ...

    AT_OR_ABOVE

    "

    ...

    acft mass equal to or heavier than"

    ...

    AT_OR_BELOW

    "

    ...

    ALL

    ...

    acft mass equal to or lighter than"

    ...

    ELECTRIC**

    ...

    “electric engine acft”

    BELOW

    "acft mass lighter than"

    OTHER:MY_TEXT*

    "my text" (replace "_" with blanks)

    *

    ...

    Note:

    ...

    AircraftCharacteristics.wingSpan - insert the value followed by the value of the uom attribute. Prefix with the value of AircraftCharacteristics.wingSpanInterpretation, decoded as indicated in the following table:

    ...

    value is unlikely to be used in a NOTAM, its decoding is provided for completeness sake.

    (10)

    operation

    Decode here the TWY.TD.availability.usage.operation as follows:

    TD.usage.operation*

    Text to be inserted in Item E

    ...

    LANDING*

    "

    ...

    AT_OR_ABOVE

    ...

    "acft with wingspan equal to or more than"

    ...

    AT_OR_BELOW

    ...

    “acft with wingspan equal to or less than"

    ...

    BELOW

    ...

    "acft with wingspan less than"

    ...

    OTHER:MY_TEXT*

    ...

    *Note: value is unlikely to be used in a NOTAM, its decoding is provided for completeness sake.

    ...

    (13)

    ...

    If TD.usage.selection.logicalOperator=OR (there are more than one flight/aircraft combinations that are excepted), then select and decode each FlightCharacteristics/AircraftCharacteristics consecutively.

    ...

    (14)

    ...

    for landing"

    TAKEOFF*

    "for tkof

    TOUCHGO*

    "for tgl"

    TRAIN_APPROACH*

    "for practice low approaches"

    TAXIING

    "for taxiing"

    CROSSING

    "for crossing"

    AIRSHOW

    "for acft participating in air display”

    ALL**

    "for all operations"**

    *Note: value is unlikely to be used in a NOTAM referring to the taxiway limitation, its decoding is provided for completeness sake.

    AircraftCharacteristics.weight - insert the value followed by the value of the uom attribute. Prefix with the value of AircraftCharacteristics.weightInterpretation, decoded as indicated in the following table:

    ...

    AircraftCharacteristics.weightInterpretation

    ...

    Text to be inserted in Item E

    ...

    ABOVE

    ...

    "acft mass heavier than"

    ...

    AT_OR_ABOVE

    ...

    "acft mass equal to or heavier than"

    ...

    AT_OR_BELOW

    ...

    "acft mass equal to or lighter than"

    ...

    BELOW

    ...

    "acft mass lighter than"

    ...

    OTHER:MY_TEXT*

    ...

    "my text" (replace "_" with blanks)

    **Note: if all operations are affected, then either provide the text as described above or do not provide the text at all.

    (11)

    PPR time 

    PPR details

    If TD.usage.priorPermission is not NIL, then insert here the decoding of the PPR information as detailed in the following diagram:

    Image Added

    Code Block
    titleEBNF Code
    collapsetrue
    template_PPR = "PPR " "TWY/TWE.TD.usage.priorPermission(11.1)" ["TWY/TWE.TD.usage.annotation(11.2)"].


    Reference

    Rule

    (11.1)

    Insert here the value of the priorPermission attribute followed by @uom attribute decoded as follows:

    uom value

    Text to be inserted in Item E

    HR

    "HR"

    MIN

    "min"

    SEC

    "sec"

    OTHER:MY_TEXT

    "my text" (replace "_" with blanks and convert to lowercase)


    (11.2)

    Decode here the annotation with propertyName='priorPermission' and purpose='REMARK', according to the decoding rules for annotations.


    (12)


    If there exists a parent TWY.TD.availability.ManoeuvringAreaAvailability.usage.ManoeuvringAreaUsage.selection.ConditionCombination with logicalOperator='OR' (there are more than one flight/aircraft/operation combinations that are concerned), then select and decode each child subCondition.ConditionCombination/... consecutively and insert the comma separator.

    (13)reasonIf there exists a TWY.TD.availability.ManoeuvringAreaAvailability.annotation having propertyName='operationalStatus' and purpose='REMARK', then translate it into free text according to the decoding rules for annotations.

    (14)

    note

    Other annotations of TD.ManoeuvringAreaAvailability shall be translated into free text according to the decoding rules for annotations.

    Items F & G

    Leave empty.

    Event Update

    The eventual update of this type of event shall be encoded following the general rules for

    ...

    ...

    ...

    , which provide instructions for all NOTAM fields, except for item E and the condition part of the Q code, in the case of a NOTAMC

    If a NOTAMC is produced, then the 4th and 5th letters (the "condition") of the Q code shall be "AK", except for the situation of a “new NOTAM to follow", in which case

    ...

    “XX” shall be used.

    The following pattern should be used for automatically generating the E field text from the AIXM data

    ...

    Image Added

    Code Block
    titleEBNF Code
    collapsetrue
    template_cancel = ["(1)" "AHP.BL.type (2)" ("AHP.BL.name (3a)" | "AHP.BL.ARP (3b)")

    ...

     

    ...

     ] ("Rapid exit TWY(4)" | "TWY") "TWY.BL.

    ...

    designator" {"(6)" ("," | "and

    ...

    ") ("Rapid exit TWY(4)" | "TWY") "TWY.BL.

    ...

    designator"} ("resumed normal operations." | 

    ...

    " : New NOTAM to follow.(15)"

    ...

    ).


    Reference

    Rule

    (15)

    If the NOTAM will be followed by a new NOTAM concerning the same situation, then the operator shall have the possibility to

    ...

    choose the "New NOTAM to follow"

    ...

    branch.  This branch cannot be selected automatically because this information is only known by the operator.

    Note: in this case, the 4th and 5th letters of the Q code shall also be changed into “XX”