|
|
The
|
|
Make it work in Win XP
&
How to create your own
simulation scenarios
by John Mansolas
first date of issue :
last update : 28-janv.-08

A full screen view of the program in
action
(resolution is intentionally made
poor due to memory restrictions)
·
At
last a Tower simulator ....!
· Commands
o
DESIGNING DEPARTURES FOR RWY09
o
DESIGNING ARRIVALS FOR RWY09
![]()
At last a Tower simulator
....!
Among the many ATC simulators we have seen ever since PCs were available,
this piece of software is still leading , and leading way ahead of any other in
this field ! It is the BAO (Apollo Software) Tower
simulator for Aerodrome / Tower control. BAO
stands for Bruch Artwick Organisation.
Bruce Artwick is a name that will be written in the software history and is non
other than the designer of the Flight Simulator series ever since 1977. This
software originated the MS Flight Simulator. The Tower Simulator
circulated around 1993, however , around 1995 there was a deal between BAO
and Microsoft , the latter continuing
the production of the Flight Simulator series. It is not known exactly what was
the fate of this Tower simulator in this deal, we only know that there was
something left of this BAO firm who is still its owner and that its designers did not consider any
further development ever since. One may suspect that design-wise there was a
possible link (?) with the Wesson company producing the TRACON-Wesson
Approach simulator. This TRACON program was very popular in the end of the
80s and beginning of 90s; its syntax became a kind of a universal
guideline for PC based simulation
scenarios and the syntax of the main Tower simulator files follow a very , very
similar form
BAO apparently had in mind to expand this Tower Simulator because in
its files there is room for a number of parameters that were
not finally activated. From the exercise text one can see that this simulator could
have included a large number of traffic events and conditions almost equivalent
with those available on Professional Tower Simulators. The effort was, however
, abandoned and despite requests from
various users , BAO was ( and is still ) simply stating that this program is no
longer supported. Today it is classified by users as abandonware . However , the many friends that this software has created in
some 10 years of its existence did not give up and tried to continue on their
own and it is thanks to their efforts that by some minor modifications
and useful solutions that this software is kept alive and active.
![]()
In
the middle of 90s the Windows 3.1 and 95 were famous and BAO Tower Simulator
was made to run on them. People who tried later the Win98 version were happy to
see it being compatible . I personally bought this software in
http://www.the-underdogs.info/game.php?id=1178
(next to TRACON version I for DOS and Windows vesrion II)
I also found them at http://www.scenery.org/atc_sims.htm but it was reported by many that these files do not work
There you may download 8 files that correspond to the 8 initial installation diskettes of BAO. Unzip everything on a common directory and run the setup file to install it. However : There are people who made it run in Windows XP !!! This is a fact ! After some good combined effort from the European ATCers mailing List the solution has been found. So ....
|
BAO Tower Simulator runs without any problems in Windows XP |
provided
you do 2 very
easy modifications :
1] Update the Msvcrt20.dll file : BAO uses an
older version of this file found in its root folder. But , XP users already
have the updated file in their XP system ! Replace this file with the
equivalent one (same name but different size) found in WinXP at C:/Windows/System32
directory . That is simply copy the C:/Windows/System32/
Msvcrt20.dll file into the root BAO Tower Simulator directory , usually
something like C:\Tower. Say , yes , to the prompt to replace it. And that is
all…..
Caution
: In case you want the old file to
remain there, just in case someone wants to use it with a non-XP windows
version, then first rename the older Msvcrt20.dll file to something like _ Msvcrt20.dll file (my favourite way of
renaming) before you copy-replace it with the above mentioned method.
Then
...
2] Get the wing32.dll file. This
may come from a friend or you may download it free from the internet at : http://www.dll-files.com/dllindex/dll-files.shtml?wing32.
In actual fact this file should be installed immediately in the XP's C:/Windows/System32 when
using the SETUP.
A possible XP setup problem
Another
problem that may occur, as detected by our friend Tim tim1261@tpg.com.au in

It
looks to be a default setup problem. By the help of Microsoft Tim found the
solution and he runs the program successfully now. The actions to be taken ,
according to his e-mail are the following :

It
is seems to me from the above that XP was not expecting some 'older habits' of
DOS and has some 'left-outs' which are recuperated with this expansion command.
So with this intervention XP gets back its older 'potential'
A big THANKS to Tim !
![]()
It
is a talking version ! Pilots will call you and read back
all clearances. Phraseology is more 'American' than 'European' but this is not
a problem. What is more , a fan (Tom Heaney),
dared to intervene on many files and introduced new and/or additional type
names and own voice callsigns. Have a look at :
http://www.ags.uci.edu/~tmheaney/SNA/Tower/howto.html.
But
this is mainly for fun. There are many other more serious merits to it :
Here are some pictures of the 3D graphics of aircraft in the program.
There is a natural degradation of the pictures due to the JPG format :

A MD80 taxiing

A MU2 while leaving parking
1

A Challenger CL60 vacating

A nice binocular view for a
parked Fokker 27

Some 'Heavies' (DC10 and
L101) moving on the apron
![]()
To create random scenarios you need to choose the NEW SCENARIO from the File menu of
the program and set accordingly the details of the following windows :
a) NEW
SCENARIO
Set the Airport : (Canyon Field , or O'Hare or
b) SETUP

