Top Sky Plugin For Euro Scope Developer Guide

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 46

DownloadTop Sky Plugin For Euro Scope - Developer Guide
Open PDF In BrowserView PDF
TopSky plugin for EuroScope
- version 2.2.1 -

Developer Guide

Table of Contents
1

EuroScope setup ............................................................................................................................. 3
1.1

2

General Settings ................................................................................................................................ 3

1.1.1

Display options .......................................................................................................................... 3

1.1.2

TAG display options ................................................................................................................... 3

1.1.3

Miscellaneous options ............................................................................................................... 3

1.2

Display settings dialog ....................................................................................................................... 3

1.3

Symbology dialog............................................................................................................................... 4

1.3.1

Colors ......................................................................................................................................... 4

1.3.2

Symbols...................................................................................................................................... 4

1.4

Plug-ins Dialog ................................................................................................................................... 4

1.5

Conflict Alert Settings Dialog ............................................................................................................. 4

1.5.1

STCA Lower altitude .................................................................................................................. 4

1.5.2

STCA Higher level ....................................................................................................................... 4

1.5.3

MTCA options ............................................................................................................................ 4

1.6

Plugin data files and internal settings ............................................................................................... 5

1.7

TAG editor.......................................................................................................................................... 6

1.7.1

General ...................................................................................................................................... 6

1.7.2

Tagging levels............................................................................................................................. 6

1.7.3

Filtering ...................................................................................................................................... 6

External data files ........................................................................................................................... 7
2.1

TopSkyAirspace.txt ............................................................................................................................ 8

2.2

TopSkyAreas.txt ............................................................................................................................... 10

2.3

TopSkyAreasManualAct.txt ............................................................................................................. 15

2.4

TopSkyCPDLC.txt.............................................................................................................................. 16

2.5

TopSkyCallsigns.txt & TopSkyCallsignsLocal.txt............................................................................... 19

2.6

TopSkyMaps.txt & TopSkyMapsLocal.txt ........................................................................................ 20

2.7

TopSkyMSAW.txt ............................................................................................................................. 28

2.8

TopSkyRadars.txt ............................................................................................................................. 30

2.9

TopSkySettings.txt & TopSkySettingsLocal.txt ................................................................................ 32

2.10

TopSkySSRcodes.txt ......................................................................................................................... 33

2.11

TopSkySTCA.txt ................................................................................................................................ 41

2.12

TopSkySymbols.txt........................................................................................................................... 44

2.13

TopSkyViews.txt .............................................................................................................................. 46

1 EuroScope setup
This chapter is meant as a guide for users who either didn’t get the plugin as a part of a package including
all the settings files, or who want to create their own setup.
To load the plugin and setup EuroScope to make the most out of it, use the following settings in the
EuroScope settings dialogs. Settings not mentioned shouldn’t make any difference. Remember to save the
settings when exiting ES. Use of the plugin file must be saved to each profile file separately for it to be
loaded automatically.

1.1 General Settings
1.1.1
-

Display options
Show route when accepting
Lock show route when accepting
Rotate radar target symbol
Rotate flight plan track symbol
Show CLAM warnings
Show RAM warnings

Off
Off
Off
Off
On
On

The plugin uses its own route display and the default plugin track labels don’t offer any way of hiding the ES
route display so the first two should be selected off. If both settings are left “on” and the track labels are
not modified, the radar screen will soon be filled with aircraft routes with no way to remove them. The
CLAM and RAM warning settings also affect the plugin. If they are selected off, the plugin can’t show the
warnings either.
1.1.2
-

TAG display options
Allow correlated aircraft tag untagged
Allow concerned aircraft tag untagged
Allow assumed aircraft tag untagged
Show detailed over untagged

On
Off
Off
On

These settings are needed to display the correct type of track label for each aircraft.
1.1.3
-

Miscellaneous options
Keep scratch pad content after direct

On

The plugin stores the manual alerts in the scratch pad. If this setting is selected off and a direct clearance is
given, any manual alerts are removed as a result.

1.2 Display settings dialog
-

Number of history dots
Do not display aircraft below
Do not display aircraft above
Show leader lines

0
0
0
Off

feet
feet

The plugin draws its own custom history dots and leader lines so the ES default ones must be selected off.
Similarly, the plugin has its own altitude filtering settings, so the ES filters should be off.
3

1.3 Symbology dialog
1.3.1 Colors
Whether to use the transparency settings is up to the user, and their colors should be set as desired. The
plugin colors determine the track label color but the EuroScope defined color is used to draw the leader
line between the position symbol and the label. The “Colors” chapter in the localization part of the manual
shows some colors having a corresponding ES color. In those cases the plugin and ES colors should be set to
the same value.
“Other/normal menu item” and “Other/disabled menu item” should be different colors to be able to see
disabled menu items in the setup menus.
“Sector/active sector background” and “Sector/inactive sector background” should be chosen so that all
plugin colors can be seen. Medium grey colors work well with the default plugin colors but anything can be
used as long as the plugin colors are taken into account and changed accordingly.
1.3.2 Symbols
The “Aircraft primary radar only”, “Aircraft flight plan track”, “Aircraft coasting”, “History dot” and all
entries beginning with “Aircraft corr.” or “Aircraft uncorr.” are drawn by the plugin and should be set to
“MOVETO 0 0” only. All other symbols are drawn by ES and should be set as desired.

1.4 Plug-ins Dialog
Load the plugin file (TopSky.dll). After loading it, highlight its name (“TopSky plugin”) in the list and move
“Standard ES radar screen” from the “Forbidden to draw on types” box to the “Allowed to draw on types”
box.

1.5 Conflict Alert Settings Dialog
The plugin has its own STCA and MTCD systems and doesn’t use the ES default ones. Selecting the below
settings will disable the warnings from the ES default systems.
1.5.1
-

STCA Lower altitude
Show lower altitude STCA

Off

1.5.2
-

STCA Higher level
Show higher level STCA

Off

1.5.3
-

MTCA options
Warn if vertical separation is less
Warn if horizontal separation is less

0
0

feet
nm

4

1.6 Plugin data files and internal settings
The plugin comes with some pre-defined setups, but it is possible to adjust hundreds of different settings
using the settings files. This makes it possible to update the existing setups and to create completely new
ones. Even though the ranges of acceptable values have been limited to prevent major problems, care
should be taken when adjusting any settings as the results can be unexpected.
When creating a new setup, only the TopSkyCallsigns.txt and TopSkyCallsignsLocal.txt data files can be
used from an old setup, as they contain only general callsign data that can be used anywhere. All the other
data files contain information specific to the original setup, and should not be used.
Some setup-specific plugin settings are listed below. At least these settings should be looked at when
creating a new setup, but many of the others are important too. However, never change a setting without
understanding what it does.

Setup_COOPANS

Define which of the two plugin types to activate (A or B)

Airspace_C_Flag
Airspace_C_No_Flag

Define the list of clearance flag airports

Airspace_P_Flag
Airspace_P_No_Flag

Define the list of P-RNAV airports (plugin type B only)

Airspace_ASSR_Type
Airspace_ASSR_StartCode
Airspace_ASSR_EndCode

Define the transponder code ranges

Airspace_No_DUPE_Codes Define the transponder codes that do not produce a DUPE alert
Airspace_SIGMET_Areas
Define airspace information for the SIGMET/NOTAM functions
Airspace_NOTAM_Add
Airspace_NOTAM_Remove

5

1.7 TAG editor
To make the plugin work as it’s supposed to, there are some rules that need to be followed when creating
the tag families:
1.7.1
-

-

1.7.2
-

-

1.7.3
-

General
For every correlated and flight plan track tag type:
o The untagged and tagged tags must contain the “Dummy item – not detailed tag” item
o The detailed tag must contain the “Dummy item – detailed tag” item
Tag items marked “(0-1)” are only displayed when the track is unconcerned or notified, items with
“(2+)” when the track is in any other state. Other items are shown in all states.
A couple of the indicator items have an “(inactive)” version as well. Both can be used in the same
tag, as only one of them will be shown (the inactive version can then be used to toggle the indicator
back to active state if required).
Tagging levels
When a tag item has an “(unselected track)” variant, it should be used in the untagged and tagged
tagging levels, and the normal variant in the detailed tagging level. For tag items without specific
variants, the normal variant can be used in all tagging levels.
Items beginning with “ET” should be used in the detailed tagging level (they are only displayed in
the extended label which is a sublevel of the detailed tagging level in the plugin, displayed by the
“Open extended tag” function). Items with “(not ET)” will not be shown in the extended label.
Other items are displayed in both the normal detailed tag and the extended label.
Filtering
Items beginning with “List” should be used only in flight lists, other items only in tags (“List” items
are not hidden when a label is subject to filtering, the other ones are)
Tags should be constructed only from TopSky plugin items. If this is not possible, the plugin’s label
filtering functionalities may not work as they can only toggle the visibility of its own tag items.

6

