test_unitGroundLocation

test_unitGroundLocation.plot_geometry(groundLocation, scLocations, minimumElevation)[source]

Plots the location of a ground station, its field of view, and the positions of two spacecraft to verify whether the spacecraft have access to the ground station.

Parameters:
  • groundLocation – [3,] : an ECI ground position.

  • scLocations – [3,2] : two spacecraft position vectors

  • minimumElevation – double : minimum view elevation angle in degrees.

Returns:

test_unitGroundLocation.test_AzElR_rates()[source]

Tests that the Az,El,range rates are correct by using 1-step Euler integration

Returns:

test_unitGroundLocation.test_nonzeroRelativeStateOutputs()[source]

Tests the published SEZ position, SEZ velocity, range rate and surface normal for a stationary planet, a ground location at zero latitude and longitude, and a moving spacecraft.

Returns:

test_unitGroundLocation.test_overheadSpacecraft(tilt_deg, v_PN_N)[source]

Tests that a spacecraft exactly overhead of the ground location, with a tilted planet frame, a planet far from the inertial origin and a nonzero relative velocity, gets zero azimuth, azimuth rate and elevation rate despite the floating-point round-off left in the horizontal components of the SEZ position.

Parameters:
  • tilt_deg – [deg] angle between the planet spin axis and the inertial 3-axis

  • v_PN_N – [m/s] planet velocity relative to the inertial frame origin, in N components

Returns:

test_unitGroundLocation.test_planetFixedSpacecraftZeroRates(tilt_deg, v_PN_N)[source]

Tests that a spacecraft fixed in the planet frame has zero range, azimuth and elevation rates and zero velocity relative to the ground location, when the planet spin axis is tilted away from the inertial 3-axis.

Parameters:
  • tilt_deg – [deg] angle between the planet spin axis and the inertial 3-axis

  • v_PN_N – [m/s] planet velocity relative to the inertial frame origin, in N components

Returns:

test_unitGroundLocation.test_range(show_plots)[source]

Tests whether groundLocation:

  1. Computes range correctly by evaluating slantRange;

  2. Tests whether elevation is correctly evaluated;

  3. Tests whether range limits impact access.

  4. Tests whether multiple spacecraft are supported in parallel;

  5. Checks that unmodeled illumination and glare outputs remain zero for every spacecraft at every recorded time step.

Returns:

test_unitGroundLocation.test_rotation(show_plots)[source]

Tests whether groundLocation:

  1. Computes the current location based on the initial position and the rotation rate of the planet it is attached to.

Returns: