The aria command is the single entry point for all ARIA operations: running
spacecraft simulations, inspecting system health, managing data, generating
reports, and interfacing with external tools. Every subcommand routes through
src/aria/cli/main.py, which builds the
top-level argparse tree and dynamically imports the appropriate service module.
All commands accept two global flags:
| Flag | Description |
|---|---|
--output {text,json} |
Output format (default: text) |
-v / --verbose |
Enable verbose error traces |
--version |
Print version and exit |
Defined in pyproject.toml:
aria → aria.cli.main:main
aria-dashboard → aria.simulator.web_dashboard:main
aria is the full CLI documented here. aria-dashboard launches the
standalone web dashboard; see ./engineering-lab.md for
dashboard configuration and usage.
Source: src/aria/cli/sim.py.
Runs and analyses spacecraft simulations. See
./simulation.md for the underlying simulation architecture.
Run a single mission simulation.
| Flag | Default | Description |
|---|---|---|
--mission / -m |
leo-iss |
Mission type: leo-iss, leo-sso, geo, geo-comms, interstellar |
--duration |
— | Simulation duration in seconds (orbital) |
--speed / -s |
0 |
Real-time speed multiplier (0 = max) |
--years |
100 |
Duration in years (interstellar only) |
--crew |
4 |
Crew size |
--altitude |
— | Override orbit altitude (km) |
--agents / --no-agents |
agents on | Enable or disable ARIA agents |
--dashboard / -d |
off | Start telemetry dashboard alongside simulation |
--port |
8080 |
Dashboard server port |
aria sim run --mission leo-iss
aria sim run --mission interstellar --years 500 --crew 100
aria sim run --mission geo --altitude 35786 --no-agents
aria sim run --mission leo-sso --dashboard --port 9090
Reports are auto-saved to reports/<mission-name>_report.{txt,json} after each run.
Run Monte Carlo statistical analysis across multiple seeds.
| Flag | Default | Description |
|---|---|---|
--mission / -m |
interstellar |
Mission type |
--runs / -n |
100 |
Number of independent runs |
--years |
100 |
Duration per run (years) |
--crew |
4 |
Crew size |
--seeds |
42 |
Base random seed |
aria sim montecarlo --runs 50 --years 200 --crew 10
aria sim montecarlo --mission interstellar --runs 100 --years 100 --output json
Compare Legacy (2024-era) technology against Breakthrough technology modes across multiple seeds.
| Flag | Default | Description |
|---|---|---|
--years |
200 |
Mission duration |
--seeds |
20 |
Seeds per technology mode |
aria sim compare --years 200 --seeds 20
Run a named historical failure scenario with injected faults.
| Flag | Required | Description |
|---|---|---|
--name / -n |
yes | Scenario key: apollo-13, salyut-7, columbia, mir-collision |
aria sim scenario --name apollo-13
aria sim scenario --name salyut-7
Full multi-century generation ship simulation.
| Flag | Default | Description |
|---|---|---|
--years |
1000 |
Journey duration |
--crew |
4 |
Initial crew size |
--mode |
breakthrough |
legacy or breakthrough technology mode |
--seed |
42 |
Random seed |
aria sim generation-ship --years 1000 --mode breakthrough
aria sim generation-ship --years 200 --mode legacy --crew 200
Day-by-day simulation tracking mass balance (water, food, O2, CO2) and expert-panel commentary.
| Flag | Default | Description |
|---|---|---|
--crew |
1000 |
Crew size |
--days |
1000 |
Days to simulate |
--seed |
42 |
Random seed |
--report |
off | Print full mission report at end |
aria sim first-1000-days --crew 500 --days 1000
aria sim first-1000-days --report --output json
Run a generation-ship simulation aimed at a specific star.
| Flag | Default | Description |
|---|---|---|
--star |
— | Star key (e.g. proxima_centauri) |
--list |
off | List all available star targets |
--crew |
4 |
Crew size |
--mode |
breakthrough |
Technology mode |
--seed |
42 |
Random seed |
aria sim target --list
aria sim target --star proxima_centauri --crew 100
Run all catalog stars within a distance limit and tabulate outcomes.
| Flag | Default | Description |
|---|---|---|
--max-distance |
15.0 |
Maximum distance in light-years |
--crew |
4 |
Crew size |
--mode |
breakthrough |
Technology mode |
--seed |
42 |
Random seed |
aria sim target-sweep --max-distance 10 --mode legacy
Run a physics validation pass against a simulation run and report any conservation-law violations.
| Flag | Default | Description |
|---|---|---|
--years |
200 |
Simulation years to validate |
--seed |
42 |
Random seed |
aria sim validate --years 100
aria sim validate --years 200 --output json
Compare mission outcomes (events, terminal challenges, food ratio, hull integrity) across fixed duration milestones (50, 100, 200, 500, 1000 years) in both technology modes. Takes no flags.
aria sim duration-sweep
Source: src/aria/cli/system.py.
Inspect and manage the ARIA runtime environment.
Print ARIA version, source-file counts, dependency availability, and data-source inventory.
aria system status
aria system status --output json
Run importability and instantiation checks across eight subsystems (core, simulation engine, interstellar simulation, shield system, crew ecosystem, reporting, health dashboard, agent framework).
aria system health
List all nine registered ARIA agents with their module paths and import status.
aria system agents list
Signal a restart request for a named agent (requires a running ARIA coordinator instance to take effect).
aria system agents restart ThermalAgent
aria system agents restart NavigationAgent
Run five performance benchmarks: interstellar 1000-year simulation, challenges orchestrator 1000-year run, telemetry history store (100 K writes), Basilisk single-orbit step (skipped if Basilisk is not installed), and health dashboard (10 K snapshots).
aria system benchmark
aria system benchmark --output json
Print the active runtime configuration as a key-value table.
aria system config show
Record a configuration override (persisted via a YAML config file when
--config is provided; otherwise informational only).
aria system config set simulation.default_crew 100
Source: src/aria/cli/data.py.
Import, replay, list, and convert mission data.
Import data from an external source into the ARIA data directory.
| Flag | Required | Values | Description |
|---|---|---|---|
--source / -s |
yes | noaa, battery, eden, voyager |
Data source type |
--path / -p |
yes | path | Path to source data (file or directory) |
aria data import --source noaa --path /data/goes16/
aria data import --source battery --path /data/nasa_battery/B0005.mat
aria data import --source voyager --path /data/voyager.zip
Replay a real-data file through the ARIA processing pipeline.
| Flag | Required | Values | Description |
|---|---|---|---|
--source / -s |
yes | noaa, battery, eden |
Data source type |
--file / -f |
yes | path | Data file path |
aria data replay --source battery --file data/raw/nasa_battery/B0005.mat
aria data replay --source noaa --file data/raw/noaa_goes/goes16_2023.csv
List all data sources and their availability under data/.
aria data list
Convert between data formats using source-specific converters or pandas.
| Flag | Required | Values | Description |
|---|---|---|---|
--from |
yes | netcdf, csv, mat, json |
Source format |
--to |
yes | csv, json, parquet |
Target format |
--input / -i |
yes | path | Input file |
--output / -o |
no | path | Output file (auto-generated if omitted) |
aria data convert --from netcdf --to csv --input goes16.nc
aria data convert --from mat --to csv --input B0005.mat --output battery.csv
Source: src/aria/cli/report.py.
Generate and inspect mission reports saved by simulation runs.
Generate a report from a saved mission JSON.
| Flag | Required | Default | Description |
|---|---|---|---|
--mission-id / -m |
yes | — | Mission identifier |
--format / -f |
no | text |
text, json, or html |
aria report generate --mission-id leo-iss_2024-01-01
aria report generate --mission-id leo-iss_2024-01-01 --format html
List all reports found in the reports/ directory with their available formats and sizes.
aria report list
Show the score breakdown for a specific mission.
| Flag | Required | Description |
|---|---|---|
--mission-id / -m |
yes | Mission identifier |
aria report score --mission-id leo-iss_2024-01-01
Source: src/aria/cli/tools.py.
Interface with external spacecraft simulation and operations tools.
All subcommands degrade gracefully when the corresponding tool is not
installed.
Run a Basilisk astrodynamics simulation.
| Flag | Default | Values | Description |
|---|---|---|---|
--orbit / -o |
leo |
leo, leo-sso, meo, geo, heo, lunar |
Orbit preset |
--duration / -d |
5520 |
— | Duration in seconds |
--timestep |
1.0 |
— | Integration timestep in seconds |
aria tools basilisk run --orbit leo --duration 5520
aria tools basilisk run --orbit geo --duration 86400
Requires Basilisk (pip install bsk). Returns a warning and exits cleanly if
the package is absent.
List all built-in orbit presets with altitude and inclination.
aria tools basilisk orbits
Plan a trajectory using the GMAT bridge.
| Flag | Default | Description |
|---|---|---|
--from |
earth |
Departure body |
--to |
mars |
Arrival body |
--launch-date |
— | Launch date (YYYY-MM-DD) |
aria tools gmat plan --from earth --to mars
aria tools gmat plan --from earth --to jupiter --launch-date 2030-06-01
Requires GMAT R2022a+ and GMAT_ROOT to be set.
Start the ARIA telemetry server that an OpenMCT front-end can connect to.
| Flag | Default | Description |
|---|---|---|
--port / -p |
8080 |
Server port |
aria tools openmct start --port 8080
Show the status of the OpenC3 command-and-control bridge.
aria tools openc3 status
Source: src/aria/cli/shield.py.
Analyse the seven-layer relativistic shield system.
Compute ISM particle flux, dust-grain kinetic energy, and sputtering erosion for a given velocity and journey distance.
| Flag | Default | Description |
|---|---|---|
--velocity / -v |
0.1 |
Cruise velocity as fraction of c |
--distance / -d |
100 |
Journey distance in light-years |
--shield-mass |
10000 |
Initial ablation shield mass in kg |
aria shield analyze --velocity 0.1 --distance 4.2
aria shield analyze --velocity 0.2 --distance 100 --shield-mass 36800
Print the mass and power budget for all seven shield layers (detection, deflection, magnetic, electrostatic, ablation, Whipple, structural hull). Takes no flags.
aria shield budget
aria shield budget --output json
Calculate sputtering erosion rates for a specific material.
| Flag | Default | Values | Description |
|---|---|---|---|
--velocity / -v |
0.1 |
— | Cruise velocity as fraction of c |
--material / -m |
carbon |
carbon, beryllium, tungsten, ice, aluminum |
Shield material |
--area |
100.0 |
— | Forward-facing area in m² |
--years |
1000 |
— | Journey duration in years |
aria shield erosion --velocity 0.1 --material carbon --years 1000
aria shield erosion --velocity 0.2 --material tungsten --area 50
Source: src/aria/cli/crew.py.
Simulate long-duration crew population dynamics, closed-loop ecosystems, and
genetic diversity.
Simulate crew births, deaths, and population change year by year.
| Flag | Default | Description |
|---|---|---|
--years |
200 |
Simulation duration |
--initial-crew |
100 |
Starting crew size |
aria crew lifecycle --years 200 --initial-crew 100
aria crew lifecycle --years 500 --initial-crew 500 --output json
Simulate a closed-loop life-support ecosystem tracking elemental mass balances.
| Flag | Default | Description |
|---|---|---|
--years |
500 |
Simulation duration |
aria crew ecosystem --years 500
Analyse genetic diversity decay, inbreeding coefficient, and frozen embryo reserve over multiple generations.
| Flag | Default | Description |
|---|---|---|
--population |
50 |
Initial population |
--years |
300 |
Simulation duration |
aria crew genetics --population 200 --years 1000
Source: src/aria/cli/mission.py.
Query and manage the mission persistence store (SQLite via MissionStore).
Missions are saved automatically after each aria sim run.
List all saved missions with ID, type, date, status, score, and grade.
aria mission list
aria mission list --output json
Show full details for a saved mission: timing, telemetry counts, orbit range, severity distribution, challenge states, and any logged errors.
aria mission show abc123
aria mission show abc123 --output json
Delete a mission record from the store.
aria mission delete abc123
Source: src/aria/cli/analyze.py.
Parameter sweeps and comparative analysis.
Sweep a single parameter across a list of values and compare outcomes.
| Flag | Default | Values | Description |
|---|---|---|---|
--param |
crew_size |
crew_size, velocity, years |
Parameter to sweep |
--values |
4,10,50 |
comma-separated | Values to test |
--years |
100 |
— | Simulation years per run |
aria analyze sweep --param crew_size --values 4,10,50,200
aria analyze sweep --param velocity --values 0.05,0.1,0.2 --years 200
Compare two missions by ID. Full implementation pending; currently prints usage guidance.
Run a batch of missions from a YAML config. Full implementation pending; currently prints usage guidance.
Source: src/aria/cli/test_runner.py.
Validation shortcuts that complement the standard pytest test suite.
Run a 30-second import and smoke validation (imports, Basilisk, interstellar simulation, generation ship, health dashboard).
aria test quick
Invoke the full pytest tests/ suite with -q --tb=line.
aria test full
Run tests/integration/test_system_smoke.py only.
aria test smoke
Start fresh and confirm the environment is healthy:
aria system status
aria system health
aria test quick
Run a LEO mission with the live dashboard, then review the report:
aria sim run --mission leo-iss --dashboard --port 8080
aria report list
aria report generate --mission-id <id-from-list> --format html
Compare technology modes over a long interstellar journey:
aria sim compare --years 500 --seeds 20
aria sim generation-ship --years 1000 --mode legacy
aria sim generation-ship --years 1000 --mode breakthrough
Sweep crew size to find the population floor for mission viability:
aria analyze sweep --param crew_size --values 4,10,20,50,100,200 --years 200
Assess the shield before committing to a target star:
aria sim target --list
aria shield analyze --velocity 0.1 --distance 4.2
aria shield erosion --material carbon --velocity 0.1 --years 43
aria sim target --star proxima_centauri --crew 100
Machine-readable pipeline (pipe JSON output into jq):
aria sim run --mission interstellar --years 200 --output json | jq .score
aria shield analyze --velocity 0.1 --distance 100 --output json
aria mission list --output json | jq '.[0].id'
| File | Why |
|---|---|
src/aria/cli/main.py |
Authoritative argparse tree; all command groups and flags are defined here |
src/aria/cli/sim.py |
Largest subcommand module; shows the full dispatch pattern and how simulation results are rendered |
src/aria/cli/shield.py |
Self-contained physics; good second read — no external imports needed to understand the output |
src/aria/cli/formatting.py |
OutputContext, print_table, print_kv — used by every module; read this before adding a new subcommand |
tests/integration/test_system_smoke.py |
End-to-end smoke tests that exercise the same dispatch path |
The dispatch chain is: main() → build_parser() → dispatch() →
importlib.import_module(service_map[args.service]) → mod.dispatch(args) (or
mod.handle_<service>(args, output_json) for crew, analyze, and test).