Here you set the Runway(s) in use under Available Runways. Strange as it
may be, you may use any runway
combinations you like even the 9 and 27 both active (!) – Good God ! You may of
course re-direct traffic to the one you finally want while the exercise runs.
For the exercise start time you enter a value in Time of Day : this is your only
chance to set it and will be so set for ever(!) and for all other
exercises even those created by
you, until changed by a new such setup.
It can not be changed individually in each exercise
![]()
The HELP menu that works on line and therefore can be advised at any moment when running an exercise, includes a set of Commands on the Air and On The Ground. The On The Air one includes as well heading instructions for radar and you may behave like a radar controller in the airspace around you . This practice is not true for all Tower controls but it is slowly coming into use in many areas.. You may also instruct with headings and/or relative turns and you may simulate a hold with a 'Make Right/Left 360". The latter is useful for VFR traffic waiting sequencing in the queu of IFR approaches but works with any type of traffic anyhow. You also have an 'Extend Downwind' command which you have to terminate by an 'Establish on Finals of Rwy ...' command.
![]()
Here,
my intention is to make you try to work out your own scenarios. May I also
highlight another important aspect . The fictitious CANYON aerodrome included
in it , was used by US and Canadian ATC trainers as an example for beginner
For
people with deep experience in TRACON, it was very tempting to start getting
into the modification of the BAO Tower Simulator program files were text data
are stored and try to create some ‘own’ scenarios. There is another important
element , however : one should have time , much time to spend and
experiment. Unfortunately I am not one of those fans. Yet , due to the TRACON
experience and some luck I managed to identify most of the logic of the program
on creating simulation scenarios ( files with *.
Like
TRACON , BAO-Tower Simulator allows you
to run scenarios created randomly by the program , then save these scenarios
under your own name to run them again later. In a similar way , all you have to
do is to ‘copy’ the syntax of program-made scenarios and try to apply coherent
modifications. After a number of trial-and-error business here is what I could
offer you : A ‘decoding’ of such a simulation file which will enable you , with
some restrictions , to create your own exercises.
So
here is such a *.
Any
such file starts with the following standard header :
TOWER Simulation File Version 3.8
!!! THIS
!!! USER MODIFICATION CAN CAUSE UNPREDICTABLE BEHAVIOR !!!
Do
not get scared . What follows in this article is enough for you to be able to
ignore it. You may also completely delete this message.
Now
more on the exercise information that follows :
[SimInfo]
Sector
Aircraft 15
Vehicles 0
Minutes 50
Seed 1107803975
SimType
|
[SimInfo] |
Data-Block Header ; necessary for
the program. The first data-block |
NOT TO BE CHANGED BY THE USER This is the only
absolutely necessary data-block that has to be defined and appear first of
anything else in an exercise *. |
|
Sector |
Sector file of geographical data
where the scenario runs : |
TO BE SELCTED BY USER ACCORDING TO THE SITUATION – Please verify the existence of the sector file and put this scenario in the same folder where the data for this sector exist |
|
Vehicles 0 |
Number of Vehicles |
NOT TO BE CHANGED BY THE
USER The present BAO Tower Sim version does not use vehicles but it was a feature intended for the full version. Once I had replaced 0
with 1 and for a while a car(?) appeared |
|
Aircraft 15 |
Flights to be activated in the
present scenario |
THIS
NUMBER MUST BE SET BY THE USER . It must be equal or less from the flight plans existing
in the exercise. If more then the exercise will not load |
|
Minutes 50 |
Exercise duration |
|
|
Seed 1107803975 |
Exercise generated number |
INDIFFERENT TO USER ; the field
must exist however regardless of the number . Probably a number during the exercise creation which , as in TRACON-Wesson, regulates the randomness of selecting between the various callsigns the program uses |
|
SimType |
|
INDIFFERENT TO USER ; the field
must be there for the exercise to run. Probably , as in
TRACON, triggering some unusual
conditions if the word |
[Description]
[Objectives]
|
[Description] |
Simple open text follows below
this data-block to describe the exercise events |
USER |
|
[Objectives] |
Simple open text follows below this data-block to describe the exercise training objectives |
[Environment]
Pilots Perfect
Emergencies None
Equipment Perfect
CloudConditions Clear
TstormCoverage 0
Ceiling 10200
CloudTops 11200
Visibility 11.000000
Below the [Environment]
header the parameters are NOT TO BE CHANGED BY
THE USER and have a meaning only for the special variable conditions
that the program could have been configured to allow for some extra weather.
Due to the resemblance to the TRACON-Wesson syntax , one may understand
how these data could affect the run of an exercise , if supported by a fully
developed program version. Any changes I tried myself did not produce any
effect even for the most obvious ones. For example , when I set visibility to 3
( miles I suppose !) I could see still beyond 5 nm. No effect with clouds
either. This header and its
content, however, must appear in the exercise , else the exercise will not
run
[WindLevels]
0 10 100
2000 10 100
4000 10 100
8000 10 100
12000 10 115
Below the [WindLevels]
header appear parameters for the directions and speed of the wind. THE USER
[StormData]
Cells 0
Another data-block header apparently for
a future creation of thunderstorm cells ; a feature not supported by this
version. NOT TO BE CHANGED BY THE USER. Once I
tried a 1 for the Cells but nothing happened. This
header is optional and may be omitted without harming the exercise
[Waypoints]
A
strange data-block header of unknown use. NOT TO BE
CHANGED BY THE USER. This
header and its content, if any, must appear in the exercise , else the exercise
will not run
[Aircraft]
NWA127 B727 VFR -1 a
VAN
USA1679 B737 IFR -1 d
.......
This is the most important part for the
exercise file
TO BE MODIFIED BY
THE USER
and enter flights for her/his
own scenarios
Below the [Aircraft]
header the flight plans that are activated in the exercise scenarios are
written. The following rules are important for the user :
·
Each full flight plan occupies two successive
lines without any blank line in between
You may note that these are the very same rules with TRACON exercises
Here
follows an explanation of the flight plan structure using the above flight
plans as an example :
|
THE FLIGHT PLAN for an ARRIVAL |
||
|
THIS IS THE FIRST LINE OF A FLIGHT PLAN WITH THE |
||
|
NWA127 B727 VFR -1 a
|
||
|
Item |
Explanation |
Note |
|
NWA127 |
Callsign , aircraft ID |
If the full callsign is within the program’s VOICE files then flights will call you as such. Else it is fully omitted from the voice part but it is normally activated and appears on strips and text commands |
|
B727 |
aircraft type |
Using from the ones existing in the Models.ini file |
|
VFR |
Flight rules type |
Program creates always VFR types ! Not known why. You may replace it with IFR. Does not seem to have any effect |
|
-1 |
Number of unknown purpose always
appearing as -1. |
It probably indicates a 'subsonic' type of plane but never tried any effect with 0 or +1. This number , however , must appear in the flight plan to make it work, else program crashes |
|
a |
Flight Profile |
As per the Wesson TRACON
‘grammar’ this letter stands for ARRIVAL , while d stands for
DEPARTURE. Note : p in TRACON stands for 'round' flights , that is departures returning later to land on the same field but this does not seem to work with this program |
|
|
Minutes : seconds to activate flight after exercise
start. If say start is at |
For arrivals this is the time at
12 or 13 NM finals before the |
|
250 |
The speed of this aircraft while
approaching. |
Unknown whether this affects really
the aircraft performance as defined by the program; most probably not |
|
4500 |
Altitude |
At which aircraft starts its
intermediate approach |
|
2200 |
Altitude |
At which aircraft starts its
final approach |
|
1200 |
SSR code for aircraft |
Since BAO's default flights are
American VFR it is natural to get only 1200 as a SSR squawk (usually 7000 in |
|
9 |
Runway 09 |
The Runway the flight will arrive
to |
|
THIS IS THE SECOND LINE OF A FLIGHT : THE ROUTE
|
||
|
VAN |
||
|
VAN |
The route (waypoints) |
VAN , |
|
Twr |
Tower |
The unit to which the flight will talk to on first contact |
|
@FS |
@=Cleared , FS=Full-stop |
The @FS is the necessary
end for all traffic that will finally land and will then go to a parking
position Note : @TG = Cleared for Touch-and-Go @LA = Cleared for
Low Approach |
|
THE
FLIGHT PLAN for a DEPARTURE
|
||
|
USA1679 B737 IFR -1 d |
||
|
USA1679 |
…as with arrivals above… |
|
|
B737 |
…as with arrivals above… |
|
|
IFR |
…as with arrivals above… |
|
|
-1 |
…as with arrivals above… |
|
|
d |
Flight Profile |
‘d’ , stands for Departure |
|
|
Minutes : seconds to activate flight after exercise
start. If say start is at |
For departures this time equals
to the ‘push-back’ time or simply start moving on the parking about 2 minutes
before asking for taxing instructions. Departures do not appear all at once in the beginning of an exercise ; it depends on the time of the activation and the space on the parking |
|
4498 |
Altitude |
Where a flight climbs at about 5 NM after take-Off |
|
9498 |
Altitude |
Where a flight climbs at about 13 NM after take-Off |
|
1200 |
…as with arrivals above… |
|
|
9 |
Runway |
Expected for departure rwy - but this may be modified according to the clearance of the user while running the exercise
|
|
|
Route after departure from |
|
|
Ctr |
Ctr= Control Unit. A symbol for a
handover to the next ATC unit after departure |
In this case it is always the Departure Radar |
|
@TO |
Cleared for Take-Off |
A necessary item for all
departures else they will not comply with a take-off clearance ! |
|
@LP |
Cleared for the next way points
after departure |
Equivalent to contact next unit. If this is omitted the flight can not be handed over to departure radar |
|
@GG5 |
The MAIN parking stand or ‘gate’ |
Parking position on
|
Note
: Any other field that may follow below is to be left empty. Again this is an
area for features not included in the present version but were meant for
another future more developed one. These headers
are optional and may be omitted without harming the exercise
So
:
After
your own new exercise file is saved with the extension *.sim necessarily ( eg :
myexe1.sim) you then start BAO and choose from the File menu : Practice
scenario by selecting the myexe1.sim on the proper window
![]()
Aircraft types existing in this program
BAO
features some 40 different aircraft types with performance data and 3D
liveries. The company colors are resembling mostly the AAL (American Airlines)
red-blue fuselage strips ( ex : DC9 ,
MD80 etc) and the big airliners the colors of
You may use only from these types to create your own
scenarios.
The
use of their type indicator is explained below :
|
Below in this list are aircraft
types used for sport and executive flights called with their type names
! So if , say , there is a C150
flying with a callsign like N28927 , the voice of the pilot will call you as
: “Cessna 927”. A very American
style for radio talking but a very useful one for controllers dealing with
many light types as it helps identification and mental planning. This
is a list of these types and their names as used vocally in callsigns |
|||
|
Type |
Calls on the voice as … |
Type |
|
|
C182 |
Sky Lane |
C150 |
Cessna |
|
BE52 |
Sundowner |
BE58 |
Baron |
|
C208 |
Caravan |
C310 |
Twin
Cessna |
|
C172 |
Sky Hawk |
C411 |
>> |
|
PA28 |
Archer |
PA32 |
Arrow |
|
BE20 |
Super King-Air |
BE90 |
King-Air |
|
MU2 |
Mitsubishi |
CL60 |
Challenger |
|
C500 |
Citation |
LR35 |
Learjet |
|
C550 |
>> |
F18 |
Hornet |
|
Types
not used in callsigns , reserved for commercial flights mainly. Note the
differences with present ICAO type designators used |
|||
|
BAO Type |
Newer ICAO Type Designator |
BAO Type |
Newer ICAO Type Designator |
|
BATP |
same |
B707 |
B702 |
|
AT42 |
same |
MD8 |
MD80 |
|
AT72 |
same |
C130 |
same |
|
DC9 |
same |
CP14 |
P3C |
|
EA32 |
A320 |
SH36 |
same |
|
FK10 |
F100 |
B727 |
B722 |
|
B737 |
B732 |
B747 |
B744 |
|
B757 |
B752 |
L101 |
same |
|
L100 |
same |
FK27 |
F27 |
|
BA46 |
same |
BE02 |
BE20 ? |
|
DH6 |
|
DH8 |
|
|
DC10 |
same |
|
|
For
our Military colleagues these types may be of equal value. Firstly because
civil traffic appears often in military aerodromes together with military
types. Secondly because many of these types are used with military traffic. In
BAO Tower Simulator , the F18 can fairly represent a standard modern fighter
while the C130 and its equivalent civil L100 ,B707, L101,DC10,DC9 and the CP14
(known as P3C) are currently used with their military versions. The C150,C172
and the BE20 are trainer types for both civil and military pilots , while the
FK10 resembles fairly a medium sized jet used as military commuter (ex : the
Embraer 135)
Thanks
to the work of Team Heaney at least a method
to rename and/or create 'new' from older type names becomes rather easy. So far
I renamed the EA32 to A320 , MD8 to MD80 ,B727 to B722 and B737 to B734. But
renaming produces a secondary problem : the program does not create random
exercises for types whose names have been changed. This is why you should
add the new re-named types without deleting the
older ones to be used when running randomly created scenarios
All
in all you'll need to intervene to 5 program files. What you do at the very end
is to copy the data of existing types and paste them with other names. So ,
you'll never be able to change the 3D graphics, say for a B707 , but you can
use the copy-pasted data of a B707 to create an similar type with a different
name, like say its military equivalent , the C135. Tom Heaney did it with the
A342 (A340-200). You may do it easily with the FK27 to become say a F50 or the
DC9 to become a B717 or a B727 to become a T154. The silhouettes remain the
same. You may also intervene to change some performance data influencing
acceleration , deceleration , taxiing speed parameters and the like.
Please first save copies
of the files to be changed , just in case ...and by that I mean ...always.
Use the CONTROL key + Mouse Right click and drag the files , that will be
changed, to create the 'Copy of ...' files . Later you'll only have to
rename them and delete this 'Copy of ' part in the file name . Another good idea idea is to make a copy of the entire
original Tower folder
So , is the methodology :
1]
Select the Wordpad as your file editor.
Although any ASCII editor will do ,some files are too big for Notepad. As for
Word, it is confused by the extension *.PRF used also by Windows 95 and higher(
BAO Tower was designed for Win3.1, remember )
2]
Go to the \Tower\Graphics\Models folder and
locate files with the *.DBT extension.
These are files that keep the 3D representations of your aircraft. Decide which
type you'll use to copy. Say we will copy the B707 and create with its files
the A342. OK !
·
Use the CONTROL key + Mouse Right click + Drag
to create a 'Copy of B707.dbt'
·
Rename this file to A324.dbt
3] In the same
directory open the Models.ini file. There you'll see following
text :
[ACTypes]
Count=44
ACType01=AT42.DBT
ACType02=AT72.DBT
ACType03=B707.DBT
ACType04=B727.DBT
ACType05=B737.DBT..................
etc
Copy
the line ACType03=B707.DBT and paste it at the bottom of this list that will
then look like this :
ACType41=MU2.DBT
ACType42=PA28.DBT
ACType43=PA32.DBT
ACType44=SH36.DBT
ACType03=B707.DBT
This
last line will thus become : ACType45=A342.DBT.
Now
return to the start of the file to change the line of the counter to read this
extra line. You'll have to change the second line from Count=44 to read Count=45.
Save
the file and exit. That ensures so far that
3]
The next step is to go to the folder where your aerodrome files exist , the Tower\Cyn for Canyon in our case. You’ll
change 3 files for the types used in that area. Note that by keeping older
types and adding new ones for some aerodromes only will not affect program's
functioning in any of them. But if you insist that these tyoes appear in every
area then you’ll have to repeat it for each one of them in each different
aerodorme folder. So here we focus on the files in CYN (Canyon) aerodrome
folder :
a)
Tower\Cyn\Cyn.prf
b) Tower\Cyn\Cyn.inf and c) Tower\Cyn\Cyn.typ
In
all these files no counter has to be increased , you'll only add the data for
the new type by copy-pasting the block of data corresponding to the initial
type and renaming only the type name and nothing else in the beginning of each
data block Do not omit the blank line that separates two different types
!
For
example here is the case with a short block in the Cyn.typ file. Locate the
block for the B707 ( Use the 'Find' tool )
It
looks as :
.................
Type:
B707 Equip_Type: A
Type_Name:
Boeing Civ_Mil: c
Voice_Offset:
0 Callsign_Prefix: XXX
Fixed_Gear:
FALSE
...........................
Copy
and Paste below this block its copy and rename on this second block the B707 to
A324. The two blocks will then appear like this :
.................
Type:
B707 Equip_Type: A
Type_Name:
Boeing Civ_Mil: c
Voice_Offset:
0 Callsign_Prefix: XXX
Fixed_Gear:
FALSE
Type:
A324 Equip_Type: A
Type_Name:
Boeing Civ_Mil: c
Voice_Offset:
0 Callsign_Prefix: XXX
Fixed_Gear:
FALSE
.................
I
highlight in red the change.
Note : if you want to avoid a type conflict when
creating random scenarios pay attention , not to change the bottom area of a *.typ file
where an association is made with company names and types used. This part of
the file is unimportant to you , it is only used by the random traffic
generator inside the program that uses anyhow its original types only.
Save
and exit the file.
You
so repeat the same with the other 2 files , the contents are different but the
action is the same. Note : in Cyn.inf file you've better keep the same case
letter - not sure why some are in small and others in capital. Save and exit
all the files
Now , after these interventions, Canyon will accept this 'new' type A324 with the graphics of a B707
I
did the same with a number of other types. The original Boeing B737 can stand
well for a B733,B73 and B735. The original FK10 , DC9 can resemble almost any
small rear bi-motor jet like the B717 , the E145 etc. while the FK27 can easily
become a F50 , to mention some examples only. What is more you may keep both
'new' and 'old' types in the program without any file conflict and random
scenarios can be created without any problem although BAO will use the 'old'
types only for these scenarios but will never 'complain' for you using the new
ones. Be careful to notice that if you want to run exercise with the 'new'
types then all these 5 files updated as such will have to be present always in
the proper folders. You can not use exercises you
created with 'new' types in another
![]()
I
have to warn the user to be aware of some features you can not handle easily with this program
:
1] Non separation of incoming randomly generated arrivals :
On
program generated scenarios the arriving traffic is very randomly created and
arrivals are not always separated from the previous unit ( Approach) . Very
fast planes may often catch-up with the preceding slower ones. At least , while
you run the exercise, you may select planes from the menu and DELETE them. As
for the runway vacation the rule followed is the classic one : 'one runway ,
one aircraft '. Another possibility is to save this scenario and then get into
the text of the saved
2] Undetermined parking positions :
The parking
positions to where the arrivals are going are unknown or ...'conditionally' determined
In Canyon I have found that in random scenarios :
1.
The
2.
The ‘SIGNATURE’ parkings are used by light aircraft (eg : PA28,C172) ,
executive jets (eg : C550, LR35 ) and cargo planes (eg : L100 )
3.
If the flight, however, belongs
to a known commercial company to the simulator , like AAL,UAL,
For
the departures you may , however , locate the parking position if you select from the
menu the 3D View then Spot Plane options and have a look around by rolling
your mouse
In your own scenarios you can control both the arrival
and departure parking position or Gate by using the following :
1.
Use the second line of
a flight plan that corresponds to the routing
2.
Between the : Ctr
.... @TO in departures and
3.
Then use a 'big'
American company name for the call sign
like , say
:
Departure :
Arrival : AAL221 B727
IFR -1 a
VAN
In doing so
you control the parking position towards the ,
3] Incompatible
taxing with parkings
If one arrival is cleared to taxi to parking
and just because this parking is not determined it might be that taxing will
take an unexpected course and produce an unexpected Runway crossing. It may
also block entirely another taxing flight coming out of that same parking. The
two planes will then just stop , facing each other without moving at all.
You'll have to delete one of them , the arrival most probably. Portions of a
Runway can not be used for taxing and any other 'smart' command like a 'back
track' does not exist in the command menu
4] Random callsigns
If using random callsigns it seems that no more than
10 departures can be activated although I never detected a limit for the
arrivals. This is not the case , however , if you use callsigns that are known
to the program's data base. It might be that the parking space limits some
departures because BAO takes into account some statistics about companies
from a particular aerodrome.
5] Some erroneous messages or commands
·
At times pilots on departure report a 'Request turn out of Traffic' . The exact 'separation rules' after take-off
are not always obvious. It is believed that this is a left-over from a
developed version that was never to be and smells of radar separation. In any
case this has no other effect on the exercise and you may disregard such a
message
·
Although the principle 'One Runway , one
aircraft' is properly used by the program , it will never understand why a
departing traffic is doing a circuit and then lands back on the field. A Runway
separation message is reported considering a flight in conflict with ...itself
!! This is however a bit natural for this program that did not suspect
that some people will intervene that much as to create training VFR flights out
of a simple departure. You may use this arrangement to create a fictitious
emergency for a departure returning with some failure if you wish , a thing
that will not work with a pure departure. This problem will not appear however
with an arrival that does some ‘touch-and-go’s, because landing at the end is
the 'only' natural thing for an arrival ...according to BAO
·
The 'Hold Short
of Runway' command does not work effectively. Aircraft do not
really stop clear from the Runway. You may disregard this command for ever and
use instead the more effective 'Hold Position' (on
the ground) and then the 'Taxi Continue' to
terminate the previous situation. This 'Hold
Position' command works well everywhere on ground and has an
immediate effect
·
The instruction of 'Line-Up and wait' corresponds here to the
BAO command 'Taxi and hold' . It
has the same effect but as a piece of phraseology is not a 'good example' for
students.
·
There is always a consideration for 2 minutes
spacing due to wake turbulence behind a Heavy. No problem here except that
planes have to be listed as [Heavy] in the performance file if you want BAO to
produce a message for this wake turbulence 2 minutes violation. For those who
want to ignore this detail , one may as well move all these types under the
[Medium] category in the performance files. Then all such types may be used and
program does not bother to demand the 2 minutes separation
·
There is a scoring function in the program. It
is there for fun. Not all actions are properly scored, however. It is not
real-life here but you may occasionally get a number of perks !
6] Maximum exercise time
duration
When running an exercise with known American callsigns
any duration is possible. When using other 'European' or unknown callsigns, the
program stops when the 10th departure is activated with the following message :

