Expand description
Provides the solar system planets, and state and ephemerides management.
Re-exports§
pub use crate::cosmic::GuidanceMode;
pub use crate::cosmic::Spacecraft;
pub use crate::errors::NyxError;
Modules§
- eclipse
- The eclipse module allows finding eclipses and (conversely) visibility between a state and another one (e.g. a planet or the Sun).
- efmt
- errors
- initializers
- leap_
seconds - ops
- parse
- prelude
Structs§
- Aberration
- Represents the aberration correction options in ANISE.
- Almanac
- An Almanac contains all of the loaded SPICE and ANISE data. It is the context for all computations.
- BPlane
- Stores a B-Plane
- BPlane
Target - Drag
Data - Duration
- Defines generally usable durations for nanosecond precision valid for 32,768 centuries in either direction, and only on 80 bits / 10 octets.
- Epoch
- Defines a nanosecond-precision Epoch.
- File
- An object providing access to an open file on the filesystem.
- Frame
- A Frame uniquely defined by its ephemeris center and orientation. Refer to FrameDetail for frames combined with parameters.
- Frame
Uid - A unique frame reference that only contains enough information to build the actual Frame object. It cannot be used for any computations, is it be used in any structure apart from error structures.
- Mass
- Defines a spacecraft mass a the sum of the dry (structural) mass and the propellant mass, both in kilogram
- Meta
Almanac - A structure to set up an Almanac, with automatic downloading, local storage, checksum checking, and more.
- Orbit
Dual - Orbit defines an orbital state
- Orbit
Partial - A type which stores the partial of an element
- SRPData
- Spacecraft
- A spacecraft state, composed of its orbit, its masses (dry, prop, extra, all in kg), its SRP configuration, its drag configuration, its thruster configuration, and its guidance mode.
- Time
Series - An iterator of a sequence of evenly spaced Epochs.
Enums§
- Astro
Error - Duration
Error - Freq
- An Enum to convert frequencies to their approximate duration, rounded to the closest nanosecond.
- Guidance
Mode - Hifitime
Error - Errors handles all oddities which may occur in this library.
- Input
Output Error - Length
Unit - Defines the distance units supported by ANISE. This notably allows storing interpolation information from instruments to comets.
- Month
Name - Parsing
Error - Time
Scale - Enum of the different time systems available
- Time
Unit - An Enum to perform time unit conversions.
- Unit
- An Enum to perform time unit conversions.
- Weekday
Constants§
- AU
- Astronomical unit, in kilometers, according to the IAU.
- BDT_
REF_ EPOCH - BDT(BeiDou): 2005 Dec 31st Midnight BDT (BeiDou) reference epoch is 2005 December 31st UTC at midnight. This time scale is synchronized with UTC. |UTC - TAI| = XX Leap Seconds on that day.
- DAYS_
GPS_ TAI_ OFFSET - DAYS_
PER_ CENTURY DAYS_PER_CENTURY
corresponds to the number of days per century in the Julian calendar.- DAYS_
PER_ CENTURY_ I64 - DAYS_
PER_ CENTURY_ U64 - DAYS_
PER_ WEEK - DAYS_
PER_ WEEK_ I64 - DAYS_
PER_ YEAR DAYS_PER_YEAR
corresponds to the number of days per year in the Julian calendar.- DAYS_
PER_ YEAR_ NLD DAYS_PER_YEAR_NLD
corresponds to the number of days per year without leap days.- ET_
EPOCH_ S - The Ephemeris Time epoch, in seconds
- GPST_
REF_ EPOCH - GST_
REF_ EPOCH - GST (Galileo) reference epoch is 13 seconds before 1999 August 21 UTC at midnight. |UTC - TAI| = XX Leap Seconds on that day.
- J1900_
REF_ EPOCH - The J1900 reference epoch (1900-01-01 at noon) TAI.
- J2000_
REF_ EPOCH - The J2000 reference epoch (2000-01-01 at midnight) TAI. |UTC - TAI| = XX Leap Seconds on that day.
- JD_
J1900 - Julian date for the J1900 epoch, as per NAIF SPICE.
- JD_
J2000 - Julian date for the J2000 epoch, as per NAIF SPICE.
- MJD_
J1900 - Julian days between 01 Jan 1900 at midnight and the Modified Julian Day at 17 November 1858.
- MJD_
J2000 - Julian days between 01 Jan 2000 at noon and the Modified Julian Day at 17 November 1858.
- MJD_
OFFSET - Modified Julian Date in seconds as defined here. MJD epoch is Modified Julian Day at 17 November 1858 at midnight.
- NAIF_EB
- NAIF leap second kernel data for EB used to calculate the eccentric anomaly of the heliocentric orbit of the Earth-Moon barycenter.
- NAIF_K
- NAIF leap second kernel data used to calculate the difference between ET and TAI.
- NAIF_M0
- NAIF leap second kernel data for M_0 used to calculate the mean anomaly of the heliocentric orbit of the Earth-Moon barycenter.
- NAIF_M1
- NAIF leap second kernel data for M_1 used to calculate the mean anomaly of the heliocentric orbit of the Earth-Moon barycenter.
- NANOSECONDS_
PER_ CENTURY - NANOSECONDS_
PER_ DAY - NANOSECONDS_
PER_ HOUR - NANOSECONDS_
PER_ MICROSECOND - NANOSECONDS_
PER_ MILLISECOND - NANOSECONDS_
PER_ MINUTE - NANOSECONDS_
PER_ SECOND - QZSST_
REF_ EPOCH - QZSS and GPS share the same reference epoch.
- SECONDS_
BDT_ TAI_ OFFSET - SECONDS_
BDT_ TAI_ OFFSET_ I64 - SECONDS_
GPS_ TAI_ OFFSET - SECONDS_
GPS_ TAI_ OFFSET_ I64 - SECONDS_
GST_ TAI_ OFFSET - SECONDS_
GST_ TAI_ OFFSET_ I64 - SECONDS_
PER_ CENTURY SECONDS_PER_CENTURY
defines the number of seconds per century.- SECONDS_
PER_ DAY SECONDS_PER_DAY
defines the number of seconds per day.- SECONDS_
PER_ DAY_ I64 - SECONDS_
PER_ HOUR SECONDS_PER_HOUR
defines the number of seconds per hour.- SECONDS_
PER_ MINUTE SECONDS_PER_MINUTE
defines the number of seconds per minute.- SECONDS_
PER_ SIDEREAL_ YEAR SECONDS_PER_SIDEREAL_YEAR
corresponds to the number of seconds per sidereal year from NIST.- SECONDS_
PER_ TROPICAL_ YEAR SECONDS_PER_TROPICAL_YEAR
corresponds to the number of seconds per tropical year from NAIF SPICE.- SECONDS_
PER_ YEAR SECONDS_PER_YEAR
corresponds to the number of seconds per julian year from NAIF SPICE.- SECONDS_
PER_ YEAR_ I64 - SPEED_
OF_ LIGHT_ KM_ S - Speed of light in kilometers per second (km/s)
- SPEED_
OF_ LIGHT_ M_ S - Speed of light in meters per second
- STD_
GRAVITY - From NIST special publication 330, 2008 edition, in meters per second squared
- UNIX_
REF_ EPOCH - The UNIX reference epoch of 1970-01-01 in TAI duration, accounting only for IERS leap seconds.
Traits§
- Frequencies
- A trait to automatically convert some primitives to an approximate frequency as a duration, rounded to the closest nanosecond Does not support more than 1 GHz (because max precision of a duration is 1 nanosecond)
- FromStr
- Parse a value from a string
- NAIF
Summary Record - State
- A trait for generate propagation and estimation state. The first parameter is the size of the state, the second is the size of the propagated state including STM and extra items.
- Time
Tagged - A trait allowing for something to have an epoch
- Time
Units - A trait to automatically convert some primitives to a duration
Functions§
- assert_
orbit_ eq_ or_ abs - is_
gregorian_ valid - Returns true if the provided Gregorian date is valid. Leap second days may have 60 seconds.
- try_
achieve_ b_ plane - Returns the Delta V (in km/s) needed to achieve the B Plane specified by B dot R and B dot T. If no LTOF target is set, this method will fix VX, VY and VZ successively and use the minimum of those as a seed for the LTOF variation finding. If the 3x3 search is worse than any of the 2x2s, then a 2x2 will be returned. This uses the hyperdual formulation of the Jacobian and will also vary the linearize time of flight (LTOF).