HiRISE

HiRISE.HiPlan.SPICE
Class Photometry_Utilities

java.lang.Object
  extended by HiRISE.HiPlan.SPICE.Photometry_Utilities
All Implemented Interfaces:
SPICE_Constants

public class Photometry_Utilities
extends Object
implements SPICE_Constants

A utility class for manipulating and calculating photometry-related quantities used in HiRISE planning. This class uses the NAIF SPICE toolkit via the ASU-developed JSPICE system.

Version:
1.7
Author:
Christian Schaller - UA/PIRL

Field Summary
static String ID
          Class identification name with source code version and date.
 
Fields inherited from interface HiRISE.HiPlan.SPICE.SPICE_Constants
AU, DEIMOS_ID, EARTH_ID, IAU_MARS_FRAME, J2000_FRAME, KM, KM_PER_AU, MARS_ID, MRO_HIGH_PRECISION_ID, MRO_ID, NO_ABCORR, PHOBOS_ID, SUN_ID
 
Method Summary
static double emission_angle(double et, double roll_angle)
          Gets the emission angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.
static double emission_angle(String time, double roll_angle)
          Gets the emission angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.
static double heliocentric_distance(double et)
          Deprecated. Use Distance_Utilities.getHeliocentricDistance(double).
static double heliocentric_distance(String time)
          Deprecated. Use Distance_Utilities.getHeliocentricDistance(String).
static double[] illumination_angles(double et, double roll_angle)
          Gets the illumination angles for the observation given the ephemeris time of the observation and the spacecraft roll angle.
static double[] illumination_angles(String time, double roll_angle)
          Gets the illumination angles for the observation given the ephemeris time of the observation and the spacecraft roll angle.
static double incidence_angle(double et, double roll_angle)
          Gets the solar incidence angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.
static double incidence_angle(String time, double roll_angle)
          Gets the solar incidence angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.
static double l_sub_s(double et)
          Gets the planetocentric longitude of the Sun as seen by Mars at the given ephemeris time.
static double l_sub_s(String time)
          Gets the planetocentric longitude of the Sun as seen by Mars at the given ephemeris time.
static double phase_angle(double et, double roll_angle)
          Gets the phase angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.
static double phase_angle(String time, double roll_angle)
          Gets the phase angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.
static double solar_longitude(double et)
          Gets the planetocentric longitude of the Sun as seen by Mars at the given ephemeris time.
static double solar_longitude(String time)
          Gets the planetocentric longitude of the Sun as seen by Mars at the given ephemeris time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID

public static final String ID
Class identification name with source code version and date.

See Also:
Constant Field Values
Method Detail

heliocentric_distance

@Deprecated
public static double heliocentric_distance(double et)
                                    throws SPICE_Exception
Deprecated. Use Distance_Utilities.getHeliocentricDistance(double).

Gets the heliocentric distance for Mars at the given ephemeris time. The distance is given in astronomical units.

Parameters:
et - the ephemeris time for the heliocentric distance.
Returns:
the heliocentric distance for Mars in AU.
Throws:
SPICE_Exception - if there is a problem computing the distance.

heliocentric_distance

@Deprecated
public static double heliocentric_distance(String time)
                                    throws SPICE_Exception
Deprecated. Use Distance_Utilities.getHeliocentricDistance(String).

Gets the heliocentric distance for Mars at the given ephemeris time. The distance is given in astronomical units.

Parameters:
time - the ephemeris time text for the heliocentric distance.
Returns:
the heliocentric distance for Mars in AU.
Throws:
SPICE_Exception - if there is a problem computing the distance or if the time text cannot be parsed.

solar_longitude

public static double solar_longitude(double et)
                              throws SPICE_Exception
Gets the planetocentric longitude of the Sun as seen by Mars at the given ephemeris time. This quantity is also known as "L_s" or "solar longitude."

This algorithm is based on the N60 version of the NAIF SPICE library, which includes a function lpscn to calculate this quantity. The version of the SPICE library used in the ASU JSPICE implementation is older and does not includes this function.

Parameters:
et - the ephemeris time for the solar longitude.
Returns:
the solar longitude in degrees.
Throws:
SPICE_Exception - if there is a problem computing the solar longitude.

solar_longitude

public static double solar_longitude(String time)
                              throws SPICE_Exception
Gets the planetocentric longitude of the Sun as seen by Mars at the given ephemeris time. This quantity is also known as "L_s" or "solar longitude."

Parameters:
time - the ephemeris time text for the solar longitude.
Returns:
the solar longitude.
Throws:
SPICE_Exception - if there is a problem computing the solar longitude or if the time text cannot be parsed.

l_sub_s

