Pilots and ATFCM

Everything a pilot needs: CTOT concept, VDGS usage, and Prediction tool usage.

CTOT window -5/+10 VDGS live Prediction

CTOT explained

What CTOT means and how the -5/+10 window works.
How CTOT works
  • If congestion is expected, a slot with CTOT may be issued.
  • Take-off must be within -5 / +10 minutes of CTOT.
  • Example: CTOT 1200Z ⇒ take-off between 1155Z and 1210Z.
Why it matters
  • Affects start-up, push, and taxi planning.
  • Missing the slot may cause additional delay.
  • VDGS gives the live operational window.
Take-off window
CTOT is a wheels-up constraint. Plan start-up/push and taxi to meet the window.

VDGS (Pilot Panel)

Live CDM/ATFCM timing for your flight and the start-up request window.
Access / Login
  • Redirected to VATSIM OAuth.
  • Uses your CID + selected callsign.
  • Session expires after ~2h inactivity.
Live updates
  • Refreshes every ~15 seconds.
  • Manual refresh available.
Status banner
The colored banner tells you if you can request start-up now, when your window opens, or if you missed it.

VDGS fields explained

Definitions of values shown in VDGS.
CALLSIGN

Selected flight.

EOBT

Filed off-block time.

TOBT

Target ready time.

TSAT

Target start-up approval.

EXOT

Expected taxi-out time.

CTOT

Take-off slot, if regulated.

Reason

Most penalising rule.

ATFCM

SAM/SRM/SLC/FLS etc.

SID

Departure procedure (if present).

OFF-BLOCK reference used for the window
Order: TSAT → (CTOT - EXOT) → TOBTEOBT. Window is roughly -5 to +6.

Recommended pilot workflow

Check → wait → request start-up in window → update TOBT if needed.
Before ready
  • Open VDGS, confirm data.
  • Prepare while banner is yellow.
Window opens
  • Banner green: request start-up.
  • ATC online: normal procedure.
Missed window
  • Banner red: update TOBT.
  • Coordinate if needed.

Updating TOBT

Use when you won’t be ready on time.
Format
  • HHMM UTC.
  • Example: 1725 = 17:25Z.
Best practice
  • Update early if you know you’ll miss.
  • Avoid repeated small changes.

REA status

Protects CTOT from becoming worse and may allow improvements.
When to set

Only when aircraft is fully ready for start-up and pushback.

Rule
With REA, allocated CTOT can never be worse.
Remove REA?

Yes, using the panel, you can unset it if already active.

ATFCM Prediction Tool

Estimates if your filed plan is likely to receive CTOT and which airspace is most penalising.
What you need

