...
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:
...
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.
Item A
The item A shall contain the AHP.BL.designator if AHP.BL.locationIndicatorICAO='YES'. Otherwise, the nationality letter(s) as defined in ICAO Doc 7910 followed by “XX” or “XXX”.
Q code
The following mapping shall be used:
...
Availability.usage
...
Corresponding Q codes
...
none specified
...
QMNLC
...
there exist associated ApronAreaUsage.type PERMIT or CONDITIONAL
...
QMNLT
Insert QMNLC
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 APN.TD.availability.ApronAreaAvailability.timeInterval or APE.TD.availability.ApronAreaAvailability.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 {{Item D, E - Schedules}}. Otherwise, item D shall be left empty.
Item E
If apron elements are used, the automatic generation of an easy human-readeable NOTAM text is practically impossible using just the AIXM encoding. Some pre-defined groups of ApronElements could be pre-defined in the application, which would then generate directly the desired text, such as "between A and C", "between A and D", etc. This is considered a limitation of this scenario - although the Digital NOTAM is accurate, the NOTAM text but cannot be automatically re-generated by the end user based on just the AIXM code.
The following pattern should be used as a base for generating the E field text from the AIXM data:
old:
new:
Code Block | ||||
---|---|---|---|---|
| ||||
old: template = ["(1)" "AHP.BL.type (2)" ("AHP.BL.name (3a)" | "AHP.BL.ARP (3b)")] \n "Apron" "APN.BL.name" ["(4)" ("," | "and")] {"APN.BL.name" ["(4)" ("," | "and")]} \n "closed" [ "due to" "APN.TD.availability.annotation (5)"]\n ["(6)" "\n" "except" ["APN.TD.usage.PPR(7)"] ["APN.TD.usage.flight(8)"] ["APN.TD.usage.aircraft(9)"]["flights"] {"(10)" "," ["APN.TD.usage.PPR(7)"] ["APN.TD.usage.flight(8)"] ["APN.TD.usage.aircraft(9)"]["flights"]} ] \n {"\n" "APN.TD.availability.annotation(11)" "."} ["."]. new: template = ["(1)" "AHP.BL.type (2)" ("AHP.BL.name (3a)" | "AHP.BL.ARP (3b)")] \n "Apron (4)" "APN.BL.name" ["(5)" ("," | "and")] {"APN.BL.name" ["(5)" ("," | "and")]} \n "closed" [ "due to" "APN.TD.availability.annotation (6)"]\n ["(7)" "\n" "except" ["APN.TD.usage.PPR(8)"] ["APN.TD.usage.flight(9)"] ["APN.TD.usage.aircraft(10)"]["flights"] {"(11)" "," ["APN.TD.usage.PPR(8)"] ["APN.TD.usage.flight(9)"] ["APN.TD.usage.aircraft(10)"]["flights"]} ] \n {"\n" "APN.TD.availability.annotation(127)" "."} ["."]. |
Reference | Rule | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(1) | If AHP.BL.locationIndicatorICAO=YES, then ignore this branch. | ||||||||||||||||||
(2) | Insert here the type of the airport decoded as follows
| ||||||||||||||||||
(3) | a. If AHP.BL.name is not NIL, then insert it here. Otherwise b. 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) | For the potential applications/implementations - the word "APRON" may appear twice depending on the coded APN.BL.name (e.g. APRON MILITARY APRON or APRON APRON A1). Caution shall be exercised for NOTAM production to avoid possible duplications. | ||||||||||||||||||
(5) | If more than one apron has a TEMPDELTA associated with the Event, then insert the designator of each additional apron designator preceded by ",". Insert "and" before the last entry. | ||||||||||||||||||
(6) | If there exists a APN.TD.availability.annotation having propertyName="operationalStatus" and purpose="REMARK", then translate it into free text according to the decoding rules for annotations. | ||||||||||||||||||
(7) | If there exist one or more TD.availability.usage then decode them following this branch, in the following order of priorities:
| ) | If TD.usage.priorPermission is not NIL, then insert here the decoding of the PPR information as detailed in the following diagram:
| (9) | |||||||||||||||
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) | ||||||||||||||||||
FlightCharacteristics.rule | Text to be inserted in Item E | ||||||||||||||||||
IFR | "IFR" | ||||||||||||||||||
VFR | "VFR" | ||||||||||||||||||
ALL* | "IFR/VFR" | ||||||||||||||||||
OTHER:MY_TEXT | "my text" (replace "_" with blanks) | ||||||||||||||||||
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) | ||||||||||||||||||
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) | ||||||||||||||||||
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" | ||||||||||||||||||
OTHER:MY_TEXT* | "my text" (replace "_" with blanks) | (10) | |||||||||||||||||
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* | "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) | ||||||||||||||||||
AircraftCharacteristics.engine | Text to be inserted in Item E | ||||||||||||||||||
JET | "jet acft" | ||||||||||||||||||
PISTON | "piston acft" | ||||||||||||||||||
TURBOPROP | "turboprop acft" | ||||||||||||||||||
ELECTRIC** | “electric engine acft” | ||||||||||||||||||
ALL | "all engine types" | ||||||||||||||||||
OTHER:MY_TEXT | "my text" (replace "_" with blanks) | ||||||||||||||||||
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) | ||||||||||||||||||
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) | ||||||||||||||||||
(11) | 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. | ||||||||||||||||||
(12) | Annotations of TD.ApronAreaAvailability 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 {{Event updates 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 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 “XX” shall be used..
Code Block | ||||
---|---|---|---|---|
| ||||
template_cancel = ["(1)" "AHP.BL.type (2)" ("AHP.BL.name (3a)" | "AHP.BL.ARP (3b)") ] "\n" \n "Apron" "APN.BL.name" ["(4)" ("," | "and")] {"APN.BL.name" ["(4)" ("," | "and")]} "resumed normal operations." ["New NOTAM to follow.(128)"]. |
The following pattern should be used for automatically generating the E field text from the AIXM data
Reference | Rule |
(128) | If the NOTAM will be followed by a new NOTAM concerning the same situation, then the operator shall have the possibility to specify "New NOTAM to follow" and this text shall be appended at the end of item E of the NOTAM C. Note: in this case, the 4th and 5th letters of the Q code shall also be changed into “XX” |