pylupnt.GroundOdtsApp

class pylupnt.GroundOdtsApp

Centralized ground-segment ODTS filter hosted on a SurfaceStationManager; a single EKF estimating every satellite’s 8-state orbit+clock from station beacon pseudoranges (no inter-satellite links)

cov_central_full(self: pylupnt._pylupnt.GroundOdtsApp) list[Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']]

n_sat x [N x 64] per-satellite 8x8 covariance (row-major)

est_central(self: pylupnt._pylupnt.GroundOdtsApp) Annotated[numpy.typing.NDArray[numpy.float64], '[m, n]']

[N x 8*n_sat] centralized ground estimate

get_agent(self: pylupnt._pylupnt.Application) lupnt::Agent

The Agent that hosts this application (set by the simulation before Setup()).

get_frequency(self: pylupnt._pylupnt.Application) float

Step() call frequency [Hz]

get_name(self: pylupnt._pylupnt.Application) str

This application’s name

log(self: pylupnt._pylupnt.Application, t: Real) None

Base Log at simulation time t [s] (emits a debug message; override in a subclass).

satellite_names(self: pylupnt._pylupnt.GroundOdtsApp) list[str]

Estimated satellite names

set_frequency(self: pylupnt._pylupnt.Application, frequency: SupportsFloat | SupportsIndex) None

Set the Step() call frequency [Hz] used by setup() to schedule steps

set_name(self: pylupnt._pylupnt.Application, name: str) None

Set this application’s name

setup(self: pylupnt._pylupnt.Application) None

Base Setup: schedules Step() at get_frequency() Hz. Call via super().setup() from a Python subclass to keep that scheduling.

time_grid(self: pylupnt._pylupnt.GroundOdtsApp) Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']

Sim-relative epoch grid [s], size N