Text NOTAM production rules

This section provides rules for the automated production of the text NOTAM message items, based on the AIXM 5.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 VST.BL indicates that the corresponding data item must be taken from the VerticalStructure BASELINE;
  • the abbreviation VST.TD. indicates that the corresponding data item must be taken from the VerticalStructure TEMPDELTA that was created for the Event.

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.

Several NOTAMs possible

Note that if an obstacle is located in the vicinity of one or more airports or affects more than one FIR, explicit associations between the Event and one or more AirportHeliport or Airspace may be coded. Then, there exist dedicated provision in the OPADD (v4.1, section with regard to the NOTAM that need to be issued in order to ensure that the NOTAM appear correctly in the relevant en-route and airport Pre-Flight Information Bulletins (PIB). Further details are provided in the “several NOTAM possible” section.

The NOTAM production rules provided on this page, unless specified otherwise, are applicable to the “first NOTAM” and the NOTAM containing one or more FIR in Item A. 

Event.concernedAirspaceEvent.concernedAirportHeliportNOTAM to be generated

produce a single NOTAM with scope E for all the FIR(s) identified

1..*1..*Produce a "first" NOTAM with scope E for all FIR and additional (scope A) NOTAM for each airport concerned. 
11..*Produce a "first" NOTAM with scope AE for the FIR and one of the aerodromes associated with the Event and additional (scope A) NOTAM for each additional airport.

Item A

The item A shall be generated according to the general production rules for item A using the concernedAirspace(s) or the concernedAirportHeliport, according to the rules specified in table above.

Item Q

Q code

Always use: QOLAS


Identify as described in Several NOTAM possible section above. 

Items B, C and D

  • In item B, insert the value of the TD.validTime.TimePeriod.beginPosition formatted according to the NOTAM syntax for this field: yymmddhhmm;
  • In item C, insert the value of the TD.validTime.TimePeriod.endPosition formatted according to the NOTAM syntax for this field: yymmddhhmm.
  • If TD.validTime.TimePeriod.endPosition@indeterminatePosition has the value "unknown", "before" or "after" (the Event has an estimated end of validity), then append "EST" at the end of the item C value.
  • If at least one TD.availability.VerticalStructureLightingStatus.timeInterval exists (the Event has an associated schedule), then it shall be represented in item D according to the general NOTAM conversion rules for {{Event schedules}}.

Item E

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

EBNF code
template = "Obstacle lights" "VST.TD.LightingAvailability.status(1)" "on" ["VST.BL.group(2)"] ["VST.BL.part.mobile(3)"] "VST.BL.type(4)" ["(" "VST.BL.annotation(5)" ")"] \n
["located at" "VST.BL.annotation(6)"] ["identified as" "VST.BL.name(7)"] "VST.BL.part.horizontalProjection(8)" "." \n
 "elevation" "VST.BL.part.horizontalProjection.elevation(9)" ["(" "height" "VST.BL.verticalExtent(10)" ")"] "." \n
{"VST.BL.annotation(11)" "."}. 


Data item (from coding scenario)



lighting status

Insert here the operational status (VST.TD.LightingAvailability.status) of the obstacle/obstruction light decoded as follows

TD.statusText to be inserted



If BL.group='YES', then insert the words "group of". Otherwise leave empty.



If BL.VerticalStructurePart.mobile='YES', then insert the word "Mobile". Otherwise leave empty.


obstacle type

Insert here the obstacle type in lower case and, if needed, taking into account the rules described in Appendix A (new) - Abbreviations and acronyms

If BL.type='OTHER', then insert the word "Obstacle".

If the BL.type='OTHER:...', then insert the text that follows after 'OTHER:'.

In all situations decode the BL.type by replacing the "_" characters with blank.


descriptionIf there exists a BL.VerticalStructure.annotation with propertyName='type' and purpose='DESCRIPTION', then insert the text of that note according to the decoding rules for Notes. Otherwise leave empty.


location remarks

If there exists a relevant  BL.VerticalStructure.annotation with propertyName='horizontalProjection_location' and purpose='REMARK', then insert the text of that note according to the decoding rules for Notes. Otherwise leave empty the whole branch (including "located at").


obstacle identification

Insert the content of BL.name, if available. Otherwise leave empty the whole branch.



The GML encoding of the horizontalProjection (gml:Point, gml:Curve or gml:Surface) shall be translated into human readable text, following the rules for encoding and decoding GML geometries.



Insert the value of the aixm:ElevatedPoint.elevation or aixm:ElevatedCurve.elevation or aixm:ElevatedSurface.elevation that is associated with the BL.VerticalStructurePart, followed by the value of the respective uom attribute.

Note: the data provider interface shall help the operator to check if the information received from the originator is consistent with the real position of the obstacle on the airport surface. For example, this can be done by overlaying the obstacle (position and shape) on an airport map.


heightInsert the content of BL.VerticalStructurePart.verticalExtent and of its uom attribute, if available. Otherwise leave empty the whole branch.



Annotations shall be translated into free text according to the decoding rules for Notes.

Note: The objective is to fully automate generation, without human intervention. However, the implementers of the specification might consider reducing the cost of a fully automated generation by allowing the operator to fine-tune the text in order to improve its readability (with the inherent risk for human error, when re-typing is allowed).

Items F & G

Leave empty.

Event Update

The eventual update of this type of event shall be encoded following the general rules for [archived] Event update or cancellation, which provide instructions for all NOTAM fields, except for item E and the condition part of the Q code, in the case of a NOTAM C.

If a NOTAM C is produced, then the 4th and 5th letters (the "condition") of the Q code shall be "CN", 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:

EBNF code
template_cancel = "Obstacle lights" "on" ["VST.BL.group(2)"] ["VST.BL.part.mobile(3)"] "VST.BL.type(4)" ["(" "VST.BL.annotation(5)" ")"] \n
["located at" "VST.BL.annotation(6)"] ["identified as" "VST.BL.name(7)"] "VST.BL.part.horizontalProjection(8)" ("returned to service" | " : New NOTAM to follow(12)").    




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”. 

  • No labels

1 Comment

  1. Obstacle light unservicable - real world NOTAM examples:

    B2231/21 NOTAMR B0725/21 Q) LIBB/QOLAS/IV/M/A/000/999/4226N01411E005 A) LIBP B) 2104191013 C) 2105191200 EST E) OBSTACLE LIGHT UNSERVICEABLE PSN COORD 422505.94N 0141007.29E ELEV AMSL 28.3M/92.8FT REF AOC TYPE B NR BP 3/6

    B0798/21 NOTAMR B0144/21 Q) LTBB/QOLAS/IV/M /E /000/056/4038N03006E001 A) LTBB B) 2104261156 C) 2107261430 EST E) IZMIT TV/FM STATION OBST. LIGHT U/S. OBSTACLE ID : LT ENR B311 ELEV AT TOP/HGT : 1685M/82M COORDINATES : 403833N0300600E REF. : ENR5.4, LT-ENR-OBSTACLES

    A1525/21 NOTAMR A1334/21 Q) ENOR/QOLAS/IV/M /A /000/999/6342N00936E005 A) ENOL B) 2104291036 C) 2106301200 E) OBSTACLE LIGHT KOPPAREN PSN 6348N00946E U/S

    P0794/21 NOTAMN Q) LFRR/QOLAS/IV/M /E /000/006/4659N00138W002 A) LFRR B) 2103181410 C) 2106182359 E) OBSTACLE LIGHT NR E4414 U/S (ONE WINDTURBINE ON TREE) PSN : 465924N 0013814W HEIGHT : 426FT ELEVATION : 508FT.


    D0341/21 NOTAMR D0132/21 Q) LGGG/QOLAS/IV/M /AE/000/999/3725N02457E005 A) LGSO B) 2106181430 C) 2109162059 E) OBSTACLE LIGHT AT COORD: 372429.20N 0245700.58E (NERAIDA HILL) UNSERVICEABLE DUE TO WIP. CAUTION ADVISED.