ParallaxCoverageMetric

class rubin_sim.maf.metrics.ParallaxCoverageMetric(metric_name='ParallaxCoverageMetric', m5_col='fiveSigmaDepth', mjd_col='observationStartMJD', filter_col='filter', seeing_col='seeingFwhmGeom', rmag=20.0, sed_template='flat', atm_err=0.01, theta_range=0.0, snr_limit=5, **kwargs)

Bases: BaseMetric

Check how well the parallax factor is distributed. Subtracts the weighted mean position of the parallax offsets, then computes the weighted mean radius of the points. If points are well distributed, the mean radius will be near 1. If phase coverage is bad, radius will be close to zero.

For points on the Ecliptic, uniform sampling should result in a metric value of ~0.5. At the poles, uniform sampling would result in a metric value of ~1. Conceptually, it is helpful to remember that the parallax motion of a star at the pole is a (nearly circular) ellipse while the motion of a star on the ecliptic is a straight line. Thus, any pair of observations separated by 6 months will give the full parallax range for a star on the pole but only observations on very specific dates will give the full range for a star on the ecliptic.

Optionally also demand that there are observations above the snr_limit kwarg spanning theta_range radians.

Parameters:
m5_col: str, optional

Column name for individual visit m5. Default fiveSigmaDepth.

mjd_col: str, optional

Column name for exposure time dates. Default observationStartMJD.

filter_col: str, optional

Column name for filter. Default filter.

seeing_col: str, optional

Column name for seeing (assumed FWHM). Default seeingFwhmGeom.

rmag: float, optional

Magnitude of fiducial star in r filter. Other filters are scaled using sedTemplate keyword. Default 20.0

sedTemplate: str, optional

Template to use (can be ‘flat’ or ‘O’,’B’,’A’,’F’,’G’,’K’,’M’). Default ‘flat’.

atm_err: float, optional

Centroiding error due to atmosphere in arcsec. Default 0.01 (arcseconds).

theta_range: float, optional

Range of parallax offset angles to demand (in radians). Default=0 (means no range requirement).

snr_limit: float, optional

Only include points above the snr_limit when computing theta_range. Default 5.

Returns:
metricValue: float

Returns a weighted mean of the length of the parallax factor vectors. Values near 1 imply that the points are well distributed. Values near 0 imply that the parallax phase coverage is bad. Near the ecliptic, uniform sampling results in metric values of about 0.5.

Notes

Uses the ParallaxFactor stacker to calculate ra_pi_amp and dec_pi_amp.

Methods Summary

run(data_slice[, slice_point])

Calculate metric values.

Methods Documentation

run(data_slice, slice_point=None)

Calculate metric values.

Parameters:
data_slicenumpy.recarray

Values passed to metric by the slicer, which the metric will use to calculate metric values at each slice_point.

slice_pointdict or None

Dictionary of slice_point metadata passed to each metric. E.g. the ra/dec of the healpix pixel or opsim fieldId.

Returns:
metricValue: int float or object

The metric value at each slice_point.