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
finals2000Aloaders when available. Strict mode raisesEphemerisErrorif 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; raisesSpaceWeatherErrorin 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
DragConfigfield issrp_conical_shadow(defaultTrue). The old aliassrp_cylindrical_shadowis deprecated and emits aDeprecationWarning; update callers tosrp_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 →
EphemerisErrorCovariance dimension mismatches →
ValueErrorMonte Carlo Pc failures →
ValueErrorInvalid space weather →
SpaceWeatherErrorMissing 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.