earth_shine

ssapy.compute.earth_shine(r_sat, r_earth, r_sun, radius, albedo, albedo_earth, albedo_back, area_panels)[source][source]

Calculate the fractional flux of sunlight reflected from the Earth to the satellite.

This function computes the flux of sunlight reflected from the Earth to the satellite, including contributions from the back surface of the satellite’s solar panels.

Parameters:

r_sat(n, 3) numpy.ndarray

Array of coordinates representing the position of the satellite.

r_earth(n, 3) numpy.ndarray

Array of coordinates representing the position of the Earth.

r_sun(n, 3) numpy.ndarray

Array of coordinates representing the position of the Sun.

radiusfloat

Radius of the satellite in meters.

albedofloat

Albedo of the satellite’s surface.

albedo_earthfloat

Albedo of the Earth.

albedo_backfloat

Albedo of the back surface of the satellite’s solar panels.

area_panelsfloat

Area of the satellite’s solar panels in square meters.

Returns:

dict

Dictionary containing the flux contributions from the Earth to the satellite: - ‘earth_bus’: Fraction of light reflected off the satellite’s bus from the Earth. - ‘earth_panels’: Fraction of light reflected off the satellite’s panels from the Earth.

Notes:

  • The function assumes that the solar panels are always facing the Sun and calculates flux based on the phase angle.

  • Flux contributions from the back surface of the solar panels are computed.

Example:

>>> r_sat = np.array([[1e7, 1e7, 1e7]])
>>> r_earth = np.array([[1.496e11, 0, 0]])
>>> r_sun = np.array([[0, 0, 0]])
>>> earth_shine(r_sat, r_earth, r_sun, radius=0.4, albedo=0.20, albedo_earth=0.30, albedo_back=0.50, area_panels=100)
{'earth_bus': array([...]), 'earth_panels': array([...])}