Trajectory Components

class tabascal.components.trajectory.FixedOrbit[source]
build_constants()[source]

Return arrays that do not change during the forward pass.

Returns a dict of array_name -> array_value. These will be stored in constants as “_c/<ClassName>/array_name” by Model.__init__.

build_forward()[source]

Return pure, JIT-compatible function

build_set_params()[source]

Build parameter sampling function (optional)

setup(config)[source]

All validation and error-prone operations here

validate_and_test()[source]

Call this before using in JIT context

class tabascal.components.trajectory.NoDragOrbit[source]
build_constants()[source]

Return arrays that do not change during the forward pass.

Returns a dict of array_name -> array_value. These will be stored in constants as “_c/<ClassName>/array_name” by Model.__init__.

build_forward()[source]

Return pure, JIT-compatible function

build_set_params()[source]

Build parameter sampling function (optional)

setup(config)[source]

All validation and error-prone operations here

validate_and_test()[source]

Call this before using in JIT context

class tabascal.components.trajectory.Orbit[source]
build_constants()[source]

Return arrays that do not change during the forward pass.

Returns a dict of array_name -> array_value. These will be stored in constants as “_c/<ClassName>/array_name” by Model.__init__.

build_forward()[source]

Return pure, JIT-compatible function

build_set_params()[source]

Build parameter sampling function (optional)

setup(config)[source]

All validation and error-prone operations here

validate_and_test()[source]

Call this before using in JIT context

class tabascal.components.trajectory.PhaseCalculationRFI[source]
build_constants()[source]

Return arrays that do not change during the forward pass.

Returns a dict of array_name -> array_value. These will be stored in constants as “_c/<ClassName>/array_name” by Model.__init__.

build_forward()[source]

Return pure, JIT-compatible function

build_set_params()[source]

Build parameter sampling function (optional)

setup(config)[source]

All validation and error-prone operations here

tabascal.components.trajectory.fetch_orbital_elements(times_jd=None, norad_ids=None, extra_orbit_dir=None, extra_orbit_max_age_days=None, resolution=None)[source]

Orbital elements for the RFI model.

resolution is the TLEResolution the preflight check already produced; passing it is the normal path and guarantees the model is built from exactly the records whose coverage and ages were checked. Without it the satellites are resolved here instead, for callers that have no preflight (the components’ own re-fetch, and tests).

tabascal.components.trajectory.fetch_standard_orbital_elements(times_jd=None, norad_ids=None, extra_orbit_dir=None, extra_orbit_max_age_days=None, resolution=None)[source]

Orbital elements for the SGP4 propagators.

Unlike fetch_orbital_elements() this deliberately has no empty-request escape: only the SGP4/Kepler trajectory components call it, and those are exactly the components model_requires_tles refuses to configure without satellites. Reaching here with nothing requested is a real failure.

tabascal.components.trajectory.get_satellite_elevations(orbit_records: list, times_jd, ants_itrf) NDArray[source]

Topocentric elevation of each satellite, as seen from the array centre.

Parameters:
  • orbit_records (list of dict (n_sat,)) – Resolved orbit records, as returned by fetch_orbital_elements(). Built into propagators by _earth_satellite(), so OMM records work here exactly as TLE ones do – an OMM has no lines to hand a line parser.

  • times_jd (Array (n_time,)) – Times to calculate elevations at in Julian date.

  • ants_itrf (Array (n_ant, 3)) – Antenna positions in ITRF, in metres. The mean is taken as the site.

Returns:

Satellite elevation above the horizon, in degrees.

Return type:

Array (n_sat, n_time)

tabascal.components.trajectory.get_satellite_positions(records: list, times_jd: list)[source]

ICRS positions of satellites, by propagating their orbit records over times_jd.

Parameters:
  • records (sequence of dict, length n_sat) – Orbit records — TLE or OMM — as resolved by tabascal.orbit.

  • times_jd (Array (n_time,)) – Times to calculate positions at, in Julian date.

Returns:

Satellite positions over time, in metres.

Return type:

Array (n_sat, n_time, 3)