Celestial Bodies

Functions

AstroBase.Bodies.along_orbit_radiusFunction
along_orbit_radius([T=Float64,] body::CelestialBody)

Return the along-orbit radius of body in km.

Example

julia> along_orbit_radius(earth)
6378.1366

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.declinationFunction
declination([[T=Float64,] PT=Float64,] body, ep)

Return the declination of the body-fixed frame of body w.r.t. the ICRF at epoch ep in rad.

Example

julia> declination(earth, TTEpoch(2000, 1, 1))
1.5707964598747588

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.declination_rateFunction
declination_rate([[T=Float64,] PT=Float64,] body, ep)

Return the declination rate of change of the body-fixed frame of body w.r.t. the ICRF at epoch ep in rad/s.

Example

julia> declination_rate(earth, TTEpoch(2000, 1, 1))
-3.0805523657085508e-12

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.ellipsoidMethod
ellipsoid([T=Float64,] body::CelestialBody)

Return the subplanetary, along-orbit, and polar radii of body in km which constitute its tri-axial ellipsoid.

Example

julia> ellipsoid(earth)
(6378.1366, 6378.1366, 6356.7519)

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.equatorial_radiusFunction
equatorial_radius([T=Float64,] body::CelestialBody)

Return the equatorial radius of body in km.

Note

The equatorial radius is only available for bodies which have identical subplanetary and along-orbit radii.

Example

julia> equatorial_radius(earth)
6378.1366

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.euler_anglesMethod
euler_angles([[T=Float64,] PT=Float64,] body, ep)

Return the orientation of the body-fixed frame of body w.r.t. the ICRF at epoch ep as a set of Euler angles in rad with rotation order ZXZ.

Example

julia> euler_angles(earth, TTEpoch(2000, 1, 1))
(1.5707964799442533, -1.3307986224120327e-7, 0.16849737156984945)

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.euler_ratesMethod
euler_rates([[T=Float64,] PT=Float64,] body, ep)

Return the rate of change of orientation of the body-fixed frame of body w.r.t. the ICRF at epoch ep as a set of Euler angle rates in rad/s with rotation order ZXZ.

Example

julia> euler_rates(earth, TTEpoch(2000, 1, 1))
(-3.545123997161905e-12, 3.0805523657085508e-12, 7.292115373194001e-5)

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.grav_paramFunction
grav_param([T=Float64,] body::CelestialBody)

Return the gravitational parameter $\mu = GM$ of body in km^3/s^2.

Example

julia> grav_param(earth)
398600.435436096

References

source
AstroBase.Bodies.mean_radiusFunction
mean_radius([T=Float64,] body::CelestialBody)

Return the mean radius of body in km.

Example

julia> mean_radius(earth)
6371.008366666666

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.polar_radiusFunction
polar_radius([T=Float64,] body::CelestialBody)

Return the polar radius of body in km.

Example

julia> polar_radius(earth)
6356.7519

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.right_ascensionFunction
right_ascension([[T=Float64,] PT=Float64,] body, ep)

Return the right ascension of the body-fixed frame of body w.r.t. the ICRF at epoch ep in rad.

Example

julia> right_ascension(earth, TTEpoch(2000, 1, 1))
1.5314935667739428e-7

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.right_ascension_rateFunction
right_ascension_rate([[T=Float64,] PT=Float64,] body, ep)

Return the right ascension rate of change of the body-fixed frame of body w.r.t. the ICRF at epoch ep in rad/s.

Example

julia> right_ascension_rate(earth, TTEpoch(2000, 1, 1))
-3.545123997161905e-12

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.rotation_angleFunction
rotation_angle([[T=Float64,] PT=Float64,] body, ep)

Return the rotation angle of the body-fixed frame of body w.r.t. the ICRF at epoch ep in rad.

Example

julia> rotation_angle(earth, TTEpoch(2000, 1, 1))
0.16849737156984945

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.rotation_rateFunction
rotation_rate([[T=Float64,] PT=Float64,] body, ep)

Return the rotation rate of change of the body-fixed frame of body w.r.t. the ICRF at epoch ep in rad/s.

Example

julia> rotation_rate(earth, TTEpoch(2000, 1, 1))
7.292115373194001e-5

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source
AstroBase.Bodies.subplanetary_radiusFunction
subplanetary_radius([T=Float64,] body::CelestialBody)

Return the subplanetary radius of body in km.

Example

julia> subplanetary_radius(earth)
6378.1366

References

  • Archinal, Brent Allen, et al. "Report of the IAU working group on cartographic coordinates and rotational elements: 2009." Celestial Mechanics and Dynamical Astronomy 109.2 (2011): 101-135.
source

Macros

AstroBase.Bodies.@bodyMacro
@body(name, id, supertype, type=Name, parent=nothing)

Define a new celestial body with NAIF id and supertype which is the singleton instance of type. Optionally, provide a parent (pseudo-)body.

Example

julia> @body rupert 42 MinorBody type=Persephone parent=ssb

julia> rupert isa Persephone
true

julia> typeof(rupert) <: MinorBody
true

julia> parent(rupert)
Solar System Barycenter

julia> naifid(rupert)
42
source

Base Types

AstroBase.Bodies.BarycenterType
Barycenter <: CelestialBody

Abstract supertype for representing the barycenters of the solar system and planetary systems as pseudo-bodies.

source

Sun and Solar System Barycenter

Planets and Planetary Barycenters

Minor Bodies

Natural Satellites

Earth's Moon

Mars Satellites

Jupiter Satellites

Saturn Satellites

Uranus Satellites

Neptune Satellites

Pluto Satellites