DirectObs¶
- class rubin_sim.moving_objects.DirectObs(footprint='camera', r_fov=1.75, x_tol=5, y_tol=3, eph_mode='nbody', prelim_eph_mode='2body', eph_type='basic', obs_code='I11', eph_file=None, obs_time_col='observationStartMJD', obs_time_scale='TAI', seeing_col='seeingFwhmGeom', visit_exp_time_col='visitExposureTime', obs_ra='fieldRA', obs_dec='fieldDec', obs_rot_sky_pos='rotSkyPos', obs_degrees=True, outfile_name='lsst_obs.dat', obs_metadata='', tstep=1.0, rough_tol=10.0)¶
Bases:
BaseObs
Generate observations of a set of moving objects: exact ephemeris at the times of each observation.
First generates observations on a rough grid and looks for observations within a specified tolerance of the actual observations; for the observations which pass this cut, generates a precise ephemeris and checks if the object is within the FOV.
- Parameters:
- footprint: `str`, optional
Specify the footprint for the FOV. Options include “camera”, “circle”, “rectangle”. ‘Camera’ means use the actual LSST camera footprint (following a rough cut with a circular FOV). Default is circular FOV.
- r_fov
float
, optional If footprint is “circular”, this is the radius of the fov (in degrees). Default 1.75 degrees.
- x_tol
float
, optional If footprint is “rectangular”, this is half of the width of the (on-sky) fov in the RA direction (in degrees). Default 5 degrees. (so size of footprint in degrees will be 10 degrees in the RA direction).
- y_tol
float
, optional If footprint is “rectangular”, this is half of the width of the fov in Declination (in degrees). Default is 3 degrees (so size of footprint in degrees will be 6 degrees in the Dec direction).
- eph_mode: `str`, optional
Mode for ephemeris generation - nbody or 2body. Default is nbody.
- prelim_eph_mode: str, optional
Mode for preliminary ephemeris generation, if any is done. Default is 2body.
- eph_type: `str`, optional
Type of ephemerides to generate - full or basic. Full includes all values calculated by openorb; Basic includes a more basic set. Default is Basic. (this includes enough information for most standard MAF metrics).
- eph_file: `str` or None, optional
The name of the planetary ephemerides file to use for ephemeris generation. Default (None) will use the default for PyOrbEphemerides.
- obs_code: `str`, optional
Observatory code for ephemeris generation. Default is “I11” - Cerro Pachon.
- obs_time_col: `str`, optional
Name of the time column in the obsData. Default ‘observationStartMJD’.
- obs_time_scale: `str`, optional
Type of timescale for MJD (TAI or UTC currently). Default TAI.
- seeing_col: `str`, optional
Name of the seeing column in the obsData. Default ‘seeingFwhmGeom’. This should be the geometric/physical seeing as it is used for the trailing loss calculation.
- visit_exp_time_col: `str`, optional
Name of the visit exposure time column in the obsData. Default ‘visitExposureTime’.
- obs_ra: `str`, optional
Name of the RA column in the obsData. Default ‘fieldRA’.
- obs_dec: `str`, optional
Name of the Dec column in the obsData. Default ‘fieldDec’.
- obs_rot_sky_pos: `str`, optional
Name of the Rotator column in the obsData. Default ‘rotSkyPos’.
- obs_degrees: `bool`, optional
Whether the observational data is in degrees or radians. Default True (degrees).
- outfile_name
str
, optional The output file name. Default is ‘lsst_obs.dat’.
- obs_metadata
str
, optional A string that captures provenance information about the observations. For example: ‘baseline_v2.0_10yrs, MJD 59853-61677’ or ‘baseline2018a minus NES’ Default ‘’.
- tstep: `float`, optional
The time between initial (rough) ephemeris generation points, in days. Default 1 day.
- rough_tol: `float`, optional
The initial rough tolerance value for positions, used as a first cut to identify potential observations (in degrees). Default 10 degrees.
Methods Summary
run
(orbits, obs_data)Find and write the observations of each object to disk.
Methods Documentation
- run(orbits, obs_data)¶
Find and write the observations of each object to disk.
For each object, generate a very rough grid of ephemeris points (typically using 2body integration). Then identify pointings in obs_data which are within
- Parameters:
- orbits
rubin_sim.moving_objects.Orbits
The orbits to generate ephemerides for.
- obs_data
np.ndarray
The simulated pointing history data.
- orbits