Orbits and Insolation
A collection of functions are available for working with general elliptical orbits and insolation patterns for planets orbiting stars.
Function arguments are defined below
Argument | Definition | Units |
---|---|---|
a | semi-major axis | m |
e | eccentricity | - |
E | eccentric anomaly | rad |
f | true anomaly or stellar longitude | rad |
γ | obliquity | rad |
m | star mass | kg |
p | precession angle | rad |
θ | latitude | rad |
θₛ | substellar latitude | rad |
rₐ | apoapsis distance | m |
rₚ | periapsis distance | m |
t | time | sec |
T | orbital period | sec |
The mass m
, most precisely, should be the sum of the star mass and planet mass, $m_s + m_p$. For most cases the planet mass is negligible, however, and $m_s + m_p \approx m_s$.
The precession angle p
is defined so that when $p=0$, the northern hemisphere is tilted directly toward the star at periapsis. This means that northern summer occurs when planet is closet to the star. Different values of $p ∈ [0,2π]$ control when in the orbital path the equinoxes and solstices occur. For example, if $p = π/2$, the vernal equinox occurs at periapsis and the northern hemisphere is moving into summer.
ClearSky.apoapsis
— Methodapoapsis(a, e)
Compute the apoapsis (farthest distance) distance using semi-major axis and eccentricity
ClearSky.eccentricanomaly
— Methodeccentricanomaly(t, a, m, e)
Numerically compute the eccentric anomaly using Kepler's equation
ClearSky.eccentricity
— Methodeccentricity(rₚ, rₐ)
Compute eccentricity
ClearSky.meananomaly
— Methodmeananomaly(E, e)
Compute the mean anomaly
ClearSky.orbit
— Functionorbit(a, m, e, N=1000)
Create a distance time-series of N
points for an elliptical orbit, returning vectors for time, distance, and true anomaly
ClearSky.orbitaldistance
— Methodorbitaldistance(t, a, m, e)
Compute the distance of a planet from its host, assuming the planet is at periapsis at t=0
ClearSky.orbitaldistance
— Methodorbitaldistance(a, f, e)
Compute the distance of a planet from its host
ClearSky.orbitalperiod
— Methodorbitalperiod(a, m)
Kepler's Third Law describing the orbital period of an elliptical orbit
ClearSky.periapsis
— Methodperiapsis(a, e)
Compute the periapsis (closest approach) distance using semi-major axis and eccentricity
ClearSky.semimajoraxis
— Methodsemimajoraxis(T, m)
Compute the semi-major axis of an orbit
ClearSky.trueanomaly
— Methodtrueanomaly(t, a, m, e)
Compute the true anomaly
ClearSky.trueanomaly
— Methodtrueanomaly(E, e)
Compute the true anomaly
ClearSky.annualfluxfactor
— Methodannualfluxfactor(e, θ, γ, p)
Compute the annually averaged flux factor for a latitude θ
on a planet in a general elliptical orbit.
ClearSky.annualfluxfactors
— Methodannualfluxfactors(e, γ, p; nθ=181)
Compute a range of annually averaged flux factors for a planet in a general elliptical orbit. Returns a latitude vector (row values) and a vector of flux factors. nθ
indicates the number of latitude samples.
ClearSky.diurnalfluxfactor
— Methoddiurnalfluxfactor(t, a, m, e, θ, γ, p)
Compute the diurnally averaged fraction of incoming stellar flux received by a point at latitude θ
for a general elliptical orbit
ClearSky.diurnalfluxfactor
— Methoddiurnalfluxfactor(θ, f, γ)
Compute the diurnally averaged fraction of incoming stellar flux received by a point at latitude θ
when the planet is at solar longitude (true anomaly) f
, with obliquity γ
ClearSky.diurnalfluxfactor
— Methoddiurnalfluxfactor(θ, θₛ)
Compute the diurnally averaged fraction of incoming stellar flux received by a point at latitude θ
when the substellar latitude is θₛ
ClearSky.diurnalfluxfactors
— Methoddiurnalfluxfactors(a, m, e, γ, p; nt=251, nθ=181)
Compute a grid of diurnally averaged fractions of incoming stellar flux for a planet in a general elliptical orbit. Returns a time vector (column values) over one orbital period, latitude vector (row values), and the grid of flux factors. nt
indicates the number of time samples around the orbit and nθ
indicates the number of latitudes.
ClearSky.diurnalfluxfactors
— Methoddiurnalfluxfactors(γ; nf=251, nθ=181)
Compute a grid of diurnally averaged fractions of incoming stellar flux received by a point at latitude θ
for a planet with obliquity γ
in a circular orbit. Returns a solar longitude vector (column values), latitude vector (row values), and the grid of flux factors. nf
indicates the number of points around the orbit and nθ
indicates the number of latitudes.
ClearSky.hourangle
— Methodhourangle(θ, θₛ)
Compute the hour angle
ClearSky.substellarlatitude
— Methodsubstellarlatitude(f, γ)
Compute the latitude of the substellar point for a given solar longitude f
(true anomaly) and obliquity γ