ATCMaroc User Guide
← Back to Simulator

ATCMaroc Simulator

A comprehensive guide to controlling air traffic at Moroccan airports. Learn everything from basic radar operations to advanced approach sequencing.

GMAD — Agadir GMMN — Casablanca GMMX — Marrakech

Welcome

Welcome to the ATCMaroc Air Traffic Control Simulator. You play the role of an approach/departure radar controller at one of three Moroccan airports. Your job is to manage both departures and arrivals — climbing departures out of your airspace on their SIDs, and descending/vectoring arrivals to the runway for approach clearance.

What's automatic: Takeoffs and landings are handled by the system. You do not need to issue taxi, takeoff, or landing clearances. Departures will take off on their own and begin climbing to an initial altitude. Arrivals will land automatically once you clear them for an approach. Your job starts after takeoff and ends at the approach clearance.

In short: you manage everything between takeoff and landing — altitude assignments, heading vectors, speed control, SID/STAR compliance, approach clearances, and separation between all aircraft.

The Radar Scope

The radar scope is the large dark area that fills most of your screen. It shows:

ActionHow
Pan the scopeHold right mouse button and drag (configurable in Settings)
Zoom in / outScroll wheel up / down
Reset zoomClick the middle mouse button (scroll wheel click)
Select an aircraftLeft-click on its radar target or data block
DeselectLeft-click on empty space, or press Esc

The Command Bar

At the bottom of the screen is the command input bar. This is where you type instructions to aircraft. The basic pattern is:

[callsign] [command] [arguments]

For example:

RAM802 d 80        — descend to 8,000 ft
RAM802 t r 270     — turn right heading 270
RAM802 i 35L       — cleared ILS runway 35L
Tip: You don't have to type the callsign! Just click the aircraft on the scope first — the callsign appears automatically in the command bar. Then type only the command.

Autocomplete

The command bar has a built-in autocomplete system. As you type, suggestions appear above the input. Use:

Chaining Commands

You can issue multiple commands in a single transmission. Just string them together:

RAM802 d 60 t l 180 - 210 i 17R

This tells the aircraft to descend to 6,000, turn left heading 180, reduce speed to 210 knots, and expect ILS runway 17R — all at once.

Understanding the Display

Data Blocks

Every aircraft on the scope has a data block — a 3-line text label connected to the radar target by a leader line. Here's how to read it:

RAM802  H        ← Line 1: Callsign + Wake Turbulence Category
370  320C        ← Line 2: Cleared FL + Current FL
B738  450  SAD   ← Line 3: Aircraft Type + Groundspeed + Exit Fix (departures)

Line 1 — Callsign & Wake Turbulence

Shows the aircraft callsign (e.g., RAM802) followed by the wake turbulence category letter when applicable:

Line 2 — Cleared & Current Flight Level

Shows two altitudes side by side, both in hundreds of feet:

Example: 370 320C means the aircraft is cleared to FL370 and currently passing through FL320 (climbing). When both numbers match, the aircraft is level at its assigned altitude.

Line 3 — Type, Speed & Exit Fix

Violation Indicator

When a separation violation occurs, a flashing VI appears above the data block in a warning color. This means the aircraft is too close to another — resolve the conflict immediately.

Tip: At a glance, you can tell if an aircraft is climbing or descending by comparing the two numbers on Line 2. If the left (cleared) is higher than the right (current), it's climbing. If lower, it's descending.

Extended Label Window (ELW)

Click the ELW button in the footer bar to toggle the Extended Label Window panel. When visible, hover over any aircraft's data block and the ELW will display detailed flight information — aircraft type, assigned altitude, speed, route, and more — without cluttering the scope.

Scope Display Toggles

Click the scope display icon (circle with crosshairs) in the footer bar to reveal a submenu of toggles:

ToggleWhat It Shows/Hides
FixesNamed waypoints and navigation aids on the scope
SID displayStandard Instrument Departure routes (lines on scope)
STAR displayStandard Terminal Arrival Routes (lines on scope)
Airspace DepictionYour airspace boundary polygon
Restricted AreasAreas where aircraft must not enter
TerrainElevation shading (on by default)
Video MapsOverlay lines showing airways, coastlines, etc.

MVA Sectors

