Operational limitations

ASTRA-Core implements standard models used in research, education, and software integration. It is not, by itself, a certified conjunction or mission-closure product. Understand these boundaries before using outputs for operations.

Ephemeris and time

  • Default Sun/Moon positions use JPL DE421 (bundled via Skyfield), nominally ~1900–2050. Simulations or studies beyond that range should use DE440 (1549–2650, ~100 MB) or another appropriate kernel and validation.

  • UT1−UTC and Earth orientation come from Skyfield’s IERS finals2000A loaders when available. Strict mode raises EphemerisError if required data are missing; relaxed mode may warn and fall back to an analytical approximation (Meeus / Brown).

Atmosphere and drag

  • Empirical NRLMSISE-00 density (calibrated to 3.7 × 10−12 kg/m³ at 400 km under moderate solar activity). Density above 1 500 km and below 100 km is returned as 0. Very low LEO and re-entry analysis may still need deeper configuration or specialized tools outside general orbital propagation.

  • Space weather (F10.7, Ap) is sourced from Spacebook (primary) or CelesTrak SW-All.csv (fallback). Missing data returns synthetic defaults (F10.7 = 150, Ap = 15) in relaxed mode; raises SpaceWeatherError in strict mode.

Solar radiation pressure

  • Cannonball SRP with flux scaled from 1 AU. Features a high-fidelity conical Earth umbra/penumbra model (_srp_illumination_factor_njit) that scales fractional solar illumination continuously via a circle-circle intersection formula. The model uses planar rather than exact spherical-cap geometry; the resulting error in time-averaged ν is a few percent in LEO—acceptable for mission-planning fidelity but not for ultra-precise SRP-limited precision orbit determination.

  • The canonical DragConfig field is srp_conical_shadow (default True). The old alias srp_cylindrical_shadow is deprecated and emits a DeprecationWarning; update callers to srp_conical_shadow.

Collision probability

  • P_c quality follows covariance quality. Heuristic estimate_covariance() is not orbit-determination grade; prefer CDM covariances or Spacebook synthetic covariances for decision support. Strict mode can reject heuristic covariance paths.

  • Monte Carlo P_c uses a linear relative-motion model per sample; very slow co-orbital encounters may need smaller time steps and careful interpretation.

  • STM covariance propagation includes analytical \(J_2\) partials but not the full non-linear force model—accuracy degrades for very long propagation arcs.

Network and data providers

  • CelesTrak and Space-Track impose rate limits and terms of use. Cache catalogs locally for repeated runs.

  • Spacebook / COMSPOC endpoints are unauthenticated but subject to their own availability and rate policies.

  • The space-weather CSV payload is capped at 10 MB as a security measure; abnormally large responses are rejected.

Numba JIT

  • JIT kernels use @njit(fastmath=True) which allows IEEE-754 reordering and fused operations. Bitwise-identical results between the JIT and pure-Python paths are not guaranteed; compare integrated trajectories or segment-level energy, not individual acceleration samples.

  • First call to a JIT function incurs compilation latency. Use astra.warmup() at worker startup to eliminate this.

Validation

  • The repository ships regression and unit tests (38 test modules), not a bundled GMAT/STK/CARA benchmark suite. Perform independent validation if your process requires it.

Strict vs relaxed mode

As of v3.6.1, strict mode is enabled by default. astra.config.ASTRA_STRICT_MODE ensures missing ephemeris, stale space weather, NaN trajectories, or policy violations fail fast with typed exceptions instead of silent fallbacks:

  • EOP fetch failures → EphemerisError

  • Covariance dimension mismatches → ValueError

  • Monte Carlo Pc failures → ValueError

  • Invalid space weather → SpaceWeatherError

  • Missing ephemeris data → EphemerisError

To disable strict mode for development or backwards compatibility:

astra.config.ASTRA_STRICT_MODE = False

See Installation for the full list of strict mode exceptions.