Arrivals are not limited however.
If anyone has discovered more and would like to share it with us
all , please contact me
![]()
This 'chapter' is an attempt to provide hints and tips to those who will try to
create their own scenarios and I have chosen the CANYON (

The points to note are the following :
The
The taxiway parallel to the 09/27 is the Taxiway A. The taxiways E
end F are used for the
'Signature 1' is often used by planes like AT42, CL60 and LR35. They
will create taxi conflicts with planes vacating


A top view - available from
the menu selection 'Spot Plane' for a traffic (United B767) that goes around
,on
The only parking positions or 'gates' you may control in the flight plan
with departures are found on the

In the flight plan they are put on the second line for the 'route' and
they work only with departures of known airline callsigns. They are preceded by
the @GG and a number from 1 to 9. Big planes like the B747 occupy 2 such
positions. All flights will back track from these gates and they will run on
the middle axis up to the end point to the left where they will ask for taxiing
before entering Taxiway A.
Note : Ground traffic becomes much more complicated with RWY27
active !
The taxing times are highlighted with yellow numbers over the red lines
indicating the taxing tracks on the diagram above :
|
From |
|
|
From
Signature 1 to Holding of |
|
|
Vacating
|
2 minutes |
|
Vacating
|
3 minutes |
|
Vacating
|
2 minutes (Note : for small jets, turboprop and lighter planes) |
|
Vacating
|
1 minutes (Note : for small jets, turboprop and lighter planes) |
Departures on a parking will call 2 minutes after the activation time in
the flight plan for taxi clearance. In
Departures entering
Example :
DESIGNING
DEPARTURES FOR
Now let us remember from above the proper syntax to create the following
flight : We want the AAL211 , B727 , to be ready for a take-off clearance at
time 05 min and 30 seconds after the exercise start time and then proceed to
YDU . The callsign and the type are filled in on the first line, as :
AAL211 B727
then BAO inserts the IFR or VFR word , followed by a blank and the -1
and the small letter d for a departure :
So this will be so far : AAL211
B727 IFR -1
d (Note : IFR or VFR
makes no difference to the program)
Then the time of activation must be calculated. Since 2 minutes are
necessary from activation to the request of taxing and another 2 from
So this will be so far : AAL211
B727 IFR -1 d 01:30
The
next part is related with the performance the plane will have but this is
actually regulated from the performance file and not what you put in it . All
you have to do is simply fill in data similar to those created in standard BAO
example files . For the B727 as with any jet the speed in the
So
this will be so far : AAL211 B727 IFR -1 d
Then
the SSR code is inserted and the
So
this will be so far : AAL211 B727 IFR -1 d
Here
is the end of the first line and we start immediately
below without any blank in between the route line : as from above ,
we first write the aerodrome
So here is the entire flight plan for this
departure :
AAL211 B727 IFR -1 d
To create , say a second one , following just 1 minute behind going to
CLAWS you just copy-paste the above and you change
a) the callsign and the type : let it be
b) you modify the time and the destination point . So this will become
:
with red I highlight the only 2 changes in time and destination
point
Off course you did not define the parking where they start , as BAO does
not include it in the flight plan but all commercial companies start at
The last part of the route Ctr @TO @LP makes necessary for a departure to be
handed over to the next unit ; however I did not see any effect if you do not
tell the pilot to change frequency - except maybe with your 'scoring'. There is
practically no other command you may give after take-off to a departure unless
you change the route text and add the landing command @FS for full-stop
at the end of its previous route So if a departure route becomes
The arrivals will anyway appear already
established on 12-13 nm finals irrespective from the direction they arrive from.
They do the first 6 nm at a speed of about 250 kt for jet/turboprop and some
120 for the propellers then they drop to some 170 and 90 correspondingly. You
may consider some 4 and 6 minutes correspondingly between the time they first
appear until landing.
Remember again that the Runway in use , as decided in the flight plan is
enough to control on what finals arrivals appear but while running the exercise
you may change this. You may use this feature to create scenarios where
VFRs approach from somewhere else and have to be slotted behind the IFRs of 09.
You may thus create arrivals for
An arrival is a bit easier to arrange in that you have to calculate its
activation time at 12 nm Final to be some 5 minutes before the time expected on
Touchdown. The first line of an arrival can be almost identical to that of a
departure except that this letter d changes to a
and the altitudes change sequence. So here is the same first line of a previous
departures converted to an arrival :
Departure : AAL211 B727 IFR -1 d
Arrival :
AAL211 B727 IFR -1 a
B U T ...considering reality these two altitudes correspond to the those
expected at 12 and then at 5 nm on final approach so I would expect something
lower . A rule of thumb suggests : ALTITUDE ON FINAL = 3 X (DISTANCE IN
NM) feet. You've better change these almost 10000 and 5000 feet to some
3600 and 1500 feet ; it works fine !
So the arrival first line will now become : AAL211 B727 IFR -1 a
As for the second line things are even easier : You need to mention a
point it is coming from , like say VAN found
exactly south Canyon or any other like YDU, YLK ,
CLAWS but this will have no effect on the position on finals. You may
see them on radar of course while they go to the finals of 09 but you can not
affect this period anyhow. Actually it hardly matters for you and this is why VAN is the default selection for all arrivals for 09.
The rest of the line is by default the
And this is then our arrival flight plan , made to appear at 12 nm
Finals on 01:30 ( Note : we left the same time and therefore it is
expected on Touchdown around 5 minutes later , at about 06:00 to 06:30, I'd say
) :
AAL211 B727 IFR -1 a
VAN
Now use your 'Copy-Paste' logic : What do you need to change for another
such arrival flight , apart from callsign and maybe type of aircraft ? Answer :
The activation time only ! This is simple enough except that you should care
for spacing since it is the flight plan and not the previous unit that controls
this. How many minutes to put between successive flights to avoid you
starting giving radar headings to avoid conflicts on finals ?
2 min minimum spacing seems OK for totally successive
landings of jets and turboprops while I'd say you need some 4-5 minutes with a jet 'chasing' a slower type.
If you consider Wake Turbulence ( explanations follow later on this ) then add another 2 minutes additional spacing. So how
a flight would look like coming just 2 minutes behind AAL211 , with a callsign
of UAL337 and type B737 ?
Here are both of them , the only difference been activation time :
AAL211 B727 IFR -1 a
VAN
UAL337 B737 IFR -1 a
VAN
It is so easy as that ....
And here is a full text for this exercise with the above 4 created
flight plans for 2 arrivals and 2 departures. You may use this text in the notepad
and then save it under the name , say : myownexe.sim , in the
Here you have it :
TOWER Simulation File Version 3.8
[SimInfo]
Sector
Aircraft 4
Vehicles 0
Minutes 20
Seed 1111142424
SimType NORMAL
[Description]
Canyon
4 acft/10 min
2 arrivals , 2 departures
[Objectives]
Runway spacing
[Environment]
Pilots Perfect
Emergencies None
Equipment Perfect
CloudConditions Clear
TstormCoverage 0
Ceiling 10200
CloudTops 11200
Visibility 11.000000
[WindLevels]
0 05 090
2000 10 090
4000 10 095
8000 10 095
12000 10 100
[Waypoints]
[Aircraft]
AAL211 B727 IFR -1 d
AAL221 B727 IFR -1 a
VAN
UAL337 B737 IFR -1 a
VAN
Check with red :
1) the 4 I have modified after Aircraft under the [SimInfo] for 4
flights in scenario
2) that I changed the arrival AAL211 to AAL221 to avoid having any
callsign repeated in the exercise
also note that :
3) there are no blank lines left between the lines of the same flight
plan BUT I can have blanks between different flight plans and I have put one to
separate the text between arrivals and departures , for my eyes that is
4) I have put some text below the [Description] and [Objectives] headers
to remember some things about the exercise content and aim ( A very short text
at the moment as this is simply an example )
5) The sequence you put flight plans in the exercise is irrelevant to
activation time and you may group them the way you want
6) The callsign we use are your own callsigns , the difference is that
if not from the ones known to the program you'll not hear them on the voice
communication but all the rest like strips and text dialogues work fine.
Touch-and-Go :
It is very easy to have as many Touch-and-Go you want provided you
insert an equal number of the @TG command before the @FS command in the flight
plan route of an arrival. For example the flight plan :
N12372 C150 VIFR -1 a
VAN
will execute 2 Touch-and-Go before landing. Pilots will report 'On the
Go' awaiting for further instruction. You may send them to a downwind leg , ask
them to proceed to a final of some
BAO will identify a Wake Turbulence problem using the rule for 2 minutes
separation for any Take-off / Landing behind a 'Heavy'. For some reason though
the B707, B757,B767, DC10 and the L101 are not classified as Heavies in the
original Canyon (
1] We will change 2 files in Canyon the
2] For those types already included in these files the B707,B757,DC10
and L101 are initially written below the header [Airline] , like any other
normal Medium jet. Copy , Cut and Paste all the data block for these types
under the header [Heavy] in both files
3] In each [Heavy] header copy and paste the block for the L101 twice.
Then simply rename the title in the beginning of these copied blocks from L101
to B747 and MD11. Repeat the same in both files
From now on the program will recognize all these types as heavies. When
running an exercise note that an H/ is written in front of each one of these
types on the strips , like : H/B707 , H/B747 etc. Now the program
will check that you provide 2 minutes separation
on the use of a runway after such a 'Heavy'. Pay attention that your arrivals
behind a Heavy keep a reasonably good separation when you design the exercise,
like say 3 minutes behind a Heavy or some 10 nm on final to avoid any problems
and 'accept' that there is such a 'letter-of-agreement' with the Approach/Radar
unit. For the departures there is no such need as you will decide when they can
take-off behind a Heavy.
Conflicts need definitely some rules - and there is a variety around.
Once however you have a set of separations then what is left is the technique
of time positioning of flight plans. Let us put few there for example :
1. No departure clearance if approaching arrival is less than 5 nm from
Touchdown
2. No departure clearance if arrival has not completely vacated the
Runway and is asking for taxi clearance
3. No Taxi clearance in front of another using the same Taxi on
same direction and not 1 Km ( about a 1/3 of Runway length) at least , between
them
4. Arrivals of similar approach speed need 5 nm separation in track
while on final , else 10 nm
5. Landing behind a Heavy , that is the B707,DC10,L101,B747,B757,B767
and the MD11 , is allowed if there is separation of 8 nm with succeeding
jet/turboprop or 12 nm if it is a light behind
6. Taking-off behind a Heavy that previously used the
7. No departure clearance in case of missed approach, low passing or
going around traffic turning for a downwind , until this traffic reports (...
is established) on downwind
You may argue for the details but this is not the point. At least we can
create some conflicts now !
Say you want to create traffic situation based on rules No 2 and 4 .
There are 3 successive jet landings separated by 2 minutes between them and 3
departures that are not allowed to use the runway while arrivals use it .
That's easy isn't it ?
Just create 3 arrivals spaced with 2 minutes time and have 3 departures
activated closely together. Since the first arrival should block at least the
first departure and since it will take 5 minutes to arrive on the runway while
the departure needs again 4 minutes between push-back and runway , you may use
same arrival and departure times in the flight plan using the
So what about this scenario :
;Arrivals
VAN
AAL101 B737 IFR -1 a
VAN
N1777 CL60 IFR -1 a
VAN
;Departures
NWA140 DC9 IFR -1 d
NWA198 B727 IFR -1 d
Note : Did you notice the use of a
semicolon in the beginning of a blank line to mark my own comments for Arrivals
and Departures ?
In case you are afraid that during the exercise run you or your
'student' will not react on time and clearances will come with some delay , enough
to create a problem with the successive arrivals , you may improve the spacing
between them adding another 30-40 seconds. I would have so modified their
spacing by assigning
So successive jet departures have some 1 m 30 s between them - fair
enough. As for the 'delay' between push-back and take-off ...well , this is
around some 11-12 minutes for the busy days : very close to what is actually
happening daily . Quite convincing , wouldn't you say ?
What we had so far was a kind of a traffic 'peak' for the first 15 minutes. If you want to repeat with a similar ( ...maybe identical ?) traffic situation say between minutes 20 and 35 ( ...allowing a break in between ) you use your valuable Copy-Paste technique for all this block of flights and all you have to do is simply change the callsigns and offset all times by 20 minutes. As for the types you may leave them 'as is' but having some 'replacements' by equivalent types will give a 'different' character to this piece. So just go for some DC9,B737 ,EA32 or MD8 instead of B727 this time. Hey ...do not forget to change the number of aircraft to 12 below the [SimInfo] header !! You may now run it and enjoy it. It is a piece of cake ! Imagination is your only limit.
Download few Exercises
Here you may download few exercises in the CANYON field. You'll have to unzip those files within the CYN folder for the Canyon aerodrome. I have created them using the above principles but I have abandoned on purpose many modifications I have made to my types of aircraft in this area so that all the users with the very standard files can run them. Just double click on this TWR_Exercises.zip file. You may edit them with any text editor , preferably the Notepad and read under the [Description] header to get an overview and some objectives . If any problem is found call me for help . A possible area of problem could be an aircraft type not recognized or some 'Heavies' that are not normally allowed in Canyon - but which I have modified to be able to fly there. The B707 is a heavy type usually allowed in Canyon but not a B747 or MD11 . If this is the case convert them to B707s using the editor
I don't know what you think of paper strip for the Tower job but 'old'
instructors appreciate them ! Using manageable paper strips which you may
position so as to have a meaning and because they so become an additional
traffic picture to you , are helpful. At least I agree with the 'older'
generation although I do not think I can convince the younger colleagues.
Anyway ...
The program has a print-strip menu selection that you may better avoid !
It prints only the departure strips and needs 1 page (Yahh !) for each one !
That’s why I created a more 'comfortable' QBASIC program that can
read the BAO exercise files (*.sim) and extract the information of the flight
plans and accordingly print all strips on an A4 paper with a very
generic format which , given time and ideas I may develop further. Here is an
example of a part of this strip page on a worked example for the exercise
scenario I mentioned before
|
On an arrival strip you have the callsign , type , speed (I'll probably remove it though ) and time calling on 12 nm Final (12F) and the route on the last line preceded by the runway. With red the 'controller' marks the times for the first call near 12 nm final when landing clearance was given, the time of the taxi clearance after landing ( I'll change that to landing time) and the time arrived on the parking For a departure the time
of push-back , the taxi clearance time to the All you've got to do is enter the file name for the exercise and then you just watch the strips being printed. The logic of the program is the following : 1] detect the number of aircraft under the [SimInfo] header and build a dimensioned array for the data to be later extracted and then stored 2] detect the header [Aircraft] under which the flight plans are found and start reading them 3] Ignore blank lines or semicolons and read only the lines with data, extracting their information and putting them in the array and store them 4] Position these data into a blank strip format and then print sequentially each one of them according to the order found in the exercise
|
|
|
Caution : This program is , however ,
DOS based and can work only for older printers that are connected by the parallel
port RS232. This does not seem to work with modern printers connected via a |
|
Ha...BAO designers used their own (?) photos to create 'personalities'
that work in Tower Control with 'your' skills. The program saves your scores if
you select one of the photos and allocate a name to it. Then according to your
achievements some perks follow ! See those I've got till now under the initials
'kk' :

Free meals , free rental cars , free tickets , 'Controller of the year'
(!) and even an impossible one ..."Recognition at Civil Function"
.... I wonder ...what did I do to ...deserve it ... But
...if you are hungry and wish to get a free meal after a hard day's traffic ,
BAO means to reward you. Have fun
![]()
For
more information on this program , possibility of downloads and some
interesting add-ons , advise these sites :