ssapy.compute

Tools for orbital dynamics, satellite tracking, and celestial mechanics.

Functions

M_v_lambertian(r_sat, times[, radius, ...])

Calculate the apparent magnitude (M_v) of a satellite due to reflections from the Sun, Earth, and Moon.

altaz(orbit, time, observer[, propagator, ...])

Calculate observed altitude and azimuth of orbiting objects as viewed at specified times and locations.

angle_between_vectors(vector1, vector2)

Calculates the angle (in radians) between two vectors.

calc_M_v(r_sat, r_earth, r_sun[, r_moon, ...])

Calculate the apparent magnitude (M_v) of a satellite due to reflections from the Sun, Earth, and optionally the Moon.

calc_gamma(r, t)

Calculate the gamma angle between position and velocity vectors in the ITRF frame.

calculate_orbital_elements(r_, v_[, ...])

Calculate the Keplerian orbital elements from position and velocity vectors.

dircos(orbit, time[, obsPos, obsVel, ...])

Calculate observed direction-cosines of orbiting objects as viewed at specified times and positions.

earthShadowCoords(r, time)

Determine components of position r parallel and perpendicular to sun unit vector.

earth_shine(r_sat, r_earth, r_sun, radius, ...)

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

find_passes(orbit, observers, tStart, tSpan, dt)

Find satellite overhead passes for a collection of observers.

gcrf_to_itrf(r_gcrf, t[, v])

Converts a position vector in the GCRF (Geocentric Celestial Reference Frame) to the ITRF (International Terrestrial Reference Frame) in Cartesian coordinates.

get_angle(a, b, c)

Calculate the angle between two vectors where b is the vertex of the angle.

get_body(name[, model])

Get a Body object for a named body.

groundTrack(orbit, time[, propagator, format])

Calculate satellite ground track on the outer product of all supplied times and state vectors or orbits.

iers_interp(t)

Interpolate IERS values

lagrange_points_lunar_frame()

Calculate the positions of the lunar Lagrange points in the lunar frame, This frame is defined by the coordinate transformation in utils.py gcrf_to_lunar().

lb_to_unit(r, d)

Convert lb-like coordinates to unit vectors.

lunar_lagrange_points(t)

Calculate the positions of the lunar Lagrange points in the GCRF frame at a given time.

lunar_lagrange_points_circular(t)

Calculate the positions of the lunar Lagrange points in the GCRF frame for a given time.

moon_normal_vector(t)

Calculate the normal vector to the Moon's orbital plane at a given time.

moon_shine(r_moon, r_sat, r_earth, r_sun, ...)

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

nby3shape(arr_)

Reshapes or transforms an input NumPy array into a shape compatible with (n, 3).

norm(arr)

Compute the Euclidean norm of an array over the last axis while preserving leading axes.

normed(arr)

Normalize an array along the last axis to have unit length.

quickAltAz(orbit, time, observer[, ...])

Quickly estimate observed altitude and azimuth of orbiting objects as viewed at specified times and locations.

radec(orbit, time[, obsPos, obsVel, ...])

Calculate observed right ascension, declination, and slant range of orbiting objects as viewed at specified times and positions.

radecRate(orbit, time[, obsPos, obsVel, ...])

Calculate ra/dec rate and slant range rate of orbit at specified times and observer positions and velocities.

radecRateObsToRV(ra, dec, slantRange[, ...])

Convert object angles and observer position to 3D observer position

refine_pass(orbit, observer, time[, ...])

Refine a satellite overhead pass.

rotation_matrix_from_vectors(vec1, vec2)

Find the rotation matrix that aligns vec1 to vec2 :param vec1: A 3d "source" vector :param vec2: A 3d "destination" vector :return mat: A transform matrix (3x3) which when applied to vec1, aligns it with vec2.

rv(orbit, time[, propagator])

Calculate positions and velocities on the outer product of all supplied orbits and times.

rvObsToRaDecRate(r, v[, obsPos, obsVel])

Convert object and observer position and velocity to angles.

sunPos(t[, fast])

Compute GCRF position of the sun.

sun_shine(r_sat, r_earth, r_sun, radius, ...)

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

unitAngle3(r1, r2)

Robustly compute angle between unit vectors r1 and r2.

Classes

Ellipsoid

HashableArrayContainer(arr)

A container for NumPy arrays that makes them hashable and immutable.

KeplerianPropagator()

A basic Keplerian propagator for finding the position and velocity of an orbiting object at some future or past time.

LRU_Cache(user_function[, maxsize])

Simplified Least Recently Used Cache.

Orbit(r, v, t[, mu, propkw])

Orbital state of one or more objects.

Time(val[, val2, format, scale, precision, ...])

Represent and manipulate times and dates for astronomy.

Class Inheritance Diagram

Inheritance diagram of ssapy.compute.HashableArrayContainer