Skip to content

Runtime Architecture

The repository has two main layers.

Responsible for:

  • selecting tiles
  • copying repository and settings
  • installing dependencies
  • starting long-lived services on the tiles

Main scripts:

  • server/setup-clients.py
  • server/update-experiment.py
  • server/run-clients.py

Responsible for:

  • coordinating one complete cycle across rover, position logging, acoustic, and RF
  • triggering and monitoring the RF synchronization loop
  • writing rover position logs and RF run summaries

Main scripts:

  • server/zmq_orchestrator.py
  • server/record/RF-orchestrator.py
  • server/run_server.py

The processed data path then starts in processing/parsing/extract_csi_from_smb_v2.py, which turns the runtime logs into the RF xarray used by the notebooks and the docs tutorials.