Site Map

LITE Profile Geolocation

This page describes the algorithm for determining:

The Algorithm Description

The Computation Process

  1. Interpolate the PATH ephemeris data to LITE measurement times and extract the following:

  2. Define Euler angle transformation matrix, M. This matrix transforms vectors in the Space Shuttle Body Axis Coordinate System (BACS) into a system parallel to the GTOD system.

    Let the Space Shuttle attitude angles be defined as Y=yaw, P=pitch, R=roll.

    M =

    cos(P)*cos(Y) sin(Y)*cos(P) -sin(P)
    cos(Y)*sin(P)*sin(R)-sin(Y)*cos(R) sin(Y)*sin(P)*sin(R)+cos(Y)*cos(R) cos(P)*sin(R)
    cos(Y)*sin(P)*cos(R)+sin(Y)*sin(R) sin(Y)*sin(P)*cos(R)-cos(Y)*sin(R) cos(P)*cos(R)

  3. Define the LITE pointing vector, LITE_pv, as (0,0,-1). This is a unit vector pointing out the orbiter cargo bay in the -Z direction of the Space Shuttle BACS. LITE_pv is in the direction of lidar pulse.

  4. Multiply the transformation matrix, M, and LITE_pv, to form the unit vector, GTOD_pv, which is parallel to LITE_pv in the GTOD system.

    GTOD_pv = M * LITE_pv.

  5. Determine where the lidar vector intersects the geoid. This is an iterative process and is performed as follows:

    NOTES:

    The iteration is complete when the return_radius is within a user specified tolerance of the geoid_radius.

    1. Begin the iteration at the orbiter, which is located at the GTOD X, Y, and Z positions defined by the PATH ephemeris data, and initialize the range (distance) from the orbiter to the Earth to be zero.

      Initialize the following working parameters:

      range_value = 0.0
      x_pos = GTOD X position
      y_pos = GTOD Y position
      z_pos = GTOD Z position

    2. Define a new pointing vector, new_pv, in the direction of GTOD_pv, with magnitude range_value, and origin at the orbiter:

      new_pv = range_value * GTOD_pv.

    3. Update the GTOD X, Y, and Z position values along GTOD_pv that correspond to new_pv.

      x_new = x_pos + new_pv_x
      y_new = y_pos + new_pv_y
      z_new = z_pos + new_pv_z

    4. Update return_radius, so it now defines the magnitude of the vector which extends from the center of the geoid to the point x_new, y_new, z_new.

      return_radius = sqrt(x_new*x_new + y_new*y_new + z_new*z_new)

    5. Define the declination,

      declination = z_new/return_radius

    6. Calculate the geodetic latitude and longitude on the surface of the Earth for the nadir position of x_new, y_new, z_new.

    7. Determine the geoid undulation for the geodetic latitude and longitude.

    8. Compute the radius of the ellipsoid, ellipsoid_radius, for the declination.

    9. Compute the geoid radius, geoid_radius, as

      geoid_radius = ellipsoid_radius + undulation

    10. If the difference between return_radius and geoid_radius is greater than a specified tolerance, refine range_value and return to step 2.

    11. If the difference between return_radius and geoid_radius is less than a specified tolerance, the iteration is complete and the geodetic latitude and longitude of the LITE footprint are now defined.

  6. Calculate the nadir geodetic coordinates (geodetic latitude, longitude and altitude) of the orbiter at the GTOD X, Y, and Z position. This calculation also provides the X, Y, and Z position of the nadir point on the surface of the geoid. The nadir X, Y, and Z positions are defined as x_surface, y_surface, and z_surface, respectively.

  7. Calculate the off-nadir angle, the angle between GTOD_pv and the nadir altitude vector. The nadir altitude vector extends from the orbiter to the nadir point on the surface of the geoid with components defined as

    x_vector = x_surface - x_pos,
    y_vector = y_surface - y_pos,
    z_vector = z_surface - z_pos.

    The magnitude of the altitude vector, alt_mag, is defined as

    alt_mag = sqrt(x_vector*x_vector+y_vector*y_vector+z_vector*z_vector),

    and the off-nadir angle is defined as

    off-nadir angle = acosd( (x_vector*GTOD_pv_x+y_vector*GTOD_pv_y+z_vector*GTOD_pv_z)/alt_mag ).