Skip to content

Spacecraft

Asset reference

Concept

In ASTROLAB a spacecraft is the central orbital actor of a mission study. It owns the dynamic state (orbit + attitude), participates in the 3D scene, and usually acts as the parent for payloads that see the Earth or talk to the ground: sensors, antennas, transmitters/receivers, solar arrays, and batteries.

Think of it as the digital twin of a satellite bus: mass and area properties feed drag/SRP and power; the propagator turns an initial state into an ephemeris over the scenario; attitude laws orient instruments and panels; constraints can further restrict when the spacecraft is allowed to “count” in access-like calculations.

Constellations do not replace spacecraft — a Walker or trailing constellation creates and groups member spacecraft that remain individually propagated.

Where in the UI

Action How
Create Mission Tree → Spacecraft category → Add Spacecraft (desktop context menu or mobile ⋯)
Edit Select spacecraft → Properties (tabbed editor)
Apply Apply Changes when the header shows dirty *
Children Add from tree under the spacecraft, or manage Power/Battery panels inside the spacecraft tabs

Editor tabs

Tab Purpose
Generic Identity, mass properties, propagator
Orbit State / frame / orbit design wizard / external ephemeris
Attitude Attitude law and parameters
Visual 3D model, color, trail
COMM Bus data-plane for Latency (MMFU, rates, processing)
Power Bus size + solar array panels
Battery Battery packs
Constraints Access / environment constraints

Generic

Parameter Type Default Notes
Asset ID text — Display / report name
Active in scene refresh checkbox — When off, skipped on scene refresh
Mass [kg] decimal 500 UI: Mass kg
Drag coefficient Cd decimal 2.2
Geometric properties source select Constant Values / From Custom Assembly Assembly needs a custom 3D design on the Visual tab
Area mode select Nominal / Randomly Tumbling / Max / Min Only when From Custom Assembly
Drag area [m²] decimal 1 Locked when areas come from the assembly
SRP coefficient Cr decimal 1
Reflectivity area [m²] decimal 1 Locked when areas come from the assembly
Propagator Type select Keplerian See table below

Spacecraft — Generic tab, mass and areas

Spacecraft Properties — Generic (mass, Cd, areas).

Propagator types

Apply Changes refreshes Design with the selected propagator (Keplerian, Eckstein–Hechler, DSST, or Numerical). Analyses that propagate the bus use the same choice.

Propagator Description
Keplerian Two-body analytical
Eckstein Hechler Analytical (LEO-style perturbations)
DSST Propagator Semi-analytical — efficient on long horizons
Numerical Propagator Numerical integrator + force models (table below)

Numerical propagator options

Visible only when Propagator Type = Numerical Propagator:

Parameter Type Default
Min step [s] decimal 0.001
Max step [s] decimal 300
Abs tolerance decimal 1e-6
Rel tolerance decimal 1e-8
Gravity field Degree integer 4
Gravity field Order integer 4
Include atmospheric drag checkbox off
Atmosphere model select NRLMSISE-00 (also DTM2000, Harris-Priester, Simple Exponential)
Space weather source select CSSI Space Weather / Marshall Solar Activity Forecast / Constant Flux and GeoMag (web; F10.7, F10.7A, Kp). Desktop stores the same fields if the mission came from web.
Solar activity select Low / Moderate / High (Marshall only)
F10.7 / F10.7A / Kp decimal 150 / 150 / 3 when space weather is Constant Flux
Include solar radiation pressure checkbox off
Include third-body point masses checkbox off. Web: when on, pick bodies (default Sun and Moon; also Mercury…Neptune). Desktop keeps the same on/off; a bodies list saved from web is preserved.

Spacecraft — Generic tab

Spacecraft Properties — Generic (identity and propagator).


Orbit

Parameter Type Options / notes
Epoch start UTC text Locked if external ephemeris is on
Epoch end UTC text Locked if external ephemeris is on
Coordinate frame select Inertial: EME2000, GCRF, TEME, TOD, MOD, CIRF, ECLIPTIC · Earth-fixed: ITRF
State type select Cartesian, Keplerian, Equinoctial, Delaunay — Keplerian/Equinoctial/Delaunay require an inertial frame (not ITRF)

State elements by type

State type Parameters
Keplerian SMA [km], ECC [-], INC [deg], RAAN [deg], AOP [deg], TA [deg]
Cartesian X/Y/Z [km], VX/VY/VZ [km/s]
Equinoctial a [km], ex, ey, hx, hy, Lv [deg]
Delaunay L/G/H (×1e6), l/g/h [deg]

Orbit design wizard

Writes a designed orbit into the document when you click Design orbit (document) (Apply still required for the scene). Check that the initial state fields updated before applying.

Wizard class Key parameters (min–max, default)
LEO Generic alt_km 200–2000 (500), ecc 0–0.1 (0.001), inc_deg 0–180 (98.6), aop/raan/ta 0–360
LEO Alternative perigee/apogee alt 200–2000, inc, aop/raan/ta
SSO alt 400–900 (700), ecc, mltan_h 0–24 (10.5), aop/raan/ta
Repeating Ground-Track revolutions 1–200 (14), cycle_days 1–100 (1), ecc, inc, raan, aop
SSO Repeating (I/D) i 1–15 (3), d 2–20 (10), ecc, aop/raan/ta
GTO perigee 200–2000 (250), apogee fixed ~35786 km, inc 0–90 (27)
GEO alt fixed ~35786 km, ecc 0–0.01, inc 0–10
Molniya perigee 500–1000 (600), apogee 39000–41000 (40000), inc ~63.4°, aop often 270°

External ephemeris

Parameter Type Notes
Use external ephemeris file checkbox Locks manual orbit editing
Load ephemeris file file .txt, .eph, .oem
Ephemeris file / external epoch readonly Filled after load

Spacecraft — Orbit state vector

Orbit — frame and state vector.

Spacecraft — Orbit design wizard

Orbit — design wizard (SSO, LEO, GEO, …).


Attitude

Parameter Type Options
Attitude law select Nadir, LVLH, QSW, TNW, VVLH, Inertial, Sun Pointing, Spin-Stabilized
Law Extra parameters
Nadir —
LVLH / QSW / TNW / VVLH Roll/Pitch/Yaw [deg], Rotation order (XYZ…ZYX)
Inertial Inertial frame (EME2000, GCRF, TEME, TOD, MOD, CIRF, ECLIPTIC)
Sun Pointing Sun axis X/Y/Z (default Z = −1)
Spin-Stabilized Base frame (Inertial/LOF), frame select, spin axis (±X/Y/Z), spin rate [deg/s]

Spacecraft — Attitude tab

Spacecraft Properties — Attitude (nadir and other laws).


Visual

Parameter Type Default
Model select From resource catalog, or Point only
Color color #66E8FF typical
Model scale decimal Normalized Cesium scale
Trail [s] decimal 3600
Show orbit path checkbox on
Show label in scene checkbox off

Spacecraft — Visual tab

Spacecraft Properties — Visual (model, color, trail).


COMM (spacecraft bus)

This tab is the data-plane size of the bus for Latency and ISL routing: how fast data is produced, how much can sit onboard, and how fast it can leave on a downlink or ISL. It is not the RF budget — EIRP, G/T, and margins live on Transmitter / Receiver and Link.

Each field is a value + unit pair.

How Latency uses the bus

Coverage answers when you acquire. Latency then moves bytes along a Connection Network. The spacecraft COMM fields are the caps on that move. Under ISL (CGR earliest delivery) they also size the ISL hop and how many radios may fire at once (CGR-ETO).

flowchart LR
  Cov["Coverage window"] --> Acq["Acquisition data rate"]
  Acq --> Mmfu["MMFU onboard"]
  Mmfu --> Isl["ISL Data Rate"]
  Mmfu --> Dl["Downlink Data Rate"]
  Isl --> Neigh["Neighbour MMFU"]
  Neigh --> Gnd["Facility"]
  Dl --> Gnd

The COMM tab groups the fields by link, each group with a one-line hint. The (i) button explains every parameter. Order: Onboard storage (MMFU) · Acquisition and processing · Downlink · ISL · Uplink from ground.

Field (editor) Default Where it is used
MMFU capacity 512 GB Onboard mass memory. Acquired bytes accumulate here until a contact can drain them. If the tank fills, later data overflows (not delivered).
Acquisition Data Rate 150 Mbps How fast this bus produces data while Coverage says it is acquiring — only if the acquirer is the spacecraft (no sensor, or Coverage picked the bus). Bytes ≈ rate × time. If Coverage’s acquirer is a sensor, Latency uses that sensor’s Acquisition data rate (default 80 Mbps) instead; the bytes still land in this spacecraft’s MMFU. Discrete Acquirer rate × acquisition window uses the same rule. Discrete Fixed payload size ignores this rate and uses the size you set on Latency.
Downlink Data Rate 450 Mbps Space → ground hop. The hop is limited by the slower of this rate and the facility’s Max. RX Data Rate. Used on Direct dump and as the last hop after ISL.
ISL Data Rate 200 Mbps Spacecraft → spacecraft hop when Latency (or Coverage command) policy is ISL (CGR earliest delivery). Pair rate = min of the two buses. Unused on Direct downlink.
Processing Latency 0 s Store-and-forward delay added when a file arrives on this bus (ISL relay, or a Static IoT uplink) before it can be forwarded. Data the bus acquires itself does not pay it. CGR counts it when choosing the route, so a slow relay can lose to a later direct pass.
Max. Concurrent Downlink Links 1 How many X-band dumps may originate at this bus at once. Independent of the ISL radio: a satellite can dump to ground and forward ISL in the same step.
Max. Concurrent ISL Links 1 Parallel ISL transmits. When the Connection Network uses laser/antenna sensors, this count is per terminal (+V and −V can radiate together). When the CN rows are the buses, it is the spacecraft total. CGR-ETO and Session share that rule. X-band dump is the other knob.
Uplink Data Rate 2 Mbps How fast the bus can receive from the ground. Static Latency: the uplink of each IoT packet and the session capacity of each user. Station command uplinks (Discrete facility tasking) also use it. It is not the downlink dump rate.
Max. Concurrent Uplinks 1 Static Latency only. How many ground clients (IoT sites or Session users) this bus receives at once. Continuous and Discrete ignore it, so a spacecraft with two sensors acquiring is never limited by it. Independent of ISL and X-band radios.

