Kozai::SGP4::Satellite
A satellite initialised from an element set and ready to propagate.
Construction does all the work that depends only on the elements; each
#propagate call then depends only on its time argument. Nothing is cached
or carried between calls, so propagating to a thousand times in any order
gives the same thousand answers as propagating to them one at a time in
sequence.
This is a struct so that arrays of satellites are contiguous and no step
of a pass search touches the heap.
Constructors
Initialises a satellite from an element set.
gravity and ops_mode have exactly one correct pair of values for
ordinary use, which are the defaults. See GravityModel and OpsMode
for why they are nonetheless spelled out.
Instance methods
Days from 1949 December 31 at 00:00 UTC to the element set epoch.
NOTE: this odd-looking reference instant is the one the deep-space routines are written around, inherited from the original implementation.
Error detected while initialising, if any.
A satellite that fails here will fail at every time; the elements themselves are unusable.
Julian date minutes_from_epoch after the epoch.
Propagates to minutes_from_epoch, which may be negative.
This is a pure function of the satellite and the argument. It performs no
allocation, which spec/allocation_spec.cr verifies, because a week of
pass predictions over a full catalogue runs to millions of calls.