SIDs & STARs
SIDs and STARs are published flight procedures that aircraft follow during departure and arrival. They define a sequence of waypoints with altitude and speed restrictions at specific fixes. In radarcontrol.io, you manage these by telling aircraft to follow the procedure ("descend via") or by overriding individual constraints when traffic requires it.
What they are
A SID (Standard Instrument Departure) is a published route from a runway to the en-route airway structure. It tells departing aircraft which waypoints to fly and what altitudes to maintain at each fix.
A STAR (Standard Terminal Arrival Route) is a published route from the en-route structure to the airport area. It brings arriving aircraft from cruise altitude down to an approach-ready altitude through a series of waypoints with descent and speed constraints.
Both exist to keep traffic flowing predictably. Without them, every aircraft would need individual routing and altitude instructions.
Availability
SIDs and STARs are currently available for select US airports only, sourced from FAA CIFP data. International airports and smaller US airports without published RNAV procedures will not have procedure data. Aircraft at these airports get standard routing instead.
How they work in the sim
Aircraft spawn with a SID or STAR already assigned. You'll see the procedure name in the flight strip and radar panel. But the aircraft won't follow the procedure constraints automatically. You need to issue "descend via" or "climb via" first.
Once active, the aircraft:
- Descends (or climbs) to meet each constraint at the right fix
- Starts descent at the calculated top-of-descent point (300ft per nautical mile)
- Decelerates to meet speed restrictions within 20nm of the fix
- Reports "unable" if it can't physically make a constraint (too high, too close)
You can cancel at any time, override specific constraints, or just assign an altitude directly.
Commands
| Command | What it does |
|---|---|
dv | Descend via the STAR |
cv | Climb via the SID |
xp | Cancel all procedure restrictions |
x GREKI 240 | Cross GREKI at FL240 |
rdv | Resume descend via (after cancellation) |
rcv | Resume climb via |
These chain with other commands. AAL123 dv s250 activates descend via and sets speed 250.
When to use what
dvwhen you want the aircraft to handle its own descent profile. Best when traffic is light.x FIX ALTwhen you need a specific altitude at a fix for spacing or sequencing. The rest of the procedure stays active.- A direct altitude like
c280cancels descend via entirely. Use this when you need to stop the descent for traffic. rdvto re-engage the procedure after a manual altitude override.
Constraint types
Each fix on a SID/STAR can have an altitude constraint, a speed constraint, or both.
| Type | Meaning | Example |
|---|---|---|
| At | Must cross at exactly this altitude (200ft tolerance) | Cross GREKI at FL240 |
| At or above | Must be at or above this altitude | Maintain 3,000ft or above at CESID |
| At or below | Must be at or below this altitude | Cross CCC at or below FL240 |
| Between | Must be within this altitude window | Cross HUULK between 8,000 and 10,000 |
Speed constraints work the same way - "at or below 250kt" means don't exceed that speed at the fix.
The 250kt restriction below 10,000ft is always enforced regardless of procedure status, unless explicitly waived.
Reading the radar
When you hover or pin an aircraft with a procedure, you'll see:
- Route overlay - constraint fixes show a ring around them with altitude/speed annotations below. Blue means upcoming, green means met, red means busted.
- Aircraft label - shows
▼PARCH4(STAR) or▲DEEZZ5(SID) when descend/climb via is active. - Route color - green for SIDs, blue for STARs (yellow when pinned, as usual).
The sidebar procedure panel shows the full constraint list with status indicators:
▶next constraint to meet✓satisfied✗busted·pending
Scoring
Good procedure management earns points. Sloppy work costs them.
| Event | Points |
|---|---|
| Constraint met | +40 |
| Constraint busted | -60 |
| All constraints met (perfect procedure) | +100 bonus |
| Continuous descent, no level-offs | +75 bonus |
The efficient descent bonus rewards keeping aircraft on a smooth descent path without stopping them at intermediate altitudes for traffic. It's hard to earn in busy sessions.
Common workflow
A typical STAR arrival goes like this:
- Aircraft enters sector at FL350 on the PARCH4 arrival
- You issue
AAL123 dv- aircraft begins following the STAR - Aircraft descends to meet FL240 at CCC, then 12,000 at ROBER
- Traffic conflict - you issue
AAL123 c280to stop the descent (cancels via) - Conflict resolved - you issue
AAL123 rdvto resume the STAR - Aircraft meets remaining constraints, you vector to the ILS
For SIDs, departing aircraft get cv after takeoff. They climb through altitude gates automatically.
"Unable" calls
If an aircraft is too high and too close to a constraint fix, the pilot calls "unable." This happens when the required descent rate exceeds 1,000 feet per nautical mile - steeper than any aircraft can physically descend.
When this happens, the descend via is automatically cancelled and the constraint is marked busted. You'll need to either:
- Issue a manual altitude and re-sequence the arrival
- Vector the aircraft for a longer path to the next fix
Plan descents early. If you keep aircraft at FL350 until 10nm from a fix that requires FL240, they can't make it.
Procedure data in scripts
Scripts can read procedure information and respond to constraint events:
onSpawn((aircraft) => {
if (aircraft.procedureState?.procedureType === 'STAR') {
aircraft.descendVia();
}
});
onConstraintSatisfied((e) => {
log(`${e.cs} met ${e.fix}`);
});
onConstraintBusted((e) => {
log(`${e.cs} busted ${e.fix}: ${e.reason}`);
});The procedures API lets you look up any SID or STAR:
onTick(({ procedures }) => {
const star = procedures.getSTAR('PARCH4');
// { id, airport, waypoints, altitudeConstraints, speedConstraints, runwayTransitions }
});See the API reference for the full scripting API.
Quick reference
COMMANDS
dv, rdv Descend via STAR / resume
cv, rcv Climb via SID / resume
xp Cancel procedure restrictions
x GREKI 240 Cross GREKI at FL240
x GREKI 12000ft Cross GREKI at 12,000 feet
BEHAVIOR
Altitude cmd Cancels descend/climb via
Speed cmd Does NOT cancel via
Hold Preserves via (resumes after exit)
Unable Auto-cancels via, busts constraint
SCORING
Constraint met +40
Constraint busted -60
Perfect procedure +100
Efficient descent +75