2 External data files
This chapter gives guidance on developing the external data files used by the plugin for various features.
Even though the plugin does its best to check the data for errors, some errors may get through and cause
all kinds of issues, possibly leading to ES crashing, so it’s important to be careful to provide correctly formed
data when creating the files. Errors found in the data files by the plugin can be seen in the “Plugin Status”
submenu. It is found in the “Status” or “STS” menu depending on the plugin version.
To reload a data file, left-click on the “Reload” button. Some of the data can also be visually checked for
correctness by left-clicking the “View” button. The areas will then be shown on the radar screen.

7

2.1 TopSkyAirspace.txt
The file contains the QNH value to transition level tables for the QNH/TL Window and any custom runway
approach lines (i.e. starting point not on the runway threshold and/or approach course not aligned with the
runway centerline) and lists of custom level menu values.
For the QNH/TL tables, the file is read one line at a time and the first matching line will be used. The
following example shows a possible setup:
// Made up lines…
QNHTL:XBZZ:80
QNHTL:XB,XC:80,978,75,996,70

Comment
QNHTL
QNHTL

For the runway approach lines, any lines defined here will override the corresponding lines automatically
created from the sector file data. The following line shows an example:
APPLINE:EFHK:15:153.4:HEL

AppLine

For the custom level lists, the file is read one line at a time and the first matching line will be used. The
following example shows a possible setup:
LEVELS:EETN:22,25,32,35,50
LEVELS:*:15,20,30

LEVELS
LEVELS

QNHTL
QNHTL:ICAOlist:TL
QNHTL:ICAOlist:TL1,QNH1,TL2,QNH2, … ,TLn,QNHn,TLn+1
Defines a variable transition level based on the QNH value for the specified airports.
-

ICAOlist

-

TLn
QNHn

List of airport ICAO designators, separated by commas (“,”). Either complete
designators or one to three first letters of the designator.
Transition level value (text string, will be displayed exactly as written)
QNH value (integer value, see also below)

The first definition sets a fixed transition level, while the second one creates a table of transition levels
based on QNH values.
The QNH value must be in the same format as in the METAR. If the METAR reports the QNH in hPa (Qxxxx),
the values in the list must be in hPa as well. If the METAR reports the QNH in inHg (Axxxx), the values in the
list must be in inHg*100.
The TL/QNH list must contain one or more pairs of TL and QNH values followed by a TL value in the end.
The transition level is found in the following way: the actual QNH value found in the METAR is compared
against the values in the list, from left to right. If the actual QNH is less than the list value, the
corresponding TL value (the one before the QNH value) is used. If not, the next QNH value in the list is

8

checked and so on. If the actual QNH value is equal to or greater than all the values in the list, the TL value
after the last QNH value in the list (TLn+1) is used.

AppLine
APPLINE:AirportCode:Runway:AppCourseT:PointName
APPLINE:AirportCode:Runway:AppCourseT:Lat:Lon
Defines a runway approach line with a specified approach course and end point (either as a point name or
coordinates). By default approach lines are created for all runways in the active sector file with the
approach courses set on the extended runway center lines and ending at the runway thresholds. If a
runway needs some other approach line instead, it can be defined here. Any runway approach line defined
here will override the plugin created default one for the same runway.
-

AirportCode
Runway
AppCourseT
PointName
Lat
Lon

The airport ICAO code
The runway identifier
The approach track (degrees true, decimal value)
Fix, VOR, NDB, airport code or runway (must be found in the active sector file)
Endpoint Latitude (decimal degrees or sector file format)
Endpoint Longitude (decimal degrees or sector file format)

Note: the syntax to define a runway threshold as a PointName is the 4-letter ICAO airport designator
followed by a forward slash and the runway identifier.

Levels
LEVELS:AirportCode:LevelList
Defines a custom level list to be used in all plugin level menus (AFL, CFL and RFL). The list here overrides the
default list values up to the highest value in the custom list, whichafter the default list takes over. The
airport code is compared against the login callsign, and if a matching list is found, it will be used. In case a
matching list is not found, the code then compares the lists against the aircraft’s departure airport until
more than 1/3 of the way to the destination, and then against the destination airport.
-

AirportCode

-

LevelList

The airport ICAO code. “*” matches any airport, other wildcards are not
supported
Comma-separated list of levels (in 100’s of feet, range 1-999)

9

2.2 TopSkyAreas.txt
This file contains the areas for the APW and SAP functionality as well as the MTCD and STCA inhibit areas.
The following example area is used to show the syntax (optional lines in grey color).
CATEGORYDEF:D:7:0:5:0:0:0

CategoryDef

// EF D101 Isosaari
AREA:T:EFD101
CATEGORY:D
ACTIVE:NOTAM:EFIN:EF D101
ACTIVE:NOTAM:EFIN:EFD101
LABEL:N059.55.08.817:E025.07.08.496:D101
LIMITS:0:390
N059.56.20.000 E025.16.53.000
N059.54.15.000 E025.15.06.000
N059.53.27.000 E024.59.49.000
N059.56.36.000 E025.10.10.000

Comment
Name
Category
Active
Active
Label
Limits
Coordinate
Coordinate
Coordinate
Coordinate

CategoryDef
CATEGORYDEF:Name:ActBorderColor:ActFillColor:ActFillPattern:PreBorderColor:PreFillColor:PreFillPattern
CATEGORYDEF:Name:ActBorderColor:ActFillColor:ActFillPattern:PreBorderColor:PreFillColor:PreFillPattern:LabelNa
me:LabelMapText:LabelUserText:LabelLevels:LabelTimes

This line defines the display colors for an area category. The default border color is Active Map for unfilled
and Active RD Map for filled areas. The default fill color is Active RD Infill Map, and the fill percentage that
was used in previous plugin versions is 50. If the label settings are left out, the default settings are used.
-

Name
ActBorderColor

-

ActFillColor

-

ActFillPattern

-

PreBorderColor
PreFillColor
PreFillPattern
LabelName
LabelMapText
LabelUserText
LabelLevels
LabelTimes

Name for the category (text string)
Active area border color
 0
use default color
 1-20
custom color (Active Map Type X)
Active area fill color (values as in ActBorderColor)
 0
use default color
 1-20
custom color (Active Map Type X)
Active area fill pattern
 0
no fill
 5, 10, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90, 100
percentage to fill
Pre-active area border color (values as in ActBorderColor)
Pre-active area fill color (values as in ActFillColor)
Pre-active area fill pattern (values as in ActFillPattern)
Show area name in area label (1=yes, 0=no)
Show map text in area label (1=yes, 0=no)
Show user text in area label (1=yes, 0=no)
Show area level limits in area label (1=yes, 0=no)
Show area activation times in area label (1=yes, 0=no)
10

Name
AREA:AreaType:AreaName
The first line for each area definition must be a name line. Type S areas will appear in the Safety Nets Status
Window, type M areas in the MTCD Status Window and the other types are in the TSA Areas window.
-

AreaType

-

AreaName

Area type (one or more of the following):
 T
(TSA area)
 1, 2, 3, 4 or 5
(TSA area)
 1F, 2F, 3F, 4F or 5F
(TSA area)
 M
(MTCD inhibit area)
 S
(STCA inhibit area)
Area name to identify it in the areas window (text string)

TSA area types 1F-5F are filled, 1-5 are not (the number defines the area border color). For area type T the
colors and filling are defined in a Category line. If a category line is not defined for a type T area, the area is
not filled and a default border color is used. For compatibility with earlier plugin versions, area types D and
R are also supported (they are TSA areas that are filled)
Area type T and the category definitions are meant to be used with plugin type A and area types 1-5 and
1F-5F with plugin type B , but their use is not restricted by the code.

Category
CATEGORY:Name
The category line is optional. It defines the display colors for type T areas.
-

Name

Category name (must have been defined earlier in the file)

Label
LABEL:Lat:Lon:LabelText
The label line is optional. It displays the area name and/or altitude limits on the radar display.
-

Lat
Lon
LabelText

Latitude for the label (decimal degrees or sector file format)
Longitude for the label (decimal degrees or sector file format)
The label text (text string)

11

Active
ACTIVE:1
ACTIVE:SchedStartDate:SchedEndDate:SchedWeekdays:StartTime:EndTime[:Lower:Upper:UserText]

ACTIVE:NOTAM:Icao:Text
ACTIVE:RWY:ARR:ArrRwyList:DEP:DepRwyList
The active line is optional. If there is no active line, the area will not be automatically activated. An area can
contain more than one active line; the plugin will check all of them to set the activation status.
The first option will activate the area automatically without any time limits when the plugin is loaded. Note
that this option cannot be used together with other ACTIVE lines as it would override any other schedule.
The second option can be used to set activation schedules.
-

SchedStartDate

-

SchedEndDate
SchedWeekdays

-

StartTime
EndTime
Lower
Upper
UserText

First day to activate the area
 month and day in the format MMDD (for recurring periods every year)
 year, month and day in the format YYMMDD (for a single period)
Last day to activate the area, formats as above
Days of the week to activate the area
 list of numbers representing the days to activate the area, for example
“145” means the area will activate on Mondays, Thursdays and Fridays
 “0” (zero) to activate the area continuously from StartTime on
SchedStartDate to EndTime on SchedEndDate
Time to activate the area (UTC time in the format HHMM)
Time to deactivate the area (UTC time in the format HHMM)
Lower limit for the area (feet, 0-99900)
Upper limit for the area (feet, 0-99900)
Displayed user text string