Click the MVA button in the footer to toggle Minimum Vectoring Altitude sectors on the scope. These show the minimum safe altitude you can assign to aircraft in each area, accounting for terrain and obstacle clearance. The altitudes are displayed as numbers inside sector boundaries.

Important: Never assign an altitude below the MVA for the sector the aircraft is currently in. Aircraft descending through mountainous terrain at too-low an altitude will result in a terrain conflict.

Managing Departures

How Departures Work

Departure aircraft appear on the scope already airborne — the system handles taxi and takeoff automatically. After takeoff, the aircraft will climb to an initial altitude (set by the airport) and then wait for your instructions.

Your job is to:

  1. Clear them on their route — confirm their filed SID with Cleared As Filed (caf)
  2. Climb them — issue a Climb via SID (cvs) or a direct altitude assignment
  3. Get them out of your airspace — via their SID exit point, using shortcuts (pd) if needed

Cleared As Filed (caf)

When a departure appears, its data block shows the SID it has filed. Use caf to confirm that the aircraft is cleared to follow its filed flight plan:

RAM802 caf

This tells the aircraft: "You are cleared to follow the SID you filed." The aircraft will navigate the SID waypoints automatically.

Tip: If you want to assign a different SID than the one filed, use the sid command instead: RAM802 sid BAMRA1.

Climb via SID (cvs)

After clearing an aircraft on its SID, authorize it to climb following the altitude and speed restrictions published in the procedure:

CommandAliasExampleEffect
Climb via SIDcvsRAM802 cvsClimb to cruise altitude following SID restrictions
Climb via SID to altitudecvs [alt]RAM802 cvs 150Climb to FL150 following SID restrictions

Without cvs, the aircraft will stay at its initial altitude. You can also give a direct altitude assignment instead (c 150), which overrides the SID restrictions and climbs directly.

Altitude, Heading & Speed

You can control departures the same way as arrivals, using the basic control instructions:

RAM802 c 120          — climb to 12,000 ft
RAM802 fh 270         — fly heading 270
RAM802 + 300          — speed up to 300 knots

Use heading assignments to separate departures from arrivals or from each other. Altitude assignments help you maintain vertical separation.

Getting Departures Out of Your Airspace

Departures exit your airspace when they fly beyond the airspace boundary (or climb above the ceiling, if the "Allow departures via climb" setting is enabled). To speed up the process:

Tip: A common departure workflow: RAM802 caf cvs — clears the aircraft on its filed route and authorizes the climb, all in one transmission.

Controlling Arrivals

How Arrivals Work

Arriving aircraft enter your airspace from one of several entry points, following a STAR (Standard Terminal Arrival Route). Your job is to:

  1. Descend them to appropriate altitudes
  2. Vector them (give headings) to align with the runway
  3. Clear them for an approach (ILS, direct final, VOR, or RNP)

Once cleared for an approach, the aircraft will automatically intercept the localizer, descend on the glideslope, and land — landing is handled by the system. You do not need to issue a landing clearance. Your job ends at the approach clearance.

Descend via STAR

The simplest way to manage altitude on an arrival: tell the aircraft to follow the altitude restrictions published in their STAR.

CommandAliasExample
Descend via STARdvsRAM802 dvs
Descend via STAR to altitudedvs [alt]RAM802 dvs 60 (to 6,000 ft)

The aircraft will descend following the STAR's altitude and speed restrictions. After the last restriction, it will hold that altitude until you give further instructions.

Vectoring to Final

When the aircraft needs to leave its STAR route and be guided to the runway, you give radar vectors — heading assignments that guide it onto the final approach course. A typical sequence:

RAM802 d 40           — descend to 4,000 ft
RAM802 t l 270        — turn left heading 270
RAM802 t r 350        — turn right heading 350 (intercept heading)
RAM802 i 35L          — cleared ILS runway 35L
Tip: The intercept angle should be 30 degrees or less relative to the runway heading for a smooth localizer capture. For runway 35 (heading 350), good intercept headings would be 320 or 020.

ILS Approach

The ILS (Instrument Landing System) is the most common approach type. The aircraft must be:

CommandAliasExample
Clear ILS approachi, ils, *RAM802 i 35L

Once cleared, the aircraft will automatically intercept the localizer, follow the glideslope, and land on its own.

Direct Final (df)

A shortcut to send an aircraft directly onto the final approach course without step-by-step vectoring.

