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 ASE.BL. indicates that the corresponding data item must be taken from the Airspace BASELINE that is created by the Event;

Several NOTAMs possible

Some ATS airspace are established in order to protect flights to/from airports. Depending on size and/or purpose, they serve one or more airports. In exceptional cases, they may impact 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

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:

ASE.BL.type values

Corresponding Q codes























any other



  • the operator shall have the possibility to change the Q code completely (for example, by using "XX").

For each NOTAM that is generated:

  • If Item A contains the designator of one (or more) FIR, insert E.
  • If Item A contains the ICAO code of an airport, insert AE for the first such NOTAM and value A for the rest of the NOTAM.
Lower limit / Upper limit

Apply the common NOTAM production rules for Lower limit / Upper limit.

Geographical reference

Calculate the centre and the radius (in NM) of a circle that encompasses the whole area. Insert these values in the geographical reference item, 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 consists of 3 figures rounded up to the next higher whole Nautical Mile; e.g. 10.2NM shall be indicated as 011.

See also the Note with regard to the risk that the circle/radius does not encompass the whole area, as discussed in the Location and radius common rules for the NOTAM text generation.

Items B, C and D

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

Item D shall be left empty. An eventual schedule shall be decoded in item E.

Item E

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

template = ("ASE.BL.type(1)" ["ASE.BL.name(2)"] ["ASE.BL.designator(3)"] ["(" "class" "ASE.BL.classification" ")"] | "Class" "ASE.BL.classification" "airspace" ["(" "ASE.BL.designator(3)" ")"] ["ASE.BL.name(2)"]) "established within:" "\n" \n
"ASE.BL.geometryComponent.horizontalProjection(4)" ["(" "ASE.BL.annotation(5)" ")"] "," \n "from" "ASE.BL.geometryComponent.lowerLimit(6)" "up to" "ASE.BL.geometryComponent.upperLimit(6)"
{"," "excluding" "ASE.BL.geometryComponent(7)"} "." \n
["\n" "(8)ASE.BL.AirspaceActivation.status" "ASE.BL.AirspaceActivation.timeInterval(9)" "."] \n
["\n" "ASE.BL.AirspaceActivation.annotation(10)" "."]  \n
{"\n" "ASE.BL.annotation(10)" "."}.


Data item (from coding scenario)




If ASE.BL.type does not have the value "CLASS", then use this branch. Otherwise use the other branch, which inserts just the airspace classification.

The area type shall be included according to the following decoding table:


Text to be inserted in Item E














"ATS sector"


"collapsed ATS sector"


"regulated ATS airspace"




"Advisory Area"


"Upper Advisory Area"




"Helicopter Traffic Zone"



any other




If specified, insert here the ASE.BL.name

(3)designatorIf specified, insert here the ASE.BL.designator
(4)horizontal limitThe GML encoding of the horizontalProjection (gml:Surface) (that is part of a BL.geometryComponent with operation="BASE" or not specified), shall be translated into human readable text, using latitude/longitude values.
(5)location noteIf specified, insert here only the ASE.BL.annotation that has propertyName="geometryComponent", which represents the encoding of the "location note" information. Annotations shall be translated into free text according to the decoding rules for annotations.


lower limit, uper limit

Decode the ASE.BL.geometryComponent.lowerLimit/upperLimit (that is part of a ASE.BL.geometryComponent with operation="BASE" or not specified), including reference and unit of measurement, according to the decoding rules for vertical limits


excluded airspace

If specified as a BL.geometryComponent with operation="SUBTR", insert here the designator and the type of the BL.geometryComponent.contributorAirspace. This requires interpreting the xlink:href value in order to recuperate the relevant data from the contributorAirspace BASELINE. If more than one airspace is excluded from the preceding horizontalProjection, then the word "AND" shall be included before the second, third, etc. exclusion.


activation status, schedule
'INTERMITENT'none'Intermittently active'.
'INTERMITENT'one ore more'Intermittently active within the following periods:'
'ACTIVE'one ore more'Active as follows:'
(9)scheduleIf at least one ASE.BL.activation.AirspaceActivation.timeInterval exists (the Event has an associated schedule), then it shall be inserted here according to the general NOTAM conversion rules for Event schedules. Attention: timeInterval(s) that appear as child of ASE.BL.activation.AirspaceActivation with status=INACTIVE shall not be translated (because this was created for the completeness of the digital data encoding, see rule ER-05)


controlling unit note, (other) note

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

Items F & G

Items F and G shall be left empty. The vertical limits are part of item E.

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:

template_cancel = ("ASE.BL.type(1)" | "Class" "ASE.BL.classification" "airspace") ["(" "BL.designator(3)" ")"] ("cancelled." | " : New NOTAM to follow.(10)").




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

On this page

  • No labels