GCMS

Constellation / Operations Manual
Operator's Manual
GCMS Constellation Operations Centre — Ground Station Operator Reference
Contents
  1. Overview
  2. Constellation Monitoring
  3. Satellite Telemetry
  4. Ground Segment
  5. Commanding Satellites
  6. Terminal Command Reference
  7. Onboard Software
  8. Fault Management

01. Overview

GCMS (Galileo Constellation Management System) is a real-time operations centre for monitoring and commanding satellite constellations. It provides a unified view of all satellites in orbit, their subsystem health, ground station contacts, and a command interface for satellite operations.

This interface displays live telemetry refreshed at 1 Hz. Orbital positions are computed with J2 perturbation modelling for accurate RAAN drift. Ground station contacts are determined by real-time elevation angle calculations.

What You See

Status Indicator

The LIVE badge in the header pulses when telemetry is being received. If it turns red, the connection to the operations server has been lost. The timestamp next to the badge shows the age of the most recent update.

back to top

02. Constellation Monitoring

Fleet Table

The fleet table lists every active satellite. Click any row to open its telemetry dashboard. Columns:

ColumnDescription
SatelliteName and designation (e.g., GSAT0218 / E31)
SVNSpace Vehicle Number — unique identifier for the spacecraft
StatusRUN = nominal operations
T+Mission elapsed time
SOCBattery state of charge with trend sparkline
ADCSAttitude mode: SUN, EARTH, TARGET, or SAFE
EclipseECLIPSE when in Earth's shadow, sunlit otherwise
SafeSAFE if satellite has entered safe mode
GNDGround contact indicator — shows best elevation angle when in contact
ISLNumber of active inter-satellite links
FuelRemaining propellant. B = burn active, ! = thruster fault

Ground Segment

Below the satellite table, a divider row separates the ground segment. Each ground station row shows its name, type, geographic position, and the number of satellites currently in contact. Click a ground station to open its dashboard.

Constellation Health

The health score (0–100) in the statistics bar summarises overall constellation fitness:

A healthy constellation maintains a score above 90. Scores below 70 warrant immediate operator attention.

3D Globe

The interactive globe shows satellite positions in real time. Satellites are colour-coded: blue when sunlit, orange when in eclipse. Ground stations appear as green diamonds with labels. Lines between satellites indicate active inter-satellite links.

Click a satellite on the globe to open its telemetry dashboard. Click a ground station to open its dashboard. Hover over either to see a tooltip with key status information. Drag to rotate, scroll to zoom.

Mercator Map

The flat Mercator projection below the globe shows satellite ground tracks as dots and ground stations as green diamonds. If GPS position is available, your receiver location appears as a labelled marker.

GPS Receiver

When a GPS receiver is connected, the GPS panel shows the computed position fix, number of satellites in view, DOP (dilution of precision) values, and pseudorange data. Your position is marked on both the globe and the Mercator map.

back to top

03. Satellite Telemetry

Click a satellite in the fleet table or on the globe to open its telemetry dashboard. The dashboard shows subsystem panels arranged in a grid. Use the breadcrumb navigation at the top to return to the constellation view.

Orbit

Altitude, orbital period, inclination, RAAN (right ascension of ascending node), sub-satellite point (latitude/longitude), eclipse status, and sun beta angle. The RAAN drifts over time due to J2 perturbation from Earth's oblateness.

Power (EPS)

Battery state of charge, solar array power generation, bus voltage, and load consumption. During eclipse, the satellite runs on battery power; in sunlight, solar arrays charge the battery and power the bus. load_shed indicates non-essential loads have been disconnected to conserve power.

Thermal

Temperature readings (in Kelvin) for each thermal node: OBC, battery, payload, solar panel, and structure. Heaters maintain temperatures within safe bounds. If any node exceeds 340 K, FDIR triggers automatic load shedding.

ADCS (Attitude Determination & Control)

Attitude modes and their operational use:

ModeDescription
SUN_TRACKDefault. Solar arrays track the sun for maximum power generation.
EARTH_POINTNadir pointing. Enables communication antennas and observation payloads.
TARGET_TRACKPoints at specific ground coordinates for a set duration.
SAFEMinimum-power safe orientation. Set automatically by FDIR during anomalies.

Reaction wheels store angular momentum on three axes (normalised 0.0–1.0). When any wheel approaches saturation (above 0.95), FDIR commands automatic desaturation using magnetorquers.

Communications

Maximum and effective downlink rate, ground contact status, best elevation angle, contact station type, queued downlink files, and total data downloaded.

Ground contact gating: Downlink only occurs during ground station passes. The effective bitrate depends on elevation: 10% at the horizon, scaling linearly to 100% at 45° or above. When no ground station is in view, the downlink queue is paused.

Storage

Onboard mass storage capacity and current usage. Files are created by onboard software and queued for downlink during ground passes. The satellite uses a dual-slot (A/B) partitioning scheme for safe software updates.

Propulsion

Fuel mass remaining, delta-V budget, active burn status, and individual thruster health. Supports prograde, retrograde, and radial burns. Each of four thrusters can independently fail (stuck open or stuck closed).

Inter-Satellite Links (ISL)

Number of active ISL peers, link details, and connectivity status. Inter-satellite links require line-of-sight between spacecraft, computed from orbital geometry. ISL enables cross-link communication between satellites in different orbital planes.

Processes

A table of all running onboard software processes showing PID, name, privilege role, state, CPU usage, and memory consumption. Click a service name to view its source code.

Event Log

Chronological log of satellite events: mode changes, FDIR actions, ground contacts (AOS/LOS), burns, faults, and software lifecycle events. Events are severity-coded: INFO, WARN, ERROR.

back to top

04. Ground Segment

Station Types

Ground stations serve different roles in constellation operations. The station type determines its function in the ground segment:

TypeFull NameRole
GCC Galileo Control Centre Primary mission control facility. Manages constellation operations, orbit determination, navigation message generation, and platform monitoring. GCCs have full commanding authority over the constellation.
TTC TT&C Station Telemetry, Tracking & Command station. Receives satellite telemetry downlink, performs ranging measurements for orbit determination, and sends platform commands to satellites during contact passes.
ULS Uplink Station Transmits navigation messages and mission data to satellites. Handles telecommand uplink for configuration changes and onboard software updates.
GMS Galileo Monitor Station Passive monitoring facility. Receives and measures navigation signals for signal integrity verification and independent orbit determination. Does not command satellites.

Ground Station Dashboard

Click a ground station in the fleet list or on the globe to open its dashboard. The dashboard shows:

Contact Mechanics

A contact begins when a satellite rises above the station's minimum elevation mask (typically 5°). This is called AOS (Acquisition of Signal). The contact ends at LOS (Loss of Signal) when elevation drops below the mask.

For satellites at MEO altitude (~23,222 km), contact passes are long — typically several hours — and multiple satellites are often in view simultaneously. The elevation angle determines link quality: higher elevation means shorter signal path and better throughput.

Elevation-Dependent Bitrate

The satellite's effective downlink rate scales with the best ground station elevation:

If multiple ground stations are in contact with the same satellite, the station with the highest elevation determines the effective rate.

back to top

05. Commanding Satellites

Ground Station Terminal

Satellite commands are issued through the ground station terminal. Open a ground station dashboard and use the terminal panel at the bottom. The terminal includes a satellite selector dropdown that lists all satellites currently in contact with that station.

Select a target satellite from the dropdown, then type commands in the input field. Commands are routed to the selected satellite and the response is displayed in the terminal output area.

Contact required: You can only command satellites that are currently in contact with the ground station. If a satellite drops below the elevation mask (LOS), it will disappear from the selector. Regaining contact (AOS) will make it available again.

Common Operator Workflows

Check satellite health:

status              # Overall status summary
events 10           # Recent system events
fuel                # Propulsion and fuel status
ps                  # Running onboard processes

Manage attitude:

set_mode earth_point                    # Switch to nadir pointing
request_pointing target 48.1 11.3 300   # Point at coordinates for 300s
set_mode sun_track                      # Return to sun tracking
desat                                   # Command wheel desaturation

Manage downlink:

queue_file obs_data 50          # Create a 50 MB observation file
queue_downlink obs_data         # Queue it for downlink to ground

Manage onboard software:

ps                              # List running processes
service list                    # List all services and their states
service restart ttc             # Restart the TTC service
logs 7                          # View output from process PID 7

Orbit maintenance:

fuel                                # Check fuel and delta-V budget
burn prograde 0.5 60                # Prograde burn: 0.5 N for 60 s
burn_abort                          # Abort burn if needed

Set runlevel:

runlevel                        # Show current runlevel
runlevel maintenance            # Enter maintenance mode
runlevel normal                 # Return to normal operations
back to top

06. Terminal Command Reference

Complete reference for all commands available in the ground station terminal. Commands are sent to the currently selected satellite.

Information

CommandDescription
helpList all available commands
statusSatellite status summary (runlevel, sim time, safe mode, subsystems)
psProcess list with PID, name, role, state, CPU%, and memory
events [n]Last n system events (default: 20)
fuelPropulsion status: fuel mass, delta-V remaining, thruster health

Filesystem

CommandDescription
cd [path]Change working directory
pwdPrint working directory
ls [path]List directory contents
cat <path>Read file contents
mkdir <path>Create directory
rm <path>Remove file or directory
write <path> <content>Write content to file
chown <root|user> <path>Change file ownership

Program Management