CommandAliasExample
Direct Finaldf, finalRAM802 df 35L
Direct Final with distancedf [rwy] [nm]RAM802 df 35L 15 (join at 15nm)

The aircraft will fly directly to a point on the extended centerline and then fly inbound to the runway. The optional distance parameter controls how far out from the runway it will join the final (default is 10nm).

Other Approach Types

TypeCommandExampleDescription
VOR Approach vor RAM802 vor 35L Non-precision approach using VOR guidance
RNP Approach rnp RAM802 rnp 35L GPS-based precision approach
Direct to IF dif RAM802 dif 35L Proceed direct to the Initial Fix of the approach
Self-Positioning spos, selfpos RAM802 spos 35L Aircraft navigates itself onto final approach

Sequencing Multiple Arrivals

When multiple aircraft are arriving simultaneously, you need to sequence them — establishing an orderly flow to the runway. Key techniques:

Tip: A good rule of thumb is to aim for about 10nm of spacing between successive aircraft on final approach. Use the measure tool (Ctrl + click) to check distances.

Basic Control Instructions

Altitude

Altitudes are always given in hundreds of feet. To assign 8,000 ft, you say 80. To assign FL180 (18,000 ft), you say 180.

CommandAliasesExample
Set altitudea, c, climb, d, descend, altitudeRAM802 d 60
Set altitude + expediteadd ex or expediteRAM802 c 120 ex
Note: The command word doesn't matter — climb 60 and descend 60 both set the target altitude to 6,000 ft. Use whichever feels natural.

Heading

Headings are given as a three-digit magnetic heading (001–360). You can specify a turn direction or let the aircraft choose the shortest turn.

CommandAliasesExampleNotes
Fly heading (shortest turn)fh, hRAM802 fh 270Aircraft turns whichever way is shorter
Turn left headingt l, turn leftRAM802 t l 270Forces a left turn
Turn right headingt r, turn rightRAM802 t r 270Forces a right turn
Turn by degreest l [deg] / t r [deg]RAM802 t l 30Turn left 30 degrees from present heading
Fly present headingfphRAM802 fphMaintain current heading, stop following route
Tip: When the argument is 3 digits (e.g., 270), it's treated as a target heading. When it's 1 or 2 digits (e.g., 30), it's treated as a relative turn from the current heading.

Speed

Speed is given in knots of indicated airspeed (IAS). Note that the scope displays groundspeed, which may differ.

CommandAliasesExample
Set speedsp, +, -, slow, speedRAM802 - 210
Resume normal speedsp (no argument)RAM802 sp

The "resume normal speed" command (or the Normal Speed button in the popup menu) removes your speed restriction and lets the aircraft revert to its own speed management.

Combining Commands

You can chain any number of commands in a single transmission. This is faster and more realistic:

RAM802 d 40 t r 350 - 180 i 35L

This single command: descends to 4,000 ft, turns right heading 350, slows to 180 knots, and clears for ILS runway 35L.

Cross

Instructs an aircraft to cross a specific waypoint on its route at a given altitude and/or speed. The aircraft manages its own descent/acceleration to comply.

CommandAliasesExamples
Cross at altitudecr, xRAM802 x LACAD a80 (cross LACAD at 8,000 ft)
Cross at speedcr, xRAM802 x LACAD s220 (cross LACAD at 220 kts)
Cross at bothcr, xRAM802 x LACAD a80 s220

Routing & Navigation

Proceed Direct

Sends the aircraft directly to a waypoint that already exists in its flight plan, skipping intermediate waypoints.

CommandAliasesExample
Proceed directpd, dct, directRAM802 pd BAMRA

If the aircraft is flying to fixes [A, B, C, D], issuing pd C makes it skip A and B, going directly to C then D.

Hold

Instructs the aircraft to fly a holding pattern over a fix. By default, it will use right turns, 1-minute legs, and the reciprocal inbound bearing.

RAM802 hold BAMRA                         — standard hold
RAM802 hold BAMRA left 2min 180           — left turns, 2-min legs, outbound hdg 180
RAM802 hold BAMRA right 5nm               — right turns, 5nm legs

Parameters you can specify (in any order after the fix name):

Exit Hold

CommandAliasesExample
Exit current holdxh, exithold, cancelhold, continue, noholdRAM802 xh
Exit hold at specific fix(same aliases)RAM802 xh BAMRA

