What orbits around Earth has the least and most sun light exposure?
I wondered: When taking pictures either of Earth or otherwise with various telescopes in orbit, does it help to be in Earth's shadow?
Space Exploration Stack Exchange is a question and answer site for spacecraft operators, scientists, engineers, and enthusiasts. It only takes a minute to sign up.
Sign up to join this communityWhat orbits around Earth has the least and most sun light exposure?
I wondered: When taking pictures either of Earth or otherwise with various telescopes in orbit, does it help to be in Earth's shadow?
As @OrganicMarble suggests a nice Sun-synchronous orbit is probably the answer to both "least" and "most".
Sun-synchronous orbits around the Earth are often used to keep satellites over areas of the Earth that happen to be in constant sunlight for photographic reasons, and a side benefit can be that there is constant sunlight available for the satellite's solar panels.
So I've just asked "Satellites that take advantage of, or require constant availability of sunlight on the spacecraft itself, available in Sun-synchronous orbits?
note 1: Halo orbits around the Sun-Earth Lagrange points are really heliocentric orbits in 1:1 resonance with Earth, but I'm counting them for educational purposes. You may discount them to taste.
note 2: Halo orbits around the Earth-Moon Lagrange points are really geocentric Earth orbits in 1:1 resonance with the Moon, so they really do count!
As for least Sun, I can think of several options:
Tiny halo orbit associated with Sun-Earth L2 (behind the Earth), although a) it's unstable and would require a lot of station-keeping and b) it would only offer partial relief from Sunlight (partial eclipse in the Earth's ant-umbra) most of the time.
update: Wrong! See @Lex's comment, good catch Lex! Tiny halo orbit associated with Earth-Moon L2 (behind the Moon), although a) it's unstable and would require a lot of station-keeping and b) it would offer complete relief from Sunlight (partial eclipse in the Moon's ant-umbra)
Some approximate numbers:
a_Earth: 149598023 km
Sun-Earth L1: 1491598 km
Sun-Earth L2: 1501579 km
Earth r_Hill: 1496606 km
d_antumbra_Earth: 1382778 km
a_Moon: 384400 km
Earth-Moon L1: 58023 km
Earth-Moon L2: 64520 km
Moon r_Hill: 61529 km
d_antumbra_Moon: 374073 km
A Python script for the numbers and plot:
def solve_L1 (r, R, M1, M2):
return M2/r**2 + M1/R**2 - r*(M1 + M2)/R**3 - M1/(R-r)**2
def solve_L2 (r, R, M1, M2):
return M1/R**2 + r*(M1 + M2)/R**3 - M1/(R+r)**2 - M2/r**2
def r_Hill(R, M1, M2):
return R * (M2 / (3.*M1))**(1./3.)
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import brentq
a_Earth = 149598023. # Earth's semi-major axis (km)
a_Moon = 384400. # Moon's semi-major axis (km)
r_Sun = 696392. # Earth's radius (km)
r_Earth = 6378. # Earth's radius (km)
r_Moon = 1737. # Moon's radius (km)
r_low_Earth = 1480000. # (lower guess, km)
r_high_Earth = 1510000. # (upper guess, km)
r_low_Moon = 55000. # (lower guess, km)
r_high_Moon = 70000. # (upper guess, km)
GM_Sun = 1.327E+20 # approximate (m^3/s^2)
GM_Earth = 3.986E+14 # approximate (m^3/s^2)
GM_Moon = 4.904E+12 # approximate (m^3/s^2)
r_Hill_Earth = r_Hill(a_Earth, GM_Sun, GM_Earth)
r_Hill_Moon = r_Hill(a_Moon, GM_Earth, GM_Moon)
d_antumbra_Earth = a_Earth * ((r_Sun / (r_Sun - r_Earth)) - 1.)
d_antumbra_Moon = a_Earth * ((r_Sun / (r_Sun - r_Moon )) - 1.)
r_L1_Earth = brentq(solve_L1, r_low_Earth, r_high_Earth,
args=(a_Earth, GM_Sun, GM_Earth))
r_L2_Earth = brentq(solve_L2, r_low_Earth, r_high_Earth,
args=(a_Earth, GM_Sun, GM_Earth))
r_L1_Moon = brentq(solve_L1, r_low_Moon, r_high_Moon,
args=(a_Moon, GM_Earth, GM_Moon))
r_L2_Moon = brentq(solve_L2, r_low_Moon, r_high_Moon,
args=(a_Moon, GM_Earth, GM_Moon))
if True:
plt.figure()
plt.subplot(2, 1, 1)
r = np.linspace(r_low_Earth, r_high_Earth)
plt.plot(r, solve_L1(r, a_Earth, GM_Sun, GM_Earth), '-g')
plt.plot(r, solve_L2(r, a_Earth, GM_Sun, GM_Earth), '--g')
plt.plot([r_Hill_Earth], [0], 'ok')
plt.plot([r_L1_Earth], [0], 'ok')
plt.plot([r_L2_Earth], [0], 'ok')
plt.plot(r, np.zeros_like(r), '-k')
plt.text(1491000, +3, 'L1', fontsize=14)
plt.text(1496000, +3, 'Hill', fontsize=14)
plt.text(1501000, +3, 'L2', fontsize=14)
plt.subplot(2, 1, 2)
r = np.linspace(r_low_Moon, r_high_Moon)
plt.plot(r, solve_L1(r, a_Moon, GM_Earth, GM_Moon), '-g')
plt.plot(r, solve_L2(r, a_Moon, GM_Earth, GM_Moon), '--g')
plt.plot([r_Hill_Moon], [0], 'ok')
plt.plot([r_L1_Moon], [0], 'ok')
plt.plot([r_L2_Moon], [0], 'ok')
plt.plot(r, np.zeros_like(r), '-k')
plt.text(58000, +100, 'L1', fontsize=14)
plt.text(61000, +100, 'Hill', fontsize=14)
plt.text(64000, +100, 'L2', fontsize=14)
plt.ylim(-300, 300)
plt.show()