A complete ICAO2012 FPL starting with (FPL-... including fields 9/13/15/16/18.

How to use the Prediction Tool

Steps and common validation errors.
Steps
  1. Open the tool.
  2. Paste full ICAO2012 FPL.
  3. Submit and wait for result.
  4. Review CTOT / most penalising / route map / profile.
Common errors
  • Missing callsign header.
  • Missing aircraft type (Field 9).
  • Missing route (Field 15).
  • Missing remarks (Field 18).

Reading the output

How to interpret CTOT/no delay and maps.
CTOT

Empty usually means NO DELAY. If present, plan via VDGS window.

Not applicable

Often invalid FPL or unsupported scenario.

Route map & profile
  • Map shows predicted path.
  • Profile shows altitude along route.

Troubleshooting

Fast checks for common issues.
VDGS error retrieving flight data
  • Wait 15–30 seconds.
  • Refresh.
  • Confirm callsign and flight is filed.
Prediction says incomplete
  • Full FPL incl. Field 18.
  • Field 13 includes DEP+EOBT like LEBL1725.
  • Field 15 has speed/level + route.
Need help?
Report CTOT/Reason/Status anomalies to your vACC Operations.

(FMP) IFPS — Flight Path Creation

How a VATSIM flight plan becomes a minute-by-minute trajectory with Traffic Volumes entry-exit times.

Runs every 2 min Airblocks/TV Climb/Descent

Overview

IFPS creates the timeline used later by ETFMS capacity calculations.
Output
  • Minute-by-minute points along route (with speed/level changes).
  • Entry/exit times for airblocks and aggregated Traffic Volumes.
  • Calculated ETA (fallback if path fails).
Purpose
  • Find where the aircraft is at each minute.
  • Enable occupancy/entry counting in ETFMS.

Input data (from VATSIM)

Key fields used to build the path.
Flight plan object

Most relevant: flight_rules, aircraft_short, departure, arrival, route, cruise_tas, altitude, deptime, enroute_time, remarks.

{
  "flight_plan": {
    "flight_rules": "I",
    "aircraft_short": "A320",
    "departure": "EDDF",
    "arrival": "LPMA",
    "cruise_tas": "445",
    "altitude": "35000",
    "deptime": "0955",
    "enroute_time": "0342",
    "route": "..."
  }
}

First checks

Fail-fast eligibility checks before heavy computation.
CheckWhat is checkedExpected
IFR onlyflight_rules must be IFR (I)YES
Scope zoneDeparture or arrival within the supported ICAO prefix listYES

ITEM15 processing (route resolution)

Resolve airways/waypoints and preserve speed/level changes.
Preserve speed/level changes

Tokens like BSN/N0448F370 update the “current” speed/level from that point onward when generating 1-minute points.

Point generation (one point per minute)

How times are assigned: baseline + EXOT; speed reductions; TAS→GS alignment; climb/descent.
Time baseline
  • Use TOBT if present, else EOBT.
  • Add EXOT (default 15 if not sent by CDM).
Speed reduction + distances
  • 20% speed reduction dep → first waypoint, and last waypoint → arrival.
  • Add extra miles from sidStarDistances.txt.
TAS → GS recalculation

Compare computed enroute time vs filed enroute_time. If mismatch, re-run using GS to align.

Climb & descent profile
  • EuroScope profile per aircraft type.
  • Apply SID/STAR restrictions and vACC profile_restrictions.txt.
  • Configured levels override SID/STAR.

Airblocks & Traffic Volumes (TV)

Detect entry/exit times using volume polygons, then aggregate to TV.
Geometry source

Airblocks are loaded from airblocks.geojson .

Entry/exit per volume
  • Entry = first minute-point inside.
  • Exit = last minute-point inside.
Aggregation to TV
  • Entry = earliest entry among composing airblocks.
  • Exit = latest exit among composing airblocks.

Re-processing and ETA fallback

When IFPS re-runs and how ETA is computed if path fails.
Re-process when
  • Route updated.
  • Departure/arrival updated.
  • Other flight plan changes affecting path.
ETA processing
  • If path fails: ETA = departure time + flight time.
  • If path succeeds: use calculated ETA.

ECFMP restrictions

Ground Stop and Mandatory Routes handling; event flights.
Event flights (VATCAN)
  • Cannot be affected by Ground Stop.
  • Still subject to other restrictions.
  • Have priority over non-event traffic in calculations.
Measures
  • Ground Stop ⇒ suspend FLS-GS and set isInvalid=true.
  • Mandatory Route non-compliant ⇒ suspend FLS-MR and set isInvalid=true.
Cadence
Automatic IFPS complete processing runs every 2 minutes.

cdmSts & ATFCM status codes

What the system may set on the flight.
cdmSts values
  • REA: slot cannot get worse.
  • FLS-***: suspended.
  • COMPLY: airborne detected within CTOT ± 15; or derived TOT when no CTOT.
  • AIRB: processed when already airborne.
ATFCM status
  • FLS-NRA, FLS-CDM, FLS-MR, FLS-GS
  • DES, SAM, SRM, SLC
  • ATC_ACTIV: set when AOBT is set
Flight plan disconnection

Removed after 10 min disconnected. If filed again after removal ⇒ flight becomes AIRB.

(FMP) ETFMS — Calculate Restrictions

How CTOT is computed from airspace occupancy/entries, destination capacity, and ECFMP measures.

Runs every minute CTOT assignment

Overview

Order planes, set TTOT, run modules, delay by +5 until all constraints pass.
Ordering & TTOT
  • Ordered by connection time.
  • EVENT planes are prioritised.
  • TTOT = (TOBT if exists else EOBT) + EXOT.
Alignment requirement

Airspace occupancy, airspace entries, destination capacity and ECFMP must all pass for the assigned CTOT.

Airspace calculations

Occupancy per minute (Occ) and entry limits per 20-minute bucket (E60/20).
Occupancy (Occ)
  • Count aircraft in airspace for each minute of flight.
  • If above capacity: delay flight by 5 min and re-check.
  • If last regulation has no ID: append -O to mostPenalisingRegulation.
  • Max CTOT: 3h after initial TTOT.
Entries (E60/20)
  • Count entries in 20 min buckets (00-20 / 20-40 / 40-60).
  • If above capacity: delay by 5 min and re-check until OK.
  • If last regulation has no ID: append -E.
  • Max CTOT: 3h after initial TTOT.

Destination calculations

Ensure arrival capacity is respected inside ±1 hour around ETA.
Rule
  • For each airspace: between 1h before and 1h after ETA, ensure arrivals below capacity.
  • If above: increase ETA until a gap is found.
  • Max CTOT: 3h after initial TTOT.

ECFMP calculations

Convert measures to minute separation and shift TTOT until compliant.
Measures
  • Uses per_hour, minimum_departure_interval, average_departure_interval.
  • Creates a separation value in minutes.
  • If not complying: increase TTOT until a gap exists.
  • If delayed: keep CTOT and re-run full calculations to revalidate all modules.
  • Max CTOT: 3h after initial TTOT.

Final CTOT logic

Pick the most restrictive delay; handle CTOT removal/creation; REA protection.
Picking delay
  • If multiple delays: choose the most restrictive.
  • If only one delay: use it.
If no delay and previous CTOT exists
  • If EOBT/TSAT + EXOT + 5 already in the past ⇒ CTOT = NOW + EXOT + 5.
  • If still in the future ⇒ CTOT removed (not regulated).
Worst CTOT can happen
Worst delay can occur in all cases except when REA is set.
Notes
  • Flights with ATOT are not recalculated as candidates but are counted in airspace.
  • Excluded flights never enter ETFMS calculations.

DPIs

Actions/messages that impact ETFMS calculations.
DPIMeaningEffect
TOBTSet Off Block TimeUpdates TOBT; triggers recalculation rules based on delta.
TOTSet Take Off TimeUpdates TTOT candidate; can trigger recalculation.
ATOTSet Actual Take Off TimeNot candidate for recalc; still counted in airspace.
DLADelay messageNo direct ETFMS calc trigger like TOBT/TOT.
SUSPSuspensionTriggers FLS-CDM.
REAReady for improvementCTOT cannot worsen; may improve.
REQTOBTRequested TOBTSets TOBT and updates CDM plugin.
EXCLUDEDExcluded flightNever regulated by ETFMS.
AOBTActual Off BlocksMovement state; can set ATC_ACTIV.
TOBT delta ≤ 10 min
  • If CTOT exists: extend CTOT by delta.
  • Try for improvement; otherwise keep protected.
  • Example: TOBT 1500 CTOT 1530 → TOBT 1505 → CTOT 1535.
TOBT delta > 10 min
  • Full recalculation, CTOT may improve or worsen (unless REA set).
  • Example: TOBT 1500 CTOT 1530 → TOBT 1515 → recalc CTOT.
Best practice
If ready, set REA ASAP to protect your slot during automatic recalculations.