HiRISE.HiPlan.SPICE
public class Time_Utilities extends Object
Most of these methods require at least a leapseconds kernel (LSK)
and a spacecraft clock kernel (SCLK) to be loaded into the SPICE
system prior to their invocation. These kernels may be loaded via Kernel_Utilities
, SPICE_Menu
, or JSpice.furnshc(StringBuffer)
, or they may be loaded via the instantiation
of an MttLayer
. If the kernel
pool does not contain the required kernels, these methods will throw
SPICE_Exception
s.
Modifier and Type  Class and Description 

static class 
Time_Utilities.LineTimeAssay
A HiRISE line time and a list of messages that arose during its calculation.

Modifier and Type  Field and Description 

static double 
DEFAULT_LINE_TIME
The default line time in microseconds.

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

Modifier and Type  Method and Description 

static Time_Utilities.LineTimeAssay 
computeLineTime(Observation_Record observation)
Computes the line time for a given observation.

static double 
ephemeris_time(Date scet)
Converts the given time text into a SPICE ephemeris time.

static double 
ephemeris_time(String scet)
Converts the given SCET text into a SPICE ephemeris time.

static double 
line_time(Date time,
double roll_angle)
Computes the line time for the observation given the time of the observation
and the spacecraft roll angle.

static double 
line_time(Date time,
double roll_angle,
double elevation)
Computes the line time for the observation given the time of the observation,
the spacecraft roll angle, and the elevation of the target point.

static double 
line_time(double et,
double roll_angle)
Computes the line time for the observation given the ephemeris time of the
observation and the spacecraft roll angle.

static double 
line_time(double et,
double roll_angle,
double elevation)
Computes the line time for the observation given the ephemeris time of the
observation, the spacecraft roll angle, and the elevation of the target
point.

static double 
line_time(String time,
double roll_angle)
Computes the line time for the observation given the ephemeris time of the
observation and the spacecraft roll angle.

static double 
line_time(String time,
double roll_angle,
double elevation)
Computes the line time for the observation given the ephemeris time of the
observation, the spacecraft roll angle, and the elevation of the target
point.

public static final String ID
public static final double DEFAULT_LINE_TIME
public static double ephemeris_time(String scet) throws SPICE_Exception
scet
 the SCET text.SPICE_Exception
 if there is a problem converting the time.public static double ephemeris_time(Date scet) throws SPICE_Exception
scet
 the SCET.SPICE_Exception
 if there is a problem converting the time.public static double line_time(double et, double roll_angle, double elevation) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
At present, this method uses the JS
utilities from the ASU package.
These utilities have some overhead unnecessary to the strict computation of
line time for HiRISE: they use the JMARS configuration system and the JMARS
logging system.
The current algorithm for calculating ground speed, which is needed to calculate line time, finds the point on the surface of Mars at which HiRISE is pointed at time et. It then finds the point at a time delta t later (0.05 seconds). The difference between the two, divided by the time difference, yields an approximation for ground speed.
Note: Line time is also known as scan exposure duration.
et
 the ephemeris time of the center point of the observation.roll_angle
 the spacecraft roll angle for the observation, in
degrees.elevation
 the elevation of the center point of the observation
target in km.SPICE_Exception
 if there is a problem computing the line time.public static double line_time(double et, double roll_angle) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
et
 the ephemeris time of the center point of the observation.roll_angle
 the spacecraft roll angle for the observation, in
degrees.SPICE_Exception
 if there is a problem computing the line time.line_time(double,double,double)
public static double line_time(String time, double roll_angle, double elevation) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
time
 the ephemeris time text of the center point of the
observation.roll_angle
 the spacecraft roll angle for the observation, in
degrees.elevation
 the elevation of the center point of the observation
target in km.SPICE_Exception
 if there is a problem computing the line time or
if the time text cannot be parsed.line_time(double,double,double)
public static double line_time(String time, double roll_angle) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
time
 the ephemeris time text of the center point of the
observation.roll_angle
 the spacecraft roll angle for the observation, in
degrees.SPICE_Exception
 if there is a problem computing the line time or
if the time text cannot be parsed.line_time(double,double,double)
public static double line_time(Date time, double roll_angle, double elevation) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
time
 the time of the center point of the observation.roll_angle
 the spacecraft roll angle for the observation, in
degrees.elevation
 the elevation of the center point of the observation
target in km.SPICE_Exception
 if there is a problem computing the line time or
if the time text cannot be parsed.line_time(double,double,double)
public static double line_time(Date time, double roll_angle) throws SPICE_Exception
Instrument.DELTA_LINE_TIME_TICK_NANOS
.
Note: Line time is also known as scan exposure duration.
time
 the time of the center point of the observation.roll_angle
 the spacecraft roll angle for the observation, in
degrees.SPICE_Exception
 if there is a problem computing the line time or
if the time text cannot be parsed.line_time(double,double,double)
public static Time_Utilities.LineTimeAssay computeLineTime(Observation_Record observation)
If the observation uses manual delay
, its predict time is offset appropriately based on the delay duration
. Otherwise, the predict time
is used directly. Note that
if the predict time is null, the resulting line time is also
null, regardless of the delay settings.
The offset center
altitude
of the target site is used, if nonnull; otherwise the altitude
is used. If both altitudes are
null, an altitude of 0 km is assumed.
The roll angle
is used
directly; if null, the roll angle is assumed to be 0.
observation
 the observation for which line time is to be computed;
may not be null, although its relevant parameters may be.Copyright \ (C) Arizona Board of Regents on behalf of the \ Planetary Image Research Laboratory, Lunar and \ Planetary Laboratory at the University of Arizona