Note: SchedEndDate and SchedWeekdays only limit the activation of the area. If the activation time extends
past midnight, the area stays active until EndTime on the following day. Lower, Upper and UserText
are optional fields. If any of them are specified, all the preceding fields must be included as well (i.e. if
UserText is specified, both Lower and Upper must also be).
The third option activates the area based on NOTAM information. The plugin searches for NOTAMs for the
given ICAO code that contain the given text (and the text “ ACT”). If those are found, the plugin attempts to
set the activation schedule based on the other contents of the NOTAM.
-

Icao
Text

ICAO location indicator that publishes activation NOTAMs for the area
Text to search for in the NOTAM

The fourth option activates the area based on active runways. If all the specified runways are active, the
area is activated. If even one of them is not, the area will be deactivated. The runway identifiers must be in
the format “<4-letter ICAO code>”, for example “EFHK15”.
-

ArrRwyList
DepRwyList

Comma-separated list of runways. Enter “*” to allow any runway.
Comma-separated list of runways. Enter “*” to allow any runway.
12

Bound
BOUND:C:Lat:Lon:Radius
The bound line is optional but highly recommended for areas that are circle-shaped. It increases the
accuracy of the calculation while at the same time reducing the amount of calculations required, giving
both an accuracy and a performance gain to the plugin.
The bound line should only be used for areas that are circles. The “Lat” and “Lon” coordinates (decimal
degrees or sector file format) define the center point and the “Radius” (nautical miles, decimal number) the
radius of the circle. The information is used to check if the aircraft is inside the area, but also the coordinate
lines are still needed as they are used to draw the area on the screen (the coordinates will not be used for
any calculations so make sure you only use this line for circular areas!).

Limits
LIMITS:Altmin:Altmax
The limits line is optional. It defines the default vertical limits of the area (in hundreds of feet). They can be
changed as required in the area windows. When an area without default vertical limits is activated, its limits
will be set to 0 and 999 (from 0ft to FL999). Those are also the minimum and maximum allowed values.

NoAPW
NOAPW
The optional NoAPW line inhibits APW warnings for the area.

APW_Buffer_Lat
APW_BUFFER_LAT:BufferU:BufferLI:BufferLV
The optional APW_Buffer_Lat line can be used to override the default lateral buffers applied to the area for
APW processing. The first value is used above the setting value “APW_Buffer_Lat_SepLevel”, the others at
or below it.
-

BufferU
BufferLI
BufferLV

High level buffer (nautical miles, decimal value, range 0.0-999.0)
Low level buffer for IFR flights (nautical miles, decimal value, range 0.0-999.0)
Low level buffer for VFR flights (nautical miles, decimal value, range 0.0-999.0)

APW_Buffer_Vert
APW_BUFFER_VERT:BufferU:BufferLI:BufferLV
The optional APW_Buffer_Vert line can be used to override the default vertical buffers applied to the area
for APW processing. The first value is used above the minimum RVSM level, the others at or below it.
-

BufferU
BufferLI
BufferLV

High level buffer (feet, integer value, range 0-9999)
Low level buffer for IFR flights (feet, integer value, range 0-9999)
Low level buffer for VFR flights (feet, integer value, range 0-9999)
13

NoSAP
NOSAP
The optional NoSAP line inhibits SAP warnings for the area.

SAP_Buffer_Lat
SAP_BUFFER_LAT:BufferU:BufferLI:BufferLV
The optional SAP_Buffer_Lat line can be used to override the default lateral buffers applied to the area for
SAP processing. The first value is used above the setting value “SAP_Buffer_Lat_SepLevel”, the others at or
below it.
-

BufferU
BufferLI
BufferLV

High level buffer (nautical miles, decimal value, range 0.0-999.0)
Low level buffer for IFR flights (nautical miles, decimal value, range 0.0-999.0)
Low level buffer for VFR flights (nautical miles, decimal value, range 0.0-999.0)

SAP_Buffer_Vert
SAP_BUFFER_VERT:BufferU:BufferLI:BufferLV
The optional SAP_Buffer_Vert line can be used to override the default vertical buffers applied to the area
for SAP processing. The first value is used above the minimum RVSM level, the others at or below it.
-

BufferU
BufferLI
BufferLV

High level buffer (feet, integer value, range 0-9999)
Low level buffer for IFR flights (feet, integer value, range 0-9999)
Low level buffer for VFR flights (feet, integer value, range 0-9999)

NoMSAW
NOMSAW
The optional NoMSAW line inhibits MSAW warnings inside the area.

Coordinate
Lat Lon
Each area definition must have at least three coordinate lines (three points being the minimum required to
create a closed area, a triangle). There is practically no upper limit for the number of coordinate points, but
as the required calculations increase proportionally to the number of points, it’s best to keep the areas
simple. The latitude and longitude values must be either in decimal degrees or in the sector file format and
there must be one or more spaces between them. There may also be one or more spaces in the beginning
of the line before the latitude value so it should be relatively easy to create areas from the REGIONS part of
a sector file.

14

2.3 TopSkyAreasManualAct.txt
This file can be used to temporarily clear all defined activation rules and/or add new ones to the areas
defined in the TopSkyAreas.txt file. If the file is present, the plugin will display a message box to the user as
a reminder about the non-standard configuration.
To clear all existing rules, use the following syntax:

CLEAR_ALL
AreaName:CLEAR
-

AreaName

Area name as specified in TopSkyAreas.txt

“CLEAR_ALL” clears all rules from all areas, whereas the second option allows to clear rules for single areas.
Note that if you are adding new rules as well, they must be defined after this line, otherwise they’ll get
wiped out as well. The “CLEAR_ALL” keyword should therefore generally be the first line in the file when it’s
used, and the “AreaName:CLEAR” the first line that references the area in question.
To set the area to manual activation mode, use the following syntax:

MANUAL_ALL
AreaName:MANUAL
-

AreaName

Area name as specified in TopSkyAreas.txt

“MANUAL_ALL” sets all areas to manual mode but retains all defined activation schedules, whereas the
second option allows setting the mode for single areas. If any activation rules are added after these lines,
the areas will revert back to automatic mode. Therefore the “MANUAL_ALL” keyword should generally be
the last line in the file if it’s used, and “AreaName:MANUAL” the last line that references the area in
question.
When going through the file, if an area is set to manual mode and its last defined activation period is a
single period (i.e. SchedWeekdays is “0”), the area is set to activate according to that period.
To add new rules, all the “ACTIVE” line types from TopSkyAreas.txt can be used. The only difference in the
syntax is that in the place of the “ACTIVE” keyword, the area name must be used:

AreaName:1
AreaName:SchedStartDate:SchedEndDate:SchedWeekdays:StartTime:EndTime[:Lower:Upper:UserText]

AreaName:NOTAM:Icao:Text
AreaName:RWY:ARR:ArrRwyList:DEP:DepRwyList
-

AreaName
Other fields

Area name as specified in TopSkyAreas.txt
See TopSkyAreas.txt “ACTIVE” line types

15

2.4 TopSkyCPDLC.txt
This file contains data for the CPDLC system. It defines the departure clearance format(s) and pre-defined
CPDLC free text items that are available and connects controller position IDs to CPDLC logins.

Departure clearance format definition
DCL:EFHK:SID: PDC  . . . . . CLD    PDC
  CLRD TO  OFF  VIA  DCT  SQUAWK 
  

Type:Adep:Subtype:Text
-

Type

-

Adep

-

Subtype

-

Text

One of the following:
 DCL
DCL type message (other than US)
 DCL_US
DCL type message used in USA
 PDC
PDC type message
Comma-separated list of departure airport ICAO codes
(or “*” to match any airport)
One of the following:
 AHDG
match when aircraft has an assigned heading
 SID
match when aircraft has a SID
 AHDG+SID match when the aircraft has both
 *
always match
The clearance message that is sent

Note that if both “AHDG” and “AHDG+SID” formats are defined for an airport with automatically assigned
SIDs, the “AHDG” format will only be used when a SID isn’t automatically assigned (an automatically
assigned SID cannot be removed without changing the flight plan to prevent the automatic assignment).
As an airport typically provides either DCL or PDC (or PDC and DCL_US) type clearances, both DCL and PDC
types should not be defined here for any airport. They are requested using the same message format, and if
both clearance types are defined, the plugin won’t know which one to send. Having both PDC and DCL_US
for one airport is OK as they are requested with different messages.
The first definition line that matches both the Adep and Subtype will be used. The Text can contain some
data fields that are automatically filled by the plugin. Some are highlighted in Project A330 DCDU, one of
the choices for CPDLC software for pilots:
Data fields that are not highlighted:
-








current UTC year
last two digits of the current UTC year
current UTC month (three characters: “JAN”, “FEB”, etc.)
current UTC month (two digits)
current UTC day (two digits)
hours of the current UTC time (two digits)
16

-







minutes of the current UTC time (two digits)
seconds of the current UTC time (two digits)
current UTC weekday (three characters: “MON”, “TUE”, etc.)
running number of sent PDCs (three digits)
departure airport ICAO code

Data fields that are highlighted in DCL and DCL_US clearances:
-



