You can also exit a hold by assigning a new heading (fh 270) or a proceed direct (pd FIXNAME).

Route & Reroute

Route (insert)

Inserts a segment into the aircraft's existing route. If the new route shares a common fix, the FMS merges them automatically.

RAM802 route FESKO..RUFUS..BAMRA

Reroute (replace)

Completely replaces the aircraft's current route with a new one.

RAM802 rr LAKAB..BAMRA..LACAD.STAR1.GMMN

Route notation uses dots: single dot (.) links fixes within a published procedure, double dot (..) links fixes by direct routing.

SID / STAR Assignment

CommandExampleDescription
starRAM802 star MLP.GLASR9.GMMNAssign a STAR (transition.name.airport)
sidRAM802 sid BAMRA1Assign a SID by name

Say Commands (Queries)

Ask the aircraft to report its current or assigned parameters:

CommandAliasWhat It Reports
Say altitudesaCurrent altitude
Say assigned altitudesaaAltitude you told it to fly
Say headingshCurrent heading
Say assigned headingsahHeading you assigned
Say indicated airspeedsiCurrent IAS in knots
Say assigned speedsasSpeed you assigned
Say routesrCurrent flight plan route

Instead of typing commands, you can left-double-click on any aircraft to open a popup command menu. This is a graphical interface with buttons for all major commands.

Each button with an arrow () opens a submenu when you hover over it.

Direct

Shows all waypoints in the aircraft's current route. Click one to issue a pd (proceed direct) command. Also has a manual text input for typing a fix name.

Altitude

Displays preset flight levels for quick selection. Click any altitude button to assign it immediately. Includes:

Heading

Shows a compass rose of heading values to click. Also includes:

Speed

Displays preset speed values (e.g., 160, 180, 210, 250, 280). Also includes:

Approach

Lists available runways with approach types: ILS, DF (direct final), DIF (direct to IF), and SPOS (self-positioning). Click the desired combination to issue the approach clearance.

Say

Quick buttons for Say Speed, Say Heading, and Say Altitude queries.

Remove

Removes the aircraft from the simulation. Requires confirmation click.

Scope Commands & Tools

Switching to Scope Mode

