def empty_observation():
"""
Return a numpy array that could be a handy observation record
XXX: Should this really be "empty visit"? Should we have "visits" made
up of multple "observations" to support multi-exposure time visits?
XXX-Could add a bool flag for "observed". Then easy to track all proposed
observations. Could also add an mjd_min, mjd_max for when an observation should be observed.
That way we could drop things into the queue for DD fields.
XXX--might be nice to add a generic "sched_note" str field, to record any metadata that
would be useful to the scheduler once it's observed. and/or observationID.
Returns
-------
numpy array
Notes
-----
The numpy fields have the following structure
RA : float
The Right Acension of the observation (center of the field) (Radians)
dec : float
Declination of the observation (Radians)
mjd : float
Modified Julian Date at the start of the observation (time shutter opens)
exptime : float
Total exposure time of the visit (seconds)
filter : str
The filter used. Should be one of u, g, r, i, z, y.
rotSkyPos : float
The rotation angle of the camera relative to the sky E of N (Radians)
nexp : int
Number of exposures in the visit.
airmass : float
Airmass at the center of the field
FWHMeff : float
The effective seeing FWHM at the center of the field. (arcsec)
skybrightness : float
The surface brightness of the sky background at the center of the
field. (mag/sq arcsec)
night : int
The night number of the observation (days)
"""
names = ['RA', 'dec', 'mjd', 'exptime', 'filter', 'rotSkyPos', 'nexp',
'airmass', 'FWHMeff', 'FWHM_geometric', 'skybrightness', 'night', 'slewtime', 'fivesigmadepth',
'alt', 'az', 'clouds', 'moonAlt', 'sunAlt', 'note']
# units of rad, rad, days, seconds, string, radians (E of N?)
types = [float, float, float, float, '|U1', float, int, float, float, float, float, int, float, float,
float, float, float, float, float, '|U40']
result = np.zeros(1, dtype=list(zip(names, types)))
return result