callsign of the aircraft
departure airport ICAO code
destination airport ICAO code
departure runway identifier
assigned heading (three digits)
assigned heading (“HDG xxx”) or track (“TRACK xxx”)
SID identifier
next route point
SID identifier, a blank space and the next route point
controller primary frequency
“NEXT FREQ ” + next frequency
“REPORT READY ON ” + next frequency
“DEPARTURE FREQ ” + departure frequency
cleared altitude/FL
requested altitude/FL
exit coordination point
assigned transponder code (four digits)
estimated off-blocks time (four digits)
actual off-blocks time (four digits)
same as , except displays “MDI” if equal to estimated off-blocks time
either “START-UP APPROVED” or “REPORT READY ON ” + next frequency
“QNH ” + the QNH value (3-4 digits), nothing printed if unavailable
same as  but always with four digits
“Q” + the QNH value (four digits), nothing printed if unavailable
remarks text

One special field exists. The entire message is always sent to the aircraft, but if the Text contains the field
“”, only the part after it will be shown in the plugin’s CPDLC message windows.
Highlighted items should have some text between them to work correctly unless the second item contains
static text before the actual highlighted value. In cases where no text is desired between items, the
underscore character “_” works well and shows as a blank space in the current pilot clients. Creating the
clearance formats usually requires some testing to get them right.

17

CPDLC free text definition
FREETEXT:ReplyType:Text
-

ReplyType

-

Text

The reply expected from the aircraft. One of the following:
 WU
“WILCO” or “UNABLE”
 AN
“AFFIRM” or “NEGATIVE”
 R
“ROGER”
 NE
no reply expected
The message text that is sent

CPDLC login definition
LOGIN:Login:RadioCall:ControllerID
-

Login
RadioCall
ControllerID

The CPDLC login to match with the controller ID
The RTF callsign used by the controller
The controller ID to match with the CPDLC login

As there is no way to match a controller to a CPDLC login automatically, this list is used. It follows that it’s
very important to use only agreed CPDLC logins for the CPDLC connection handovers to work properly.

18

2.5 TopSkyCallsigns.txt & TopSkyCallsignsLocal.txt
These files contain the radiotelephony callsigns to be displayed in the track labels. By default, if an identifier
is found in both files, the information in the “TopSkyCallsigns.txt” file is used. The following example line
shows the syntax:

AAB

Abelag Aviation

ABG

Callsign definition

The format of the files is the same as in the “ICAO_Airlines.txt” file provided with EuroScope. Only one
callsign must be defined per line.

Callsign definition
ThreeLetterIDOperatorNameCallsign
-

ThreeLetterID
OperatorName
Callsign

Three-letter designator in the flightplan
Name of the operator (not used, but must contain something)
Radiotelephony callsign

19

2.6 TopSkyMaps.txt & TopSkyMapsLocal.txt
These files contain the definitions for the maps in the Maps Window. The difference is that the maps in the
“Local” file are automatically assigned to a folder named “LMAPS” and any map folder names in that file are
disregarded. The following example area is used to show the syntax (optional lines in grey color):

COLORDEF:Approach:255:255:255

Color definition

SYMBOLDEF:Fix1
MOVETO:-4:3
LINETO:0:-4
LINETO:4:3
LINETO:-4:3

Symbol definition
Moveto
Lineto
Lineto
Lineto

// EFKU VOR app rwy 15
MAP:EFKU VOR 15
FOLDER:IAP
COLOR:Approach
LINE:N063.01.03.067:E027.47.04.942:N063.11.03.016:E027.39.18.377
LINE:N063.01.22.882:E027.49.09.775:N063.00.43.220:E027.45.00.157
LINE:N063.06.39.890:E027.45.04.332:N063.06.00.228:E027.40.53.958
STYLE:Dot:1
LINE:N063.01.03.067:E027.47.04.942:N062.58.47.170:E027.48.49.840
LINE:N062.58.47.170:E027.48.49.840:N062.54.47.000:E027.53.04.000
SYMBOL:Fix1:N063.06.19.000:E027.43.04.000:ROVSU:20:-10
SYMBOL:Fix1:N062.54.47.000:E027.53.04.000:VEKEM:20:-10

Comment
Name
Folder
Color
Line
Line
Line
Line style
Line
Line
Symbol + label
Symbol + label

The mandatory items for each map are a name, a folder it belongs to in the Maps Window, and a color with
which to draw the items.

Color definition
COLORDEF:ColorName:R:G:B
Every color used in the maps (with some exceptions listed in the COLOR line specification) must be defined
using one of these lines.
-

ColorName
R
G
B

Color name to be used in the Color lines (text string)
Color’s red component value (0-255)
Color’s green component value (0-255)
Color’s blue component value (0-255)

20

Symbol definition
SYMBOLDEF:SymbolName
The first line for each symbol definition must be a name line.
-

SymbolName

Symbol name to use for this symbol in the Symbol lines (text string)

The symbol itself can consist of various elements, drawn by the following lines. The X and Y coordinates are
relative to the symbol centerpoint, with the X axis having increasing values to the right and the Y axis
having increasing values to the down direction. The commands are the same as in the EuroScope
Symbology dialog with the exception of the possibility to draw elliptical arcs and the “:” separating the
values here so the ES dialog can be used in most cases to test the results.

MOVETO:X:Y
Sets the starting point for the next LINETO command
-

X
Y

Number of pixels from the symbol centerpoint in the left(-)-right(+) direction
Number of pixels from the symbol centerpoint in the up(-)-down(+) direction

LINETO:X:Y
Draws a straight line from the previous position
-

X
Y

Number of pixels from the symbol centerpoint in the left(-)-right(+) direction
Number of pixels from the symbol centerpoint in the up(-)-down(+) direction

SETPIXEL:X:Y
Paints the selected pixel
-

X
Y

Number of pixels from the symbol centerpoint in the left(-)-right(+) direction
Number of pixels from the symbol centerpoint in the up(-)-down(+) direction

ARC:X:Y:Radius:StartAngle:EndAngle
ARC:X:Y:RadiusX:RadiusY:StartAngle:EndAngle
Draws a part of a circle
-

X
Y
Radius
RadiusX
RadiusY
StartAngle

-

EndAngle

Centerpoint offset from the symbol centerpoint in the left(-)-right(+) direction
Centerpoint offset from the symbol centerpoint in the up(-)-down(+) direction
Arc radius in pixels (to make a circular arc)
Arc radius in relation to the X axis in pixels (to make an elliptical arc)
Arc radius in relation to the Y axis in pixels (to make an elliptical arc)
Arc starting angle (integer degrees, 0 degrees is at positive X-axis, increasing
counterclockwise)
Arc ending angle (integer degrees, 0 degrees is at positive X-axis, increasing
counterclockwise)

21

FILLARC:X:Y:Radius:StartAngle:EndAngle
FILLARC:X:Y:RadiusX:RadiusY:StartAngle:EndAngle
Otherwise the same as ARC above but the result is filled

POLYGON:X1:Y1: X2:Y2:…: Xn:Yn
Draws a filled polygon with n vertices

Name
MAP:MapName
The first line for each map definition must be a name line. This will identify the map in the Maps Window.
-

MapName

Map name to identify it in the Maps window (text string)

Folder
FOLDER:FolderName
Every map must belong to a folder. There is practically no limit to how many maps a single folder can
contain. The following folder names get special treatment: “ARTCC HIGH”, “ARTCC”, “ARTCC LOW”, “GEO”,
“SID”, “STAR” and “FREE TEXT”. Maps assigned to those folders will not be shown in the Maps Window.
Instead, if sector file items with the same names are found in the active sector file (i.e. a SID named ABC1A
exists in the sector file and a map named “ABC1A” in folder “SID”), the map is assigned as additional data
for that sector file item and activated/deactivated together with it.
-

FolderName

Folder name to identify it in the Maps window (text string)

Note: the folder name may not start with an empty space character, and may not contain the backslash
(“\”) character.

Zoom
ZOOM:ZoomLevel
A whole map or parts of it can be hidden based on the current zoom level. When the radar screen is
zoomed out so that there are less than the specified number of pixels per nautical mile, the lines of the
map definition after this line are not read. There can be more than one zoom line in one map to hide parts
of the map at different zoom levels.
-

ZoomLevel

Radar screen zoom level (pixels per nautical mile, decimal value)