By default, the command bar accepts aircraft commands. Press the ` (backtick) key to toggle into scope command mode. Press it again to return to aircraft command mode. In scope mode, you can type scope-specific commands like data block moves and scratchpad entries.

Move Data Block

In scope mode, use the numpad layout to position data blocks:

Position Map:    7  8  9       Example:
                 4  5  6       8 RAM802    — move data block up (north)
                 1  2  3       3 RAM802    — move data block down-right
                               5 RAM802    — center directly over target

You can also specify leader line length (0–6): 8/4 RAM802 — move up with length 4.

Projected Track Lines (PTLs)

PTLs are lines projecting ahead of an aircraft based on its speed and heading, showing where it will be in the future.

KeyAction
F1Decrease PTL length (step down)
F2Increase PTL length (step up)

The increment steps are configurable in Settings under "Projected Track Line increments".

Range/Bearing Measurement Tool

An essential tool for checking distances and headings between any two points:

ActionHow
Measure between two pointsHold Ctrl and left-click two points on the scope
Snap to aircraft or fixHold Shift + Ctrl and left-click
Clear all measurementsPress Esc

The tool displays the bearing (heading) and distance (in nautical miles) between the two points. If snapped to a moving aircraft, it also shows estimated time.

Traffic & Airport Setup

Available Airports

Click the Airports button in the footer to switch between airports:

ICAOName
GMADAgadir Al Massira Airport
GMMNCasablanca Mohammed V Airport
GMMXMarrakech Menara Airport

You can also switch via the command bar: airport gmmn

Traffic Rate

Click the airplane icon in the footer to open the Traffic Setup dialog. Here you can:

Tip: Start with lower traffic rates while learning. Once comfortable, increase them for a challenge.

Runway Configuration

Inside the Traffic Setup dialog, you can change the active runway configuration. This determines which runways are active for arrivals and departures. The configuration should match the wind direction — aircraft operate into the wind.

Timewarp

Speed up time to fast-forward through quiet periods:

Pause

Click the pause icon in the footer, or type pause in the command bar. Click anywhere on the scope to resume.

Settings

Click the gear icon in the footer to open the Settings dialog. Available options:

SettingOptionsDescription
Scope Theme Classic, Default, Celestial Changes the visual appearance of the entire radar scope
Control Method Classic, Arrow Keys Classic: type commands only. Arrow Keys: use arrow keys for heading/altitude
ILS Separation Indicator From Theme, Yes, No Shows a trailing dot 2.5nm behind aircraft on ILS to help with spacing
PTL Increments Multiple presets Step sizes when pressing F1/F2 (e.g., 1-2-4-8 minutes)
Projected Path Always, Selected, Never When to show the planned route line of aircraft
Allow Departures via Climb Yes, No If yes, aircraft can leave your airspace by climbing above the ceiling
Panning Button Left Click, Right Click Which mouse button drags the scope for panning
Range Rings Off, Default, 1–20 nm Concentric circles around the airport at set intervals
Measure Path Style Straight, Arc to next, All arced How the range/bearing measuring line is drawn
Chat Log Duration Number (seconds) How long radio transmissions remain visible on screen

Click the speaker icon in the footer to toggle speech synthesis — when enabled, pilot readbacks are spoken aloud using your browser's text-to-speech.

Separation Rules

As a radar controller, you must maintain minimum separation between all aircraft under your control:

Minimum Separation:
10 nautical miles laterally   OR   1,000 feet vertically

If two aircraft come closer than these minimums simultaneously (less than 10nm and less than 1,000 ft), a separation conflict occurs. This is highlighted on the scope and should be resolved immediately.

Collision occurs when aircraft are within approximately 160 feet of each other — a catastrophic failure of separation.

Tip: Always maintain vertical separation when aircraft are close laterally. Assign different altitudes to crossing traffic. Use the measure tool (Ctrl+click) to verify separation.

Keyboard Shortcuts

KeyAction
F1Decrease PTL length
F2Increase PTL length
` (backtick)Toggle between aircraft / scope command mode
Ctrl + left-clickPlace measurement point
Shift + Ctrl + left-clickSnap measurement to nearest aircraft or fix
EscClear measurement lines / deselect aircraft
Numpad *Shortcut for ILS command
Numpad +Speed up (alias for + speed command)
Numpad -Slow down (alias for - speed command)
Scroll wheelZoom in / out
Middle mouse buttonReset zoom
Right-click + dragPan the scope

Command Cheat Sheet

Aircraft Commands

CategoryCommandAliasesSyntax
Altitude / Speed Altitudea c climb d descend[call] d 80
Altitude + expedite[call] c 120 ex
Speedsp + - slow speed[call] - 210
Normal speedsp[call] sp
Crosscr x[call] x FIX a80 s220
Heading Fly headingfh h heading[call] fh 270
Turn left/rightt turn[call] t l 270
Turn by degreest[call] t r 30
Fly present headingfph[call] fph
Departure Cleared as filedcaf[call] caf
Climb via SIDcvs[call] cvs or cvs 150
Assign SIDsid[call] sid BAMRA1
Approach ILSi ils *[call] i 35L
Direct finaldf final[call] df 35L
Direct final + distdf[call] df 35L 15
VOR approachvor[call] vor 35L
RNP approachrnp[call] rnp 35L
Direct to IFdif[call] dif 35L
Self-positioningspos selfpos[call] spos 35L
STAR / Routing Descend via STARdvs[call] dvs or dvs 60
Proceed directpd dct direct[call] pd BAMRA
Expect runwaye[call] e 35L
Assign STARstar[call] star MLP.GLASR9.GMMN
Hold Holdhold[call] hold FIX
Hold (custom)[call] hold FIX left 2min 180
Exit holdxh exithold cancelhold continue nohold[call] xh
Query Say altitudesa[call] sa
Say assigned altsaa[call] saa
Say headingsh[call] sh
Say IASsi[call] si
Say routesr[call] sr
Misc Squawksq[call] sq 0401
Deletedel kill[call] del

System Commands

CommandAliasSyntax
Switch airportairportairport gmmn
Pausepausepause
Timewarptwtw 5
Spawn rateraterate 2

Scope Commands (press ` first)

CommandSyntaxExample
Move data block[1-9] [callsign]8 RAM802
Move + set length[dir]/[len] [callsign]8/4 RAM802

ATCMaroc Simulator — User Guide

Launch Simulator  ·  ATCMaroc.com  ·  Contact