public static double l_sub_s(double et)
                      throws SPICE_Exception
Gets the planetocentric longitude of the Sun as seen by Mars at the given ephemeris time. This quantity is also known as "L_s" or "solar longitude."

Parameters:
et - the ephemeris time for the solar longitude.
Returns:
the solar longitude.
Throws:
SPICE_Exception - if there is a problem computing the solar longitude.
See Also:
solar_longitude(double)

l_sub_s

public static double l_sub_s(String time)
                      throws SPICE_Exception
Gets the planetocentric longitude of the Sun as seen by Mars at the given ephemeris time. This quantity is also known as "L_s" or "solar longitude."

Parameters:
time - the ephemeris time text for the solar longitude.
Returns:
the solar longitude.
Throws:
SPICE_Exception - if there is a problem computing the solar longitude or if the time text cannot be parsed.
See Also:
solar_longitude(String)

illumination_angles

public static double[] illumination_angles(double et,
                                           double roll_angle)
                                    throws SPICE_Exception
Gets the illumination angles for the observation given the ephemeris time of the observation and the spacecraft roll angle.

Parameters:
et - the ephemeris time of the center point of the observation.
roll_angle - the spacecraft roll angle for the observation in degrees.
Returns:
the illumination angles, phase, solar incidence, and emission, in that order.
Throws:
SPICE_Exception - if there is a problem computing the illumination angles.

illumination_angles

public static double[] illumination_angles(String time,
                                           double roll_angle)
                                    throws SPICE_Exception
Gets the illumination angles for the observation given the ephemeris time of the observation and the spacecraft roll angle.

Parameters:
time - the ephemeris time text of the center point of the observation.
roll_angle - the spacecraft roll angle for the observation in degrees.
Returns:
the illumination angles, phase, solar incidence, and emission, in that order.
Throws:
SPICE_Exception - if there is a problem computing the illumination angles or if the time text cannot be parsed.

phase_angle

public static double phase_angle(double et,
                                 double roll_angle)
                          throws SPICE_Exception
Gets the phase angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.

Parameters:
et - the ephemeris time of the center point of the observation.
roll_angle - the spacecraft roll angle for the observation in degrees.
Returns:
the phase angle.
Throws:
SPICE_Exception - if there is a problem computing the phase angle.
See Also:
illumination_angles(double,double)

phase_angle

public static double phase_angle(String time,
                                 double roll_angle)
                          throws SPICE_Exception
Gets the phase angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.

Parameters:
time - the ephemeris time text of the center point of the observation.
roll_angle - the spacecraft roll angle for the observation in degrees.
Returns:
the phase angle.
Throws:
SPICE_Exception - if there is a problem computing the phase angle.
See Also:
illumination_angles(double,double)

incidence_angle

public static double incidence_angle(double et,
                                     double roll_angle)
                              throws SPICE_Exception
Gets the solar incidence angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.

Parameters:
et - the ephemeris time of the center point of the observation.
roll_angle - the spacecraft roll angle for the observation in degrees.
Returns:
the solar incidence angle.
Throws:
SPICE_Exception - if there is a problem computing the solar incidence angle.
See Also:
illumination_angles(double,double)

incidence_angle

public static double incidence_angle(String time,
                                     double roll_angle)
                              throws SPICE_Exception
Gets the solar incidence angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.

Parameters:
time - the ephemeris time text of the center point of the observation.
roll_angle - the spacecraft roll angle for the observation in degrees.
Returns:
the solar incidence angle.
Throws:
SPICE_Exception - if there is a problem computing the solar incidence angle.
See Also:
illumination_angles(double,double)

emission_angle

public static double emission_angle(double et,
                                    double roll_angle)
                             throws SPICE_Exception
Gets the emission angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.

Parameters:
et - the ephemeris time of the center point of the observation.
roll_angle - the spacecraft roll angle for the observation in degrees.
Returns:
the emission angle.
Throws:
SPICE_Exception - if there is a problem computing the emission angle.
See Also:
illumination_angles(double,double)

emission_angle

public static double emission_angle(String time,
                                    double roll_angle)
                             throws SPICE_Exception
Gets the emission angle for the observation given the ephemeris time of the observation and the spacecraft roll angle.

Parameters:
time - the ephemeris time text of the center point of the observation.
roll_angle - the spacecraft roll angle for the observation in degrees.
Returns:
the emission angle.
Throws:
SPICE_Exception - if there is a problem computing the emission angle.
See Also:
illumination_angles(double,double)

HiRISE

Copyright (C) Arizona Board of Regents on behalf of the Planetary Image Research Laboratory, Lunar and Planetary Laboratory at the University of Arizona