CommandDescription
verify <name>Verify program manifest and syntax
compile <name>Compile program from /programs/
load <id|name>Load compiled program into the runtime
exec <id|name>Start program execution
kill <pid>Terminate a running process
logs <pid>View process output (last 20 lines)
service listList all services and their states
service start <name>Start a service
service stop <name>Stop a service
service restart <name>Restart a service

Attitude & Propulsion

CommandDescription
set_mode <mode>Set attitude mode: sun_track, earth_point, target_track, safe
request_pointing target <lat> <lon> <dur>Point at ground coordinates for <dur> seconds
desatCommand reaction wheel desaturation
burn <axis> <thrust_n> <dur_s>Command a propulsion burn
burn_abortAbort the current burn immediately

Burn axes: prograde, retrograde, radial_in, radial_out

Burns consume fuel irreversibly. Verify fuel reserves and delta-V budget with fuel before commanding burns. FDIR will automatically abort a burn if a thruster fault is detected.

Storage & Downlink

CommandDescription
queue_file <name> <sizeMB>Create a file in onboard storage
queue_downlink <filename>Queue file for downlink during next ground contact

System

CommandDescription
runlevel [level]View or set runlevel: normal, safe, maintenance
slot [a|b|sync]View or set active software partition, or sync both
pkg listList installed packages
pkg availableList packages available for install
pkg install <name>Install a package
pkg remove <name>Remove a package
fault inject <type>Inject a fault for testing (see Fault Management)
seed <int>Reset simulation RNG seed
back to top

07. Onboard Software

Quadrate Runtime

Each satellite runs the Quadrate (QD) runtime — a native-code compiler and execution environment for onboard programs. Programs handle satellite operations from power management to telemetry broadcast.

Core Services

These services run automatically and manage satellite operations. They can be inspected, restarted, or stopped via the terminal:

ServiceIntervalPurpose
fdir1 sFault detection, isolation, and recovery. Manages safe mode transitions, thermal limits, wheel desaturation, burn abort, and ground contact monitoring.
epsd2 sEPS daemon. Controls battery charging, load shedding decisions, and solar array tracking.
thermald3 sThermal daemon. Manages heater activation based on temperature limits for each thermal node.
adcsd3 sADCS daemon. Handles target tracking timer, desaturation completion, and wheel monitoring.
scheduler2 sProcess scheduler. Enforces CPU and memory quotas, terminates processes that exceed limits.
ttc5 sTTC link management. Drains the downlink queue during ground contacts, logs AOS/LOS events.
mcastd2 sMulticast daemon. Broadcasts telemetry via UDP for ground station discovery and tracking.
Restarting core services: Use service restart <name> to restart a misbehaving service. Stopping critical services like fdir disables fault protection — only do this during planned maintenance windows.

Deploying Programs

Operators can upload and execute custom programs on a satellite via the terminal. Programs are written in QD and follow a manifest-based lifecycle:

# Upload a program to the satellite
write /programs/monitor.qd "//app=monitor\n//tick=5000\n\nfn tick( -- ) {\n  \"heartbeat\" xsat::log\n}"

# Compile and run it
compile monitor
exec monitor

# Verify it's running
ps

Privilege Levels

RoleAccess Level
coreFull system access. Can modify satellite state, fire events, control burns, manage services.
rootElevated access. Used for operator-deployed system services.
userRead-only telemetry access. Cannot modify satellite state directly.
back to top

08. Fault Management

FDIR (Fault Detection, Isolation & Recovery)

The onboard FDIR service continuously monitors satellite health and takes autonomous action when anomalies are detected:

FDIR events appear in the satellite event log. After safe mode entry, the satellite will recover automatically once conditions normalise (e.g., battery SOC rises above threshold as solar charging resumes).

Fault Injection

For training and testing FDIR response, faults can be injected via the terminal. Use fault inject <type> from the ground station terminal:

FaultEffectExpected FDIR Response
power_drain Instantly drains 30 Wh from the battery If SOC drops below 20%, satellite enters safe mode (load shed, ADCS safe, user apps stopped)
wheel_spike Saturates all 3 reaction wheels to 0.92 momentum FDIR triggers automatic desaturation when any wheel exceeds 0.95
temp_spike Increases OBC temperature by 40 K FDIR triggers load shedding if any thermal node exceeds 340 K
stuck_thruster Thruster 0 stuck open — uncontrolled fuel leak and delta-V FDIR aborts any active burn when thruster fault is detected
thruster_closed Thruster 1 stuck closed — reduced available thrust Burns still possible with remaining thrusters at reduced efficiency

Example: Power Anomaly Response

# Inject a power drain
fault inject power_drain

# Watch FDIR respond
events 5

# Monitor recovery as solar charging restores SOC
status
Thruster faults are persistent — a stuck-open thruster will continuously leak fuel until the satellite process is restarted. Monitor fuel levels closely after thruster fault injection.
back to top
GCMS Operator's Manual — Constellation Operations Centre