Utilities¶

tom_observations.utils.
ephem_to_datetime
(ephem_time)¶ Converts PyEphem time object to a datetime object
 Parameters
ephem_time (PyEphem date) – time to be converted to datetime
 Returns
datetime time equivalent to the ephem_time
 Return type
datetime

tom_observations.utils.
get_last_rise_set_pair
(rise_sets, time)¶ Gets the rise/set pair for the last rise before the given time, using a binary search
 Parameters
rise_sets (array) – array of tuples representing set of rise/sets to search
time (float) – time value used to find the most recent rise, in UNIX time
 Returns
Most recent rise/set pair with respect to the given time
 Return type
tuple

tom_observations.utils.
get_next_rise_set_pair
(rise_sets, time)¶ Gets the upcoming rise/set pair for the next rise after the given time, using a binary search
 Parameters
rise_sets (array) – array of tuples representing set of rise/sets to search
time (float) – time value used to find the next rise, in UNIX time
 Returns
Soonest upcoming rise/set with respect to the given time
 Return type
tuple

tom_observations.utils.
get_pyephem_instance_for_type
(target)¶ Constructs a pyephem body corresponding to the proper object type in order to perform positional calculations for the target
 Returns
FixedBody or EllipticalBody
 Raises
Exception – When a target type other than sidereal or nonsidereal is supplied

tom_observations.utils.
get_rise_set
(observer, target, start_time, end_time)¶ Calculates all of the rises and sets for a target, from a position on Earth, within a given window.
If the target is up at the start time, the rise is included in the result despite not being within the window. Similarly, if the target is up at the end time, the next setting beyond the end window is included in the result.
 Parameters
observer (PyEphem Observer) – Represents the position from which to calculate the rise/sets
target (Target) – The object for which to calculate the rise/sets
start_time (datetime) – start of the calculation window
end_time (datetime) – end of the calculation window
 Returns
A list of 2tuples, each a pair of values representing a rise and a set, both datetime objects
 Return type
list

tom_observations.utils.
get_visibility
(target, start_time, end_time, interval, airmass_limit=10)¶ Calculates the airmass for a target for each given interval between the start and end times.
The resulting data omits any airmass above the provided limit (or default, if one is not provided), as well as any airmass calculated during the day.
 Parameters
start_time (datetime) – start of the window for which to calculate the airmass
end_time (datetime) – end of the window for which to calculate the airmass
interval (int) – time interval, in minutes, at which to calculate airmass within the given window
airmass_limit (int) – maximum acceptable airmass for the resulting calculations
 Returns
A dictionary containing the airmass data for each site. The dict keys consist of the site name prepended with the observing facility. The values are the airmass data, structured as an array containing two arrays. The first array contains the set of datetimes used in the airmass calculations. The second array contains the corresponding set of airmasses calculated.
 Return type
dict