References¶
The models, algorithms and constants in satkit are taken from the sources
below. Pages on this site cite them as (Author Year, §section), linking to
the entry here; each entry gives the section, equation or algorithm numbers the
code follows where that is useful.
Books¶
- Vallado, D. A. (2013). Fundamentals of Astrodynamics and Applications,
4th ed. Microcosm Press, Hawthorne, CA. ISBN 978-1881883180. Companion
software and errata: https://celestrak.org/software/vallado-sw.php.
Used for: SGP4 reference implementation (the C++ code satkit's port follows),
GMST (Algorithm 15, Eq. 3-45), the approximate (_approx) reduction (§3.7, Eqs. 3-88 to
3-90), TEME (§3.7.3), RSW/NTW frames (§3.3, Eq. 3-31), Kepler's equation
(Algorithm 2), sunrise/sunset (Algorithm 30, §5.3.1), Moon position (Algorithm 31, §5.2.3), Hohmann
transfer (§6.3), Lambert background (Ch. 7), TDB−TT (Eq. 3-50).
- Montenbruck, O., & Gill, E. (2000). Satellite Orbits: Models, Methods, Applications. Springer, Berlin. https://doi.org/10.1007/978-3-642-58351-3. Used for: the force-model structure and the forces-vs-altitude figure (§3.1, Fig. 3.1), spherical-harmonic gravity (§3.2, Eqs. 3.28–3.33), third-body point-mass attraction (§3.3.1, Eq. 3.37), solar radiation pressure and the conical shadow model (§3.4, Eqs. 3.69–3.75, §3.4.2), atmospheric drag (§3.5), variational equations and the state transition matrix (§7.1–7.2, Eqs. 7.42, 7.75), covariance mapping (§8.1).
- Battin, R. H. (1999). An Introduction to the Mathematics and Methods of Astrodynamics, revised ed. AIAA Education Series. https://doi.org/10.2514/4.861543. Used for: the hypergeometric-series form of the Lambert time-of-flight equation near the parabolic boundary.
- Hairer, E., & Wanner, G. (1996). Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems, 2nd ed. Springer. https://doi.org/10.1007/978-3-642-05221-7. Used for: the RODAS4 Rosenbrock integrator (§IV.7).
- Tapley, B. D., Schutz, B. E., & Born, G. H. (2004). Statistical Orbit Determination. Elsevier Academic Press. https://doi.org/10.1016/B978-0-12-683630-1.X5019-X. Used for: batch least-squares orbit determination and covariance propagation in the tutorials (§4.2–4.3).
- Markley, F. L., & Crassidis, J. L. (2014). Fundamentals of Spacecraft Attitude Determination and Control. Springer. https://doi.org/10.1007/978-1-4939-0802-8. Used for: quaternion and local-vertical/local-horizontal frame conventions.
- Meeus, J. (1989). Elements of Solar Eclipses 1951–2200. Willmann-Bell, Richmond, VA. Used for: Besselian elements and the central line, limits and local circumstances computed from them (Solar Eclipse Predictions tutorial).
- Meeus, J. (1998). Astronomical Algorithms, 2nd ed. Willmann-Bell,
Richmond, VA. ISBN 978-0943396613. Used for: the low-precision Sun position
(Ch. 25, low-accuracy solar coordinates, with the VSOP87 Earth terms of
Appendix III), the mean obliquity (Eq. 22.2) and the four-term nutation
(Ch. 22) of sun.pos_mod and sun.rise_set.
Standards and conventions¶
- Petit, G., & Luzum, B. (eds.) (2010). IERS Conventions (2010). IERS Technical Note No. 36, Verlag des Bundesamts für Kartographie und Geodäsie, Frankfurt am Main. ISBN 3-89888-989-6. https://iers-conventions.obspm.fr/content/tn36.pdf. Used for: the ITRF↔GCRF reduction (Ch. 5: polar motion Eq. 5.3, Earth rotation angle Eq. 5.15, CIP X/Y and CIO locator series Tables 5.2a/5.2b/5.2d, frame bias §5.5.4 and Eq. 5.36), solid Earth tides (§6.2.1 Step 1, Eqs. 6.6–6.7, Table 6.3 Love numbers; §6.2.2 Step 2), time scales (Ch. 10, §10.1 TDB−TT), and the relativistic acceleration (§10.3, Eq. 10.12).
- CCSDS (2023). Orbit Data Messages. Recommended Standard CCSDS 502.0-B-3 (Blue Book), Consultative Committee for Space Data Systems, April 2023. https://ccsds.org/Pubs/502x0b3e1.pdf. Used for: the Orbital Mean-Element Message (OMM) format and the RTN reference frame used for covariance and maneuver components.
- NGA (2014). Department of Defense World Geodetic System 1984: Its Definition and Relationships with Local Geodetic Systems, Version 1.0.0, NGA.STND.0036_1.0.0_WGS84, National Geospatial-Intelligence Agency. https://nsgreg.nga.mil/doc/view?i=4085. Used for: the WGS 84 ellipsoid and defining parameters (\(GM\), \(\omega_\oplus\), \(a\), \(f\)).
- ITU-R (2002). Standard-frequency and time-signal emissions, Recommendation ITU-R TF.460-6. https://www.itu.int/rec/R-REC-TF.460-6-200202-I/en. Used for: the definition of UTC and leap seconds.
- IERS Bulletin C — leap-second announcements (Earth Orientation Center,
Observatoire de Paris). https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat.
Source of the TAI−UTC table compiled into satkit.
- USNO tai-utc.dat — TAI−UTC since 1961, with the drift terms of
pre-1972 ("rubber second") UTC. https://maia.usno.navy.mil/ser7/tai-utc.dat.
Source of satkit's 1961–1971 UTC model.
- ERFA — Essential Routines for Fundamental Astronomy, the BSD-licensed
derivative of the IAU SOFA library. https://github.com/liberfa/erfa. Its
dat carries the same pre-1972 coefficients as tai-utc.dat; satkit's
time scales are tested against dat, utctai/taiutc and
dtf2d/d2dtf through pyerfa.
- Urban, S. E., & Seidelmann, P. K. (eds.) (2013). Explanatory Supplement to the Astronomical Almanac, 3rd ed. University Science Books. Used for: the definition of pre-1972 UTC; Besselian elements of solar eclipses (Solar Eclipse Predictions tutorial).
Papers and reports¶
- Hoots, F. R., & Roehrich, R. L. (1980). Models for Propagation of NORAD Element Sets. Spacetrack Report No. 3, Aerospace Defense Command (reprinted by T. S. Kelso, 1988). https://celestrak.org/NORAD/documentation/spacetrk.pdf. The original SGP4/SDP4 description.
- Vallado, D. A., Crawford, P., Hujsak, R., & Kelso, T. S. (2006). "Revisiting Spacetrack Report #3." AIAA 2006-6753, AIAA/AAS Astrodynamics Specialist Conference, Keystone, CO. https://doi.org/10.2514/6.2006-6753. https://celestrak.org/publications/AIAA/2006-6753/AIAA-2006-6753-Rev3.pdf. The modern SGP4 reference: the algorithm, the TEME frame, and the test vectors satkit's port is verified against.
- Vallado, D. A., & Crawford, P. (2008). "SGP4 Orbit Determination."
AIAA 2008-6770, AIAA/AAS Astrodynamics Specialist Conference, Honolulu, HI.
https://doi.org/10.2514/6.2008-6770. Used for: fitting TLEs to state
vectors (TLE.fit_from_states).
- Picone, J. M., Hedin, A. E., Drob, D. P., & Aikin, A. C. (2002). "NRLMSISE-00 empirical model of the atmosphere: Statistical comparisons and scientific issues." Journal of Geophysical Research: Space Physics, 107(A12), 1468. https://doi.org/10.1029/2002JA009430. satkit's density model is a Rust port of Dominik Brodowski's C implementation of NRLMSISE-00.
- Matzka, J., Stolle, C., Yamazaki, Y., Bronkalla, O., & Morschhauser, A. (2021). "The geomagnetic Kp index and derived indices of geomagnetic activity." Space Weather, 19, e2020SW002641. https://doi.org/10.1029/2020SW002641. The Kp/ap series satkit's observed space-weather record comes from; the data publication is https://doi.org/10.5880/Kp.0001 (CC BY 4.0).
- Park, R. S., Folkner, W. M., Williams, J. G., & Boggs, D. H. (2021). "The JPL Planetary and Lunar Ephemerides DE440 and DE441." The Astronomical Journal, 161(3), 105. https://doi.org/10.3847/1538-3881/abd414.
- Folkner, W. M., Williams, J. G., & Boggs, D. H. (2009). "The Planetary and Lunar Ephemeris DE 421." IPN Progress Report 42-178, Jet Propulsion Laboratory. https://ipnpr.jpl.nasa.gov/progress_report/42-178/178C.pdf.
- Lemoine, F. G., et al. (1998). The Development of the Joint NASA GSFC and the National Imagery and Mapping Agency (NIMA) Geopotential Model EGM96. NASA/TP-1998-206861. https://ntrs.nasa.gov/citations/19980218814.
- Tapley, B. D., et al. (1996). "The Joint Gravity Model 3." Journal of Geophysical Research: Solid Earth, 101(B12), 28029–28049. https://doi.org/10.1029/96JB01645.
- Nerem, R. S., et al. (1994). "Gravity model development for TOPEX/POSEIDON: Joint Gravity Models 1 and 2." Journal of Geophysical Research: Oceans, 99(C12), 24421–24447. https://doi.org/10.1029/94JC01376.
- Pavlis, N. K., Holmes, S. A., Kenyon, S. C., & Factor, J. K. (2012). "The development and evaluation of the Earth Gravitational Model 2008 (EGM2008)." Journal of Geophysical Research: Solid Earth, 117, B04406. https://doi.org/10.1029/2011JB008916.
- Akyilmaz, O., et al. (2016). ITU_GRACE16: The global gravity field model including GRACE data up to degree and order 180 of ITU and other collaborating institutions. GFZ Data Services. https://doi.org/10.5880/icgem.2016.006.
- Ince, E. S., et al. (2019). "ICGEM – 15 years of successful collection and distribution of global gravitational models, associated services, and future plans." Earth System Science Data, 11, 647–674. https://doi.org/10.5194/essd-11-647-2019. The archive the gravity coefficient files are taken from: https://icgem.gfz.de/.
- Berry, M. M., & Healy, L. M. (2004). "Implementation of Gauss-Jackson Integration for Orbit Propagation." The Journal of the Astronautical Sciences, 52(3), 331–357. https://drum.lib.umd.edu/handle/1903/2202.
- Verner, J. H. (2010). "Numerically optimal Runge–Kutta pairs with
interpolants." Numerical Algorithms, 53, 383–396.
https://doi.org/10.1007/s11075-009-9290-3. Coefficient sets from
https://www.sfu.ca/~jverner/: RKV98.IIa.Efficient, RKV87.IIa.Robust
and RKV65.IIIXb.Efficient (via the numeris crate).
- Tsitouras, Ch. (2011). "Runge–Kutta pairs of order 5(4) satisfying only the first column simplifying assumption." Computers & Mathematics with Applications, 62(2), 770–775. https://doi.org/10.1016/j.camwa.2011.06.002.
- Izzo, D. (2015). "Revisiting Lambert's problem." Celestial Mechanics and Dynamical Astronomy, 121(1), 1–15. https://doi.org/10.1007/s10569-014-9587-y.
- Lancaster, E. R., & Blanchard, R. C. (1969). A Unified Form of Lambert's Theorem. NASA Technical Note D-5368. https://ntrs.nasa.gov/citations/19690027552.
- Vincenty, T. (1975). "Direct and Inverse Solutions of Geodesics on the Ellipsoid with Application of Nested Equations." Survey Review, 23(176), 88–93. https://doi.org/10.1179/sre.1975.23.176.88.
- Bowring, B. R. (1976). "Transformation from Spatial to Geographical Coordinates." Survey Review, 23(181), 323–327. https://doi.org/10.1179/sre.1976.23.181.323. Used for: the Cartesian → geodetic conversion.
- Shoemake, K. (1985). "Animating rotation with quaternion curves." SIGGRAPH '85, 245–254. https://doi.org/10.1145/325334.325242. Used for: spherical linear interpolation (SLERP).
- Clohessy, W. H., & Wiltshire, R. S. (1960). "Terminal Guidance System for Satellite Rendezvous." Journal of the Aerospace Sciences, 27(9), 653–658. https://doi.org/10.2514/8.8704. Origin of the RIC (radial / in-track / cross-track) relative-motion frame.
- Marquardt, D. W. (1963). "An Algorithm for Least-Squares Estimation of Nonlinear Parameters." Journal of the Society for Industrial and Applied Mathematics, 11(2), 431–441. https://doi.org/10.1137/0111030.
- Espenak, F. NASA Eclipse Web Site, Goddard Space Flight Center. https://eclipse.gsfc.nasa.gov/. Besselian elements and path tables of solar eclipses, e.g. for 2024 April 8: https://eclipse.gsfc.nasa.gov/SEbeselm/SEbeselm2001/SE2024Apr08Tbeselm.html and https://eclipse.gsfc.nasa.gov/SEpath/SEpath2001/SE2024Apr08Tpath.html. Used for: the lunar radii (k1, k2) and solar semi-diameter, and as the validation reference of the Solar Eclipse Predictions tutorial.
- Nelder, J. A., & Mead, R. (1965). "A Simplex Method for Function Minimization." The Computer Journal, 7(4), 308–313. https://doi.org/10.1093/comjnl/7.4.308.
- Danby, J. M. A. (1987). "The solution of Kepler's equation, III." Celestial Mechanics, 40, 303–312. https://doi.org/10.1007/BF01235847. Used for: the starting value of the Kepler-equation iteration.
- Wallace, P. T., & Capitaine, N. (2006). "Precession-nutation procedures consistent with IAU 2006 resolutions." Astronomy & Astrophysics, 459(3), 981–985. https://doi.org/10.1051/0004-6361:20065897.
- Mathews, P. M., Herring, T. A., & Buffett, B. A. (2002). "Modeling of nutation and precession: New nutation series for nonrigid Earth and insights into the Earth's interior." Journal of Geophysical Research: Solid Earth, 107(B4), 2068. https://doi.org/10.1029/2001JB000390. The IAU 2000A nutation model.
- Seidelmann, P. K. (1982). "1980 IAU Theory of Nutation: The final report
of the IAU Working Group on Nutation." Celestial Mechanics, 27, 79–106.
https://doi.org/10.1007/BF01228952. The IAU 1980 nutation theory: the
two-term nutation and equation of the equinoxes of the _approx reduction
are its leading terms, and the classical definition of TEME uses it.
- Charlot, P., et al. (2020). "The third realization of the International Celestial Reference Frame by very long baseline interferometry." Astronomy & Astrophysics, 644, A159. https://doi.org/10.1051/0004-6361/202038368.
- Altamimi, Z., Rebischung, P., Collilieux, X., Métivier, L., & Chanard, K. (2023). "ITRF2020: an augmented reference frame refining the modeling of nonlinear station motions." Journal of Geodesy, 97, 47. https://doi.org/10.1007/s00190-023-01738-w.
- Standish, E. M., & Williams, J. G. "Keplerian Elements for Approximate
Positions of the Major Planets." JPL Solar System Dynamics.
https://ssd.jpl.nasa.gov/planets/approx_pos.html. Used for: the
low-precision planetary ephemerides (satkit.planets).
- NASA Goddard Space Flight Center. General Mission Analysis Tool (GMAT)
Mathematical Specifications, distributed with GMAT (R2026A:
docs/GMATMathSpec.pdf); an early draft is on NTRS at
https://ntrs.nasa.gov/citations/20080031744. Used for: the GMAT
configuration of the validation corpus (coordinate systems, §4.1.1 Table 4.1
and §4.2.6 relativistic terms).
- Hughes, S. P., Qureshi, R. H., Cooley, S. D., & Parker, J. J. (2014). "Verification and Validation of the General Mission Analysis Tool (GMAT)." AIAA 2014-4151, AIAA/AAS Astrodynamics Specialist Conference. https://doi.org/10.2514/6.2014-4151.
- Rodriguez-Solano, C. J., Hugentobler, U., & Steigenberger, P. (2012). "Adjustable box-wing model for solar radiation pressure impacting GPS satellites." Advances in Space Research, 49(7), 1113–1128. https://doi.org/10.1016/j.asr.2012.01.016. The box-wing SRP model referred to (but not implemented) in the force-model guide.
- Kopp, G., & Lean, J. L. (2011). "A new, lower value of total solar irradiance: Evidence and climate significance." Geophysical Research Letters, 38, L01706. https://doi.org/10.1029/2010GL045777. The 1361 W/m² measured solar constant and why earlier radiometers read ~1365–1367 W/m²; satkit keeps 1367 W/m² for the SRP reference pressure (see Solar Radiation Pressure).
- Beutler, G., Brockmann, E., Gurtner, W., Hugentobler, U., Mervart, L., Rothacher, M., & Verdun, A. (1994). "Extended orbit modeling techniques at the CODE processing center of the International GPS Service for Geodynamics (IGS): theory and initial results." Manuscripta Geodaetica, 19, 367–386. The CODE empirical solar-radiation-pressure parameterization.
- Springer, T. A., Beutler, G., & Rothacher, M. (1999). "A new solar radiation pressure model for GPS satellites." GPS Solutions, 2(3), 50–62. https://doi.org/10.1007/PL00012757. The reduced 5-parameter ECOM.
- Arnold, D., Meindl, M., Beutler, G., Dach, R., Schaer, S., Lutz, S., Prange, L., Sośnica, K., Mervart, L., & Jäggi, A. (2015). "CODE's new solar radiation pressure model for GNSS orbit determination." Journal of Geodesy, 89(8), 775–791. https://doi.org/10.1007/s00190-015-0814-4. ECOM2 (even harmonics in Δu from orbit noon).
- Dach, R., Lutz, S., Walser, P., & Fridez, P. (eds.) (2015). Bernese GNSS Software Version 5.2. Astronomical Institute, University of Bern. https://www.bernese.unibe.ch/docs/DOCU52.pdf. §2.2.2.3 restates the ECOM equations and the shadow convention used by CODE.
- Duan, B., & Hugentobler, U. (2021). "Enhanced solar radiation pressure model for GPS satellites considering various physical effects." GPS Solutions, 25, 42. https://doi.org/10.1007/s10291-020-01073-z. 24-hour GPS prediction accuracy quoted on the ECOM page.
- Hilla, S. (2016). The Extended Standard Product 3 Orbit Format (SP3-d). International GNSS Service. https://files.igs.org/pub/data/format/sp3d.pdf. The precise-orbit file format read in the GPS tutorials and tests.
- Bretagnon, P., & Francou, G. (1988). "Planetary theories in rectangular and spherical variables. VSOP 87 solutions." Astronomy and Astrophysics, 202, 309–315. Data: VizieR catalogue VI/81. The largest planetary and lunar (Earth–Moon barycentre) terms of the Earth's longitude, latitude and distance in the low-precision Sun position.
- Chapront-Touzé, M., & Chapront, J. (1988). "ELP 2000-85: a semi-analytical lunar ephemeris adequate for historical times." Astronomy and Astrophysics, 190, 342–352. The lunar theory behind NASA's Besselian elements, compared with DE440 in the Solar Eclipse Predictions tutorial.
Data sources¶
- IERS Rapid Service / Prediction Centre, finals2000A.all —
https://maia.usno.navy.mil/ser7/finals2000A.all (USNO) and
https://datacenter.iers.org/data/9/finals2000A.all (IERS data centre);
format in https://maia.usno.navy.mil/ser7/readme.finals2000A. The
Bulletin A combined file of Earth orientation parameters (polar motion,
UT1−UTC, LOD, IAU 2000A celestial-pole offsets): observed values from 1973
and about a year of predictions, updated daily. satkit's EOP source.
- GFZ Potsdam Kp index service — https://kp.gfz.de/; the file satkit
reads is
https://www-app3.gfz-potsdam.de/kp_index/Kp_ap_Ap_SN_F107_since_1932.txt
(Kp, ap, Ap, sunspot number and F10.7, daily since 1932; Matzka et al.
2021). Kp, ap and F10.7 are CC BY 4.0; the sunspot column is CC BY-NC 4.0
(SILSO) and satkit does not ingest it. satkit's observed space-weather
record.
- NOAA/SWPC 45-day Ap and F10.7 forecast —
https://services.swpc.noaa.gov/text/45-day-forecast.txt, issued daily.
US Government work. satkit's daily-resolution forecast block.
- NASA MSFC Solar Activity Future Estimation (MSAFE) —
https://www.nasa.gov/solar-cycle-progression-and-forecast/ (archive:
https://www.nasa.gov/solar-cycle-progression-and-forecast/archived-forecast/).
Monthly 13-month-smoothed F10.7 and Ap with 95 / 50 / 5 percentile bands,
one file per month. US Government work. satkit's monthly forecast block,
and the source that carries Ap past the daily record.
- NAIF generic kernels —
https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/planets/
(de440.bsp, used by GMAT in the validation corpus). satkit itself reads
JPL's binary DE files (linux_p1550p2650.440, lnxp1900p2053.421).
- ICGEM — https://icgem.gfz.de/ (Ince et al. 2019): source of the
.gfc gravity-coefficient files.
- NRLMSISE-00 at CCMC — https://ccmc.gsfc.nasa.gov/models/NRLMSIS~00/:
reference implementation and documentation of the density model.
Verification¶
The Rust and Python test suites check the implementation against:
- SGP4 — the test vectors distributed with the reference C++ code of Vallado et al. (2006).
- JPL ephemerides — JPL's
testpoChebyshev-interpolation test vectors for DE440/DE441 (Park et al. 2021). - Frame transforms and Keplerian elements — worked examples from Vallado (2013).
- Gravity — reference values from ICGEM.
- Numerical propagation — ESA/IGS precise GPS orbits in SP3-d format, and the NASA GMAT reference corpus described in Validation: GMAT Comparison.