Sensor vs bus: production rate comes from the Coverage acquirer. Memory, uplink, space-to-ground and ISL always come from the parent spacecraft COMM tab. In Static, a site seen only by a sensor uplinks to that sensor's bus.

Three radio classes, not one: Max. Concurrent Uplinks receives from ground clients (Static only). Max. Concurrent ISL Links and Max. Concurrent Downlink Links are the relay and dump transmitters. Raising the uplink cap does not add parallel dumps.

Facility COMM is the other half of a downlink: Max. RX Data Rate, plus concurrent RX / processing — Facility.

After you change these numbers, re-run Latency (it goes stale). Changing COMM does not by itself recompute Coverage geometry or Link RF. Full picture: When analyses become stale.

Spacecraft — COMM tab

Spacecraft Properties — COMM (MMFU, rates, ISL, concurrent radios).


Power (solar arrays)

Solar arrays are child assets (solar_array) edited inside this tab (no standalone web editor).

Control Meaning
Add panel / Remove panel Create/remove solar_array children
Model source Custom Design (bus X/Y/Z [m]) or Default Models
Per panel Asset ID, Mount face (±X/Y/Z), Pos X/Y/Z [m], Euler sequence, R1/R2/R3 [°], Dim X/Y/Z [m], Use SADM, Pointing (Fixed / Sun-Tracking), SADM axis, Area [m²] (default 5), Efficiency (default 0.3)

Plan limit

solarArrayPerParent caps how many panels you can add per spacecraft.

Spacecraft — Power tab, bus

Power — bus size and model source.

Spacecraft — Power tab, panels

Power — solar-array panel card.


Battery

Batteries are child assets (battery) edited in this tab.

Group Parameters
Generic Battery ID; Battery Type preset (Generic Li-Ion / LiFePO4 / NiH2) — applies chemistry defaults
Energy Nominal Capacity [Wh] (default 500), Initial / Min / Max SOC [%]
Charge/discharge Charge/Discharge efficiency [%], Max charge/discharge power [W]
Electrical bus Nominal / Min / Max voltage [V]
Advanced Self-discharge [%/day], Capacity degradation [%/yr], Min/Max operating temp [°C]

Validation: non-empty ID; capacity > 0; 0 ≤ min SOC ≤ max SOC ≤ 100; initial SOC in 0–100; nominal voltage > 0.

Plan limit

batteryPerParent caps batteries per spacecraft.

Spacecraft — Battery tab

Spacecraft Properties — Battery (packs and SOC limits).


Constraints

Constraint type Default parameters
Range min_km 0, max_km 2000
Ground elevation min_deg 10, max_deg 90
Eclipse state not_in / in
Target illuminated (flag only)
Ground sun zenith angle min_deg 0, max_deg 80
Altitude min_km 0, max_km 2000
Solar beta angle min_deg -90, max_deg 90

Each constraint card has Enabled and Remove.

Spacecraft — Constraints tab

Spacecraft Properties — Constraints (type, Enabled, parameters).


Allowed children

Child type How
sensor, antenna, transmitter, receiver Tree → Add under spacecraft
solar_array, battery Power / Battery tabs (preferred on web)

Example workflow

  1. Add Spacecraft, set Asset ID SAT-DEMO.
  2. Orbit wizard → SSO, altitude 700 km → Design orbit (document) → check that the initial state fields updated.
  3. Attitude → Nadir.
  4. Power → Add one sun-tracking panel.
  5. Battery → Add Generic Li-Ion, 500 Wh.
  6. Apply Changes (updates the 3D scene).
  7. Optionally attach a sensor, then create Coverage / Power analyses.