Note: when there is more than one zoom line in a map, their order is important (for example "ZOOM:5" has
to be before "ZOOM:10" to have any effect as with zoom below 10 pix/nm the "ZOOM:5" line will
never be read if it's after the "ZOOM:10" line...)

22

Active
ACTIVE:1
ACTIVE:SchedStartDate:SchedEndDate:SchedWeekdays:StartTime:EndTime
ACTIVE:NOTAM:Icao:Text
ACTIVE:RWY:ARR:ArrRwyList:DEP:DepRwyList
The active line is optional. If there is no active line, the map will not be automatically activated. A map can
contain more than one active line; the plugin will check all of them to set the activation status. The map will
be placed in the “AUTO” folder, a folder name cannot be specified for automatically activating maps.
The first option will activate the map automatically without any time limits when the plugin is loaded. Note
that this option cannot be used together with other ACTIVE lines as it would override any other schedule.
The second option can be used to set activation schedules.
-

SchedStartDate

-

SchedEndDate
SchedWeekdays

-

StartTime
EndTime

First day to activate the map
 month and day in the format MMDD (for recurring periods every year)
 year, month and day in the format YYMMDD (for a single period)
Last day to activate the map, formats as above
Days of the week to activate the map
 list of numbers representing the days to activate the map, for example
“145” means the map will activate on Mondays, Thursdays and Fridays
 “0” (zero) to activate the map continuously from StartTime on
SchedStartDate to EndTime on SchedEndDate
Time to activate the map (UTC time in the format HHMM)
Time to deactivate the map (UTC time in the format HHMM)

Note: SchedEndDate and SchedWeekdays only limit the activation of the map. If the activation time extends
past midnight, the map stays active until EndTime on the following day.
The third option activates the map based on NOTAM information. The plugin searches for NOTAMs for the
given ICAO code that contain the given text (and the text “ ACT”). If those are found, the plugin attempts to
set the activation schedule based on the other contents of the NOTAM.
-

Icao
Text

ICAO location indicator that publishes activation NOTAMs for the map
Text to search for in the NOTAM

The fourth option activates the map based on active runways. If all the specified runways are active, the
map is activated. If even one of them is not, the map will be deactivated. The runway identifiers must be in
the format “<4-letter ICAO code>”, for example “EFHK15”.
-

ArrRwyList
DepRwyList

Comma-separated list of runways. Enter “*” to allow any runway.
Comma-separated list of runways. Enter “*” to allow any runway.

23

Color
COLOR:ColorName
COLOR:ColorName:FillColorName
Every map must have at least one color line. It sets the color to be used to draw the subsequent drawings.
Each line, symbol, etc. within a map can be drawn with a different color simply by including a new color line
when a color change is required. If the FillColorName is not specified, it is set to the same color as
ColorName. All used color names (with some exceptions listed below) must be defined in the file using a
COLORDEF line.
-

ColorName
FillColorName

Color to be used for drawing lines and texts
Color to be used for filling the FILLARC and POLYGON objects

Some plugin colors can be used as map colors without having to define them in a COLORDEF line (however
if the color is defined in a COLORDEF line, that definition will override the plugin color definition). The
available color names are:
-

Active_Map
Active_Map_Type_1 … Active_Map_Type_20
Active_RD_Infill_Map
Active_RD_Map
Active_Sector
Active_Text_Map
Inactive_Sector
Map_1 … Map_4
Map_Border
Map_Hotspot
Map_Info
Map_Land
Map_Symbol
Preactive_Map
Preactive_Text_Map
Predisplay_Map
Rwy_App_Line_Inuse
Rwy_App_Line_Not_Inuse

24

Style
STYLE:StyleName
STYLE:StyleName:Width
The style line defines the line type for any subsequent LINE items within this map. It is not mandatory, a
Solid type line with width 1 pixel will be drawn by default. As with the COLOR line, a single map may contain
any required number of STYLE lines to draw different line styles within the same map. The width is only
necessary for Solid type lines (it has no effect on the other types). If a width is not defined, a 1 pixel width is
drawn by default.
-

StyleName
Width

Style to be used (Solid, Dash, Dot, DashDot or DashDotDot)
Width of line (pixels)

Line
LINE:Lat1:Lon1:Lat2:Lon2
LINE:StartPointName:EndPointName
Draws a line from one point to another. Uses the previously defined line style (or solid line with 1 pixel
width if no style defined).
-

Lat1
Lon1
Lat2
Lon2
StartPointName
EndPointName

Latitude of starting point (decimal degrees or sector file format)
Longitude of starting point (decimal degrees or sector file format)
Latitude of end point (decimal degrees or sector file format)
Longitude of end point (decimal degrees or sector file format)
Fix, VOR, NDB ,airport code or runway (must be found in the active sector file)
Fix, VOR, NDB, airport code or runway (must be found in the active sector file)

Note: the syntax to define a runway threshold as a StartPointName or an EndPointName is the 4-letter ICAO
airport designator followed by a forward slash and the runway identifier.

FontSize
FONTSIZE:Type:Size
FONTSIZE:0
Each new map starts out with the default font size. It can be modified using the FontSize line. All texts after
the line in that map use the new size. “FONTSIZE:0” sets the size back to the default value.
-

Type

-

Size

Type of change
 “=” sets a new size
 “-” reduces the size from the default by the given amount
 “+” increases the size from the default by the given amount
 “*” multiplies the size of the default by the given amount
New font size (1-99)

The resulting font size is limited to values between 1 and 99.

25

FontStyle
FONTSTYLE:Weight,Italic,Underline,Strikethrough
FONTSTYLE:0
Each new map starts out with the default font style. It can be modified using the FontStyle line. All texts
after the line in that map use the new style. “FONTSTYLE:0” sets the style back to the default settings.
-

Weight

-

Italic
Underline
Strikethrough

Font weight (0-1000)
 some example values are 0=default weight, 400=normal, 700=bold
Italic (1=yes, 0=no)
Underline (1=yes, 0=no)
Strikethrough (1=yes, 0=no)

Symbol
SYMBOL:SymbolName:Lat:Lon
SYMBOL:SymbolName:Lat:Lon:Label:OffsetX:OffsetY
SYMBOL:SymbolName:PointName
SYMBOL:SymbolName:PointName:Label:OffsetX:OffsetY
Draws a predefined symbol on the screen. Optionally, can display a text label with the label’s centerpoint
offset a given number of pixels from the symbol centerpoint.
-

SymbolName
Lat
Lon
PointName
Label
OffsetX
OffsetY

Name of symbol
Latitude of symbol centerpoint (decimal degrees or sector file format)
Longitude of symbol centerpoint (decimal degrees or sector file format)
Fix, VOR, NDB, airport code or runway (must be found in the active sector file)
Text label (text string)
Number of pixels to offset the label centerpoint in the left(-)-right(+) direction
Number of pixels to offset the label centerpoint in the up(-)-down(+) direction

Note: the syntax to define a runway threshold as a PointName is the 4-letter ICAO airport designator
followed by a forward slash and the runway identifier.

26

Text
TEXT:Lat:Lon:Label
TEXT:Lat:Lon:Label:OffsetX:OffsetY
TEXT:PointName:Label
TEXT:PointName:Label:OffsetX:OffsetY
Draws a text label on the screen. Optionally, the label’s centerpoint can be offset a given number of pixels
from the given position.
-

Lat
Lon
PointName
Label
OffsetX
OffsetY

Latitude of label centerpoint (decimal degrees or sector file format)
Longitude of label centerpoint (decimal degrees or sector file format)
Fix, VOR, NDB, airport code or runway (must be found in the active sector file)
Text label (text string)
Number of pixels to offset the label centerpoint in the left(-)-right(+) direction
Number of pixels to offset the label centerpoint in the up(-)-down(+) direction

Note: the syntax to define a runway threshold as a PointName is the 4-letter ICAO airport designator
followed by a forward slash and the runway identifier.

27

2.7 TopSkyMSAW.txt
The file is read one line at a time and the first line that contains the aircraft position returns the minimum
safe altitude, so put specific small area lines at the top and large general areas to the end of the file. Be
careful to always use the correct syntax to achieve any results and use the point (.) as the decimal
separator. For backward compatibility, also the comma (,) is accepted to separate the fields. Only define
one area per line. There are five types of area definitions that are accepted:

Lat/Lon box area
A:Latmin:Latmax:Lonmin:Lonmax:MSA
An area bounded by the minimum and maximum latitude and longitude values
-

Latmin
Latmax
Lonmin
Lonmax
MSA

Minimum Latitude (decimal degrees or sector file format)
Maximum Latitude (decimal degrees or sector file format)
Minimum Longitude (decimal degrees or sector file format)
Maximum Longitude (decimal degrees or sector file format)
Minimum Safe Altitude within the area (feet, integer value)

Circle
C:Lat:Lon:R:MSA
A circle of radius r with center point at (Lat,Lon)
-

Lat
Lon
R
MSA

Circle center point latitude (decimal degrees or sector file format)
Circle center point longitude (decimal degrees or sector file format)
Radius of circle (nautical miles, decimal value)
Minimum Safe Altitude within the circle (feet, integer value)

Lat/Lon box area list
L:Latmin:Lonmin:ΔLat:ΔLon:N:MSA1:MSA2:…:MSAn
A series of latitude-longitude bounded boxes. The boxes are in an east-west direction, with the first box
being the westernmost.
-

Latmin
Lonmin
ΔLat
ΔLon
N
MSA1-MSAn

Latitude of the south edge of the boxes (decimal degrees or sector file format)
Longitude of the west edge of first box (decimal degrees or sector file format)
Latitude size of one box (decimal degrees)
Longitude size of one box (decimal degrees)
Number of boxes
Minimum Safe Altitudes of the boxes (feet, integer values, must be n values)

28

Polygon
P:N:Lat1:Lon1:Lat2:Lon2:…:Latn:Lonn:MSA
A polygon with n vertices at given latitude-longitude points
-

N
Lat1
Lon1
Lat2
Lon2
Latn
Lonn
MSA

Number of vertices
Latitude of vertex 1 (decimal degrees or sector file format)
Longitude of vertex 1 (decimal degrees or sector file format)
Latitude of vertex 2 (decimal degrees or sector file format)
Longitude of vertex 2 (decimal degrees or sector file format)
Latitude of vertex n (decimal degrees or sector file format)
Longitude of vertex n (decimal degrees or sector file format)
Minimum Safe Altitude within the polygon (feet, integer value)

Sector
S:Lat:Lon:TRdl1:TRdl2:Rmin:Rmax:MSA
An area defined as being between two true bearings from a point (Lat,Lon) - clockwise direction from Rdl1
to Rdl2 - and between distances Rmin and Rmax from the point
-

Lat
Lon
TRdl1
TRdl2
Rmin
Rmax
MSA

Point latitude (decimal degrees or sector file format)
Point longitude (decimal degrees or sector file format)
Bearing 1 (degrees true, decimal value)
Bearing 2 (degrees true, decimal value)
Minimum distance from point (nautical miles, decimal value)
Maximum distance from point (nautical miles, decimal value)
Minimum Safe Altitude within the sector (feet, integer value)

29

2.8 TopSkyRadars.txt
The file contains the primary radar station definitions to be used for displaying raw video radar data. The
following example shows the syntax (optional lines in grey color):

// Helsinki PSR
RADAR:Helsinki
POSITIONS:EFHF:EFHK:EFES
LOCATION:N060.18.56.400:E024.57.54.400
ALTITUDE:335
BEAMWIDTH:1.4
PULSEWIDTH:1.0
MAXANGLE:50
RANGE:0.0:60.0

Comment
Radar
Positions
Location
Altitude
Beamwidth
Pulsewidth
Maxangle
Range

Radar
RADAR:RadarName
Each radar definition must start with a Radar line that defines the radar station name.
-

RadarName

Radar station name (text string)

Positions
POSITIONS:Pos1:Pos2:…
Defines the list of controller positions that use the radar station. Only one radar station can be active so the
first station in the file that contains a match will be used. The logic compares the positions against the login
callsign from the beginning of the string (“EF” will be a match for either “EFES_CTR” or “EFHK_TWR” but
not for “SAEF_APP”)
-

Posx

Position login callsign (text string, full callsign or first x letters)

Location
LOCATION:Lat:Lon
The location of the radar antenna.
-

Lat
Lon

Latitude value (decimal degrees or sector file format)
Longitude value (decimal degrees or sector file format)

30

Altitude
ALTITUDE:Alt
The radar antenna altitude above mean sea level. If not specified, a value of 0 is used.
-

Alt

The antenna altitude (feet AMSL, integer value)

Beamwidth
BEAMWIDTH:Beamwidth
Specifies the beamwidth of the radar in degrees. If not specified, a value of 1.5 will be used. The value
affects how wide the radar targets will be (twice the beamwidth value).
-

Beamwidth

The beamwidth of the radar (degrees, decimal value)

Pulsewidth
PULSEWIDTH:Pulsewidth
Specifies the pulsewidth of the radar in microseconds. If not specified, a value of 1.0 will be used. The value
affects how deep the radar targets will be (approx. 0.08nm/microsecond).
-

Pulsewidth

The pulsewidth of the radar (microseconds, decimal value)

Maxangle
MAXANGLE:MaxAngle
Defines the maximum elevation angle of the radar measured from horizontal level. If not specified, a value
of 90 will be used (i.e. coverage all the way up to vertical)
-

MaxAngle

The maximum vertical angle of the radar (degrees, integer value)

Range
RANGE:MinRange:MaxRange
Defines the minimum and maximum detection ranges of the radar station. If not specified, a minimum
value of 0 and a maximum value of 999999 will be used.
-

MinRange
MaxRange

The minimum detection range of the radar (nautical miles, decimal value)
The maximum detection range of the radar (nautical miles, decimal value)

Ceiling
CEILING:Ceiling
Defines the maximum detection altitude of the radar. If not specified, a value of 999999 will be used.
-

Ceiling

The maximum detection altitude of the radar (feet AMSL, integer value)
31

2.9 TopSkySettings.txt & TopSkySettingsLocal.txt
These two files allow changing the plugin settings. The difference between them is that the settings in the
first file are loaded every time, while the settings in the “Local” file are only loaded on user request (by
performing a “Sign In”).
The available settings, their default values and acceptable ranges are described in an Excel spreadsheet
provided together with this file.
The settings in the files can be either general or login callsign specific. General settings have to be located
at the beginning of the file before any login callsign specific ones. Login callsign specific ones are defined by
creating sections starting with a line that contains a text string in square brackets above them.
The login callsign specific settings are checked by comparing the text string against the login callsign. If the
login callsign contains the text, any settings after that are loaded until a new line with text in square
brackets is found which after the check is done again. If not, all the settings in that section are skipped.
Example TopSkySettings.txt file:
Setting1=0
Setting2=123
[_CTR]
Setting2=100
Setting3=0
[EFES_]
Setting2=200
[ESSA_TWR]
Setting2=300
Setting4=0

New section start

New section start
New section start

The plugin reads the file as follows: first “Setting1” is set to “0” and “Setting2” to “123” regardless of the
login callsign. If the login callsign is for example “EFES_2_CTR”, the first section (“_CTR”) is a match, so
“Setting2” will be changed to “100” and “Setting3” is set to “0”. The second section (“EFES_”) is also a
match, so “Setting2” is changed once again, this time to “200”. The last section (“ESSA_TWR”) is not a
match so the settings there won’t be applied. So, any one setting can appear in the file more than once,
and be set more than once depending on how the file is laid out. As the file is always read in the order it is
written, the more specific sections should be at the bottom (like in the example, any _CTR callsign will get a
different “Setting2” value than the other callsigns, but if it happens to be EFES_CTR or EFES__CTR, the value is different from the other _CTR callsigns).
When the plugin detects that the login callsign has changed, the settings files are automatically reloaded
(the “Local” file only if a “Sign In” has been done).

32

2.10 TopSkySSRcodes.txt
The file contains the SSR code range and area definitions to be used when assigning transponder codes via
the plugin. The following example shows the syntax (optional lines in grey color):

AREA:EF1
RADIUS:15.0
N060.00.00.000 E025.00.00.000

Area
Radius
Coordinate

// domestic secondary
RANGE:3201:3277
ADES:EF
PROTECTION:EF1
SECONDARY
IFR

Comment
Range
ADES
Protection
Secondary
IFR

The plugin’s SSR code assignment system checks the flightplan, finds out which code ranges are available
for that flightplan, checks for codes already in use, and then assigns one of the available codes.
Transponder codes ending with “00” are not assigned.
The example area above designates the code range 3201-3277 available for IFR traffic with destinations
starting with “EF” and not entering the area “EF1”. In addition, the range is defined to be a secondary one,
to be used only if there are no available codes found in other ranges.

Mode S global
MODE_S_GLOBAL
If this line appears anywhere in the file, it indicates that the identity of mode S capable aircraft will be
maintained using mode S information everywhere. See also “Mode S” line to limit the availability to
specified area(s).

Group
GROUP:Name:Item1:Item2:Item3:…
The Group line is used to create text aliases to represent a number of text strings. It can be used in line
types where lists of items are entered. The syntax to refer to a group is “GROUP_”. For
example defining “GROUP:G1:A:B:C” and then later in the file “GROUP_G1” in some line has the same
effect as having “A:B:C” in that line.
-

-

Name
Itemx

Name for the group
Text strings

33

Area
AREA:AreaName
Each area definition must start with an Area line that defines the area name. The area must be defined in
the file before it is referred to in a code range definition. The area names are case sensitive.
-

AreaName

Area name to use in the code assignment rules (text string)

Radius
RADIUS:Radius
If the area is a circle, it can be defined as a center point and a distance from it. In this case the area
definition needs the radius line and one coordinate line (see below). All other area shapes need to be
defined as polygons using three or more coordinate lines, and then the radius line shall not be used.
-

Radius

Area radius (nautical miles, decimal value)

Mode S
MODE_S
This line indicates that inside this area the identity of mode S capable aircraft will be maintained using
mode S information. The mode S conspicuity code (1000) can be assigned by the plugin when the entire
planned route is within these areas.

Coordinate
Lat Lon
Each area definition must have either at least three coordinate lines (three points being the minimum
required to create a closed area, a triangle), or one coordinate line and a radius line (see above). There is
practically no upper limit for the number of coordinate points, but as the required calculations increase
proportionally to the number of points, it’s best to keep the areas simple. The latitude and longitude values
must be either in decimal degrees or in the sector file format and there must be one or more spaces
between them. There may also be one or more spaces in the beginning of the line before the latitude value.

34

Range
RANGE:StartCode:EndCode
This line is the only mandatory line for a code range definition and must always be the first line in a
definition. It starts the definition by specifying the range of codes in it.
-

StartCode
EndCode

The first code in the range (4 octal digits, 0001-7777)
The last code in the range (4 octal digits, 0001-7777)

Adhoc
ADHOC
This line causes the codes in this range to be assigned only to flightplans where the departure, destination
or both are empty.

Mandatory
MANDATORY
This line causes the codes in this range to be mandatory for all matching flights. Possible other matching,
but non-mandatory code ranges will be considered only if there are no assignable codes found in the
mandatory ranges.

Secondary
SECONDARY
This line defines the range to be a secondary one, to be used only when the other ranges do not have any
assignable codes left.

IFR
IFR
This line causes the codes in this range to be assigned only to IFR flightplans.

VFR
VFR
This line causes the codes in this range to be assigned only to VFR flightplans.

35

GAT
GAT
This line causes the codes in this range to be assigned only to GAT (general air traffic) flightplans. By default
a flightplan is categorized as GAT when “RMK/OAT” is not found in the remarks section.

OAT
OAT
This line causes the codes in this range to be assigned only to OAT (operational air traffic) flightplans. By
default a flightplan is categorized as OAT when “RMK/OAT” is found in the remarks section.

Direction
DIRECTION:TTrk1:TTrk2
This line limits the code assignment to flights having a track between the two specified true tracks
(clockwise direction from Trk1 to Trk2). If VIA and/or NOTVIA lines are also present in the code range, the
track to be checked is the outbound track from the specified point(s). If not, the tracks are checked against
the aircraft’s planned track from its present position.
-

TTrk1
TTrk2

Start angle for the track range (degrees true, decimal value)
End angle for the track range (degrees true, decimal value)

ADEP
ADEP:ICAOcode:ICAOcode:ICAOcode:…
This line limits the code assignment to flights departing from one of the defined airports. The whole ICAO
airport code is not needed; the match can also be done on the first one or more letters, e.g. entering “EF”
will match all airports with ICAO designators beginning with “EF”. The ADEP line can contain one or more
airport codes and one code range definition can also have more than one ADEP line if necessary.
-

ICAOcode

Airport ICAO code (complete or partial)

NotADEP
NOTADEP:ICAOcode:ICAOcode:ICAOcode:…
This line limits the code assignment to flights not departing from any of the defined airports.Otherwise the
format and limitations are the same as in the ADEP line.
-

ICAOcode

Airport ICAO code (complete or partial)
36

ADES
ADES:ICAOcode:ICAOcode:ICAOcode:…
This line limits the code assignment to flights arriving at one of the defined airports.Otherwise the format
and limitations are the same as in the ADEP line.
-

ICAOcode

Airport ICAO code (complete or partial)

NotADES
NOTADES:ICAOcode:ICAOcode:ICAOcode:…
This line limits the code assignment to flights not arriving at any of the defined airports.Otherwise the
format and limitations are the same as in the ADEP line.
-

ICAOcode

Airport ICAO code (complete or partial)

Local
LOCAL:ICAOcode:ICAOcode:ICAOcode:…
This line limits the code assignment to local flights (ADEP=ADES) from one of the defined airports. The
whole ICAO airport code is not needed; the match can also be done on the first one or more letters, e.g.
entering “EF” will match all airports with ICAO designators beginning with “EF”. The LOCAL line can contain
one or more airport codes and one code range definition can also have more than one LOCAL line if
necessary. The LOCAL line cannot be used together with ADEP or ADES lines.
-

ICAOcode

Airport ICAO code (complete or partial)

Via
VIA:Point:Point:Point:…
This line limits the code assignment to flights routing via at least one of the defined points. The point can be
anywhere along the flightplan. One or more points can be defined in one VIA line and one code range
definition can contain more than one VIA line if necessary.
-

Point

Point name (Fix, VOR, NDB or airport)

NotVia
NOTVIA:Point:Point:Point:…
This line limits the code assignment to flights not routing via any of the defined points. Otherwise the
format and limitations are the same as in the VIA line.
-

Point

Point name (Fix, VOR, NDB or airport)
37

AreaVia
AREAVIA:AreaName:AreaName:AreaName:…
This line limits the code assignment to flights routing via at least one of the defined areas. The area(s) must
have been defined earlier in the data file. One or more areas can be defined in one AREAVIA line and one
code range definition can contain more than one AREAVIA line if necessary.
-

AreaName

Area name (text string)

Protection
PROTECTION:AreaName:AreaName:AreaName:…
This line limits the code assignment to flights not routing via any of the defined areas. Otherwise the format
and limitations are the same as in the AREAVIA line.
-

AreaName

Area name (text string)

AdepArea
ADEPAREA:AreaName:AreaName:AreaName:…
This line limits the code assignment to departing from one of the defined areas. The area(s) must have been
defined earlier in the data file. One or more areas can be defined in one ADEPAREA line and one code range
definition can contain more than one ADEPAREA line if necessary.
-

AreaName

Area name (text string)

NotAdepArea
NOTADEPAREA:AreaName:AreaName:AreaName:…
This line limits the code assignment to flights not departing from any of the defined areas. Otherwise the
format and limitations are the same as in the ADEPAREA line.
-

AreaName

Area name (text string)

38

AdesArea
ADESAREA:AreaName:AreaName:AreaName:…
This line limits the code assignment to flights arriving in one of the defined areas. The area(s) must have
been defined earlier in the data file. One or more areas can be defined in one ADESAREA line and one code
range definition can contain more than one ADESAREA line if necessary.
-

AreaName

Area name (text string)

NotAdesArea
NOTADESAREA:AreaName:AreaName:AreaName:…
This line limits the code assignment to flights not arriving in any of the defined areas. Otherwise the format
and limitations are the same as in the ADESAREA line.
-

AreaName

Area name (text string)

Unit
UNIT:LoginCallsign:LoginCallsign:LoginCallsign:…
This line limits the code assignment based on your network login callsign. The whole callsign is not needed;
the match can also be done on the first one or more letters, e.g. entering “EFES” will match callsigns
beginning with “EFES”. The UNIT line can contain one or more callsigns and one code range definition can
also have more than one UNIT line if necessary.
-

LoginCallsign

Current login callsign (complete or partial)

NotUnit
NOTUNIT:LoginCallsign:LoginCallsign:LoginCallsign:…
This line limits the code assignment to network login callsigns other than the specified ones. Otherwise the
format and limitations are the same as in the UNIT line.
-

LoginCallsign

Current login callsign (complete or partial)

39

Callsign
CALLSIGN:Callsign:Callsign:Callsign:…
This line limits the code assignment based on the aircraft’s callsign. The whole callsign is not needed; the
match can also be done on the first one or more letters, e.g. entering “FIN” will match callsigns beginning
with “FIN”. The CALLSIGN line can contain one or more callsigns and one code range definition can also
have more than one CALLSIGN line if necessary.
-

Callsign

Aircraft callsign (complete or partial)

NotCallsign
NOTCALLSIGN:Callsign:Callsign:Callsign:…
This line limits the code assignment to aircraft callsigns other than the specified ones. Otherwise the format
and limitations are the same as in the CALLSIGN line.
-

Callsign

Aircraft callsign (complete or partial)

Remarks
REMARKS:Text:Text:Text:…
This line limits the code assignment based on the flightplan remarks. When all the specified text strings are
found in the remarks section, the line is a match. The REMARKS line can contain one or more text strings
and one code range definition can also have more than one REMARKS line if necessary (in this case it is
enough that one of the lines is a match for the code range to be used).
-

Text

Text string to look for in the flightplan remarks

NotRemarks
NOTREMARKS:Text:Text:Text:…
Same as above but limits the code assignment to flightplans whose remarks section contains none of the
specified text strings. When more than one NOTREMARKS line is used in a code range, the range is not used
when even one of the lines is a match.
-

Text

Text string to look for in the flightplan remarks

40

2.11 TopSkySTCA.txt
The file contains the definitions for final approach areas where smaller (usually 2.5nm) separation can be
used, as well as STCA exclusion areas needed for parallel approaches and departures. The following
example is used to show the syntax (optional lines in grey color):
FINALAPP:EFHK:04L

FinalApp

// EFHK 04’s
SOIR:EFHK:04L:04R
NOZ1:N060.18.37.790:E024.54.30.240
NOZ1:N060.19.21.880:E024.53.08.680
NOZ1:N060.12.36.560:E024.38.23.030
NOZ1:N060.11.52.460:E024.39.44.310
NOZ2:N060.18.49.470:E024.55.54.640
NOZ2:N060.18.05.350:E024.57.16.110
NOZ2:N060.11.20.250:E024.42.29.640
NOZ2:N060.12.04.370:E024.41.08.450

Comment
SOIR
NOZ 1
NOZ 1
NOZ 1
NOZ 1
NOZ 2
NOZ 2
NOZ 2
NOZ 2

FinalApp
FINALAPP:AirportICAO:RwyID:Range:XTE:Lat:Lon:CourseT
This line creates a final approach area where smaller separation values for STCA are used.
-

AirportICAO
RwyID
Range
XTE
Lat
Lon
CourseT

The airport’s ICAO code
The runway identifier
Maximum range from the approach end point (decimal value, range 0.0-99.0)
Maximum cross-track error from the approach course (decimal value, range 0.0-99.0)

Approach end point latitude (decimal degrees or sector file format)
Approach end point longitude (decimal degrees or sector file format)
Approach course (degrees true, decimal value)

Only the ICAO code and RwyID are mandatory to be defined, so for example “FINALAPP:EFHK:04L” creates
an approach area for that runway with default values. The default values for the other items are:
-

Range
XTE
Lat, Lon
CourseT

10.0 nm
0.5 nm
Runway threshold coordinates from the active sector file
Runway true bearing calculated from the threshold coordinates

Note that if one or more of the optional values needs to be changed, the line must include all the values up
to the last changed value.

41

An STCA alert between two aircraft will be inhibited when all of the following are true:
-

Both aircraft are planned to land on the runway in question
Both aircraft are inside the same approach area
Both aircraft have ground tracks within 10 degrees of the approach course
The aircraft closer to the runway is not wake turbulence category HEAVY or SUPER, or a B757
The aircraft further from the runway is in the same or higher wake turbulence category

SOIR
SOIR:AirportICAO:RwyID1:RwyID2:Range:WidthIn:WidthOut
This line starts the definition.
-

AirportICAO
RwyID1
RwyID2
Range
WidthIn
WidthOut

The airport’s ICAO code
Identifier of the runway on the left side in the direction of flight
Identifier of the runway on the right side in the direction of flight
Length of the NOZ (nm, decimal value, range 0.0-99.0)
Width of the NOZ toward the other runway (nm, decimal value, range 0.0-99.0)
Width of the NOZ away from the other runway (nm, decimal value, range 0.0-99.0)

Only the ICAO code and runway identifiers are mandatory to be defined. The default values for the other
items are:
-

Range
10.0 nm
WidthIn / WidthOut 0.3 nm

Note that if one or more of the optional values needs to be changed, the line must include all the values up
to the last changed value. A custom polygon can also be defined as the NOZ, see the NOZ1 and NOZ2 lines.
For arrivals, when one aircraft is within one NOZ and another within the other, and both aircraft have
ground tracks within 10 degrees of the approach tracks for their runways, an STCA warning between those
aircraft will be inhibited. For departures, the conditions are the same except that the 10 degree track error
limit is only valid toward the other runway. Both runways also need to be set as active for arrival (for an
arrival setup) or departure (for a departure setup) in the EuroScope runway setup. Both arrival and
departure setups can be active simultaneously.
If the airport has more than two runways where simultaneous approaches are performed, each possible
pair must be defined separately. For example if an airport can do simultaneous approaches on any
combination of runways 01L, 01C and 01R, three definitions are required (one for 01L/01C, one for
01L/01R and one for 01C/01R).

Departure
DEPARTURE
This optional line defines the setup as a departure setup. If not present, the setup is an arrival setup.

42

Approach course 1 and 2
CRS1:CourseT
CRS2:CourseT
This optional line is used to define the approach course if it is different from the runway bearing. For it to
have any effect, the setup must be an arrival setup and the NOZ for the corresponding runway must also be
defined manually (see below).
-

CourseT

The approach course for the runway (degrees true, decimal value)

NOZ 1 and 2
NOZ1:Lat:Lon
NOZ2:Lat:Lon
These optional lines are used to define vertices for custom polygons to override the default NOZ areas for
the runways.
-

Lat
Lon

Point latitude (decimal degrees or sector file format)
Point longitude (decimal degrees or sector file format)

43

2.12 TopSkySymbols.txt
This file makes it possible to change the default symbols drawn by the plugin. The following example
symbol shows the syntax:
// distance marker
SYMBOL:MARKER
ELLIPSE:0:0:2

Comment
Type
Definition

Symbol definition
SYMBOL:SymbolType
The first line for each symbol definition must be a type line.
-

SymbolType

Symbol type (one of the following):
 AIRPORT Airport symbol
 MARKER Runway approach line distance marker symbol
 RPSH
History dot symbol
 RPSC
Coasting track symbol
 RPS1
Radar position symbol for PSR tracks
 RPS2
Radar position symbol for SSR(A) tracks
(Uncontrolled SSR and SSR+PSR tracks in COOPANS version)
 RPS2I
Radar position symbol for SSR(A) tracks with ident
(Uncontrolled SSR and SSR+PSR tracks in COOPANS version)
 RPS3
Radar position symbol for PSR+SSR(A) tracks
(Controlled SSR and SSR+PSR tracks in COOPANS version)
 RPS3I
Radar position symbol for PSR+SSR(A) tracks with ident
(Controlled SSR and SSR+PSR tracks in COOPANS version)
The following are not used in the COOPANS version of the plugin:









RPS4
RPS4I
RPS5
RPS5I
RPS6
RPS6I
RPS7
RPS7I

Radar position symbol for SSR(S) tracks
Radar position symbol for SSR(S) tracks with ident
Radar position symbol for PSR+SSR(A) tracks
Radar position symbol for PSR+SSR(A) tracks with ident
Radar position symbol for SSR(A+S) tracks
Radar position symbol for SSR(A+S) tracks with ident
Radar position symbol for PSR+SSR(A+S) tracks
Radar position symbol for PSR+SSR(A+S) tracks with ident

The symbol itself can consist of various elements, drawn by the following lines. The X and Y coordinates are
relative to the symbol centerpoint, with the X axis having increasing values to the right and the Y axis
having increasing values to the down direction. The commands are the same as in the EuroScope
Symbology dialog with the exception of the possibility to draw elliptical arcs and the “:” separating the
values here so the ES dialog can be used in most cases to test the results.

44

MOVETO:X:Y
Sets the starting point for the next LINETO command
-

X
Y

Number of pixels from the symbol centerpoint in the left(-)-right(+) direction
Number of pixels from the symbol centerpoint in the up(-)-down(+) direction

LINETO:X:Y
Draws a straight line from the previous position
-

X
Y

Number of pixels from the symbol centerpoint in the left(-)-right(+) direction
Number of pixels from the symbol centerpoint in the up(-)-down(+) direction

SETPIXEL:X:Y
Paints the selected pixel
-

X
Y

Number of pixels from the symbol centerpoint in the left(-)-right(+) direction
Number of pixels from the symbol centerpoint in the up(-)-down(+) direction

ARC:X:Y:Radius:StartAngle:EndAngle
ARC:X:Y:RadiusX:RadiusY:StartAngle:EndAngle
Draws a part of a circle or ellipse
-

X
Y
Radius
RadiusX
RadiusY
StartAngle

-

EndAngle

Centerpoint offset from the symbol centerpoint in the left(-)-right(+) direction
Centerpoint offset from the symbol centerpoint in the up(-)-down(+) direction
Arc radius in pixels (to make a circular arc)
Arc radius in relation to the X axis in pixels (to make an elliptical arc)
Arc radius in relation to the Y axis in pixels (to make an elliptical arc)
Arc starting angle (integer degrees, 0 degrees is at positive X-axis, increasing
counterclockwise)
Arc ending angle (integer degrees, 0 degrees is at positive X-axis, increasing
counterclockwise)

FILLARC:X:Y:Radius:StartAngle:EndAngle
FILLARC:X:Y:RadiusX:RadiusY:StartAngle:EndAngle
Otherwise the same as ARC, but the result is filled

ELLIPSE:X:Y:Radius
ELLIPSE:X:Y:RadiusX:RadiusY
Otherwise the same as FILLARC, but always draws a complete circle or ellipse

POLYGON:X1:Y1: X2:Y2:…: Xn:Yn
Draws a filled polygon with n vertices
45

2.13 TopSkyViews.txt
The file contains the definitions for the items in the View Window. Two types of definitions are allowed,
enter only one definition per line:

Lat/Lon box
VIEW:ViewName:Latmin:Lonmin:Latmax:Lonmax
An area bounded by the minimum and maximum latitude and longitude values. The resulting screen area
covers at least the required coordinates, possibly more depending on the screen shape.
-

ViewName
Latmin
Lonmin
Latmax

A name to identify the view in the View Window
Minimum Latitude (decimal degrees or sector file format)
Minimum Longitude (decimal degrees or sector file format)
Maximum Latitude (decimal degrees or sector file format)

-

Lonmax

Maximum Longitude (decimal degrees or sector file format)

Centerpoint and range
VIEW:ViewName:Lat:Lon:Range
VIEW:ViewName:PointName:Range
An area defined by a range from a centerpoint. The resulting screen area will be centered on the required
centerpoint and will show at least the required distance to every direction from the centerpoint.
-

ViewName
Lat
Lon
PointName
Range

A name to identify the view in the View Window
Centerpoint Latitude (decimal degrees or sector file format)
Centerpoint Longitude (decimal degrees or sector file format)
Fix, VOR, NDB, airport code or runway (must be found in the active sector file)
The displayed range (nautical miles, decimal value)

Note: the syntax to define a runway threshold as a PointName is the 4-letter ICAO airport designator
followed by a forward slash and the runway identifier.

46



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 46
Language                        : fi-FI
Tagged PDF                      : Yes
Author                          : Juha Holopainen
Creator                         : Microsoft® Office Word 2007
Create Date                     : 2018:11:20 11:23:23+02:00
Modify Date                     : 2018:11:20 11:23:23+02:00
Producer                        : Microsoft® Office Word 2007
EXIF Metadata provided by EXIF.tools

Navigation menu