Source code for astrometric_uncertainty

[docs] EARLY_703_JD = 2456658.5
[docs] EARLY_691_JD = 2452640.5
[docs] EARLY_644_JD = 2452883.5
[docs] def data_weight_Veres2017(obsCode, jd_tdb, catalog=None, program=None): """Return data weighting given an observatory, Julian date, and optionally catalog and program. The weighting is based on the work of Veres et al. See: Veres et al. 20217 https://arxiv.org/pdf/1703.03479 Parameters ---------- obsCode : str The observatory code jd_tdb : float Julian date in TDB of the observation catalog : str, optional The stellar catalog used for measuring the astrometry, by default None program : str, optional The program code assigned by the Minor Planet Center, by default None Returns ------- float Astrometric uncertainty in arcseconds """ dw = 1.5 if obsCode == "703": if jd_tdb <= EARLY_703_JD: dw = 1.0 else: dw = 0.8 elif obsCode == "691": if jd_tdb <= EARLY_691_JD: dw = 0.6 else: dw = 0.5 elif obsCode == "644": if jd_tdb <= EARLY_644_JD: dw = 0.6 else: dw = 0.4 elif obsCode == "704": dw = 1.0 elif obsCode == "G96": dw = 0.5 elif obsCode == "F51": dw = 0.2 elif obsCode == "G45": dw = 0.6 elif obsCode == "699": dw = 0.8 elif obsCode == "D29": dw = 0.75 elif obsCode == "C51": dw = 1.0 elif obsCode == "E12": dw = 0.75 elif obsCode == "608": dw = 0.6 elif obsCode == "J75": dw = 1.0 elif obsCode == "645": dw = 0.3 elif obsCode == "673": dw = 0.3 elif obsCode == "689": dw = 0.5 elif obsCode == "950": dw = 0.5 elif obsCode == "H01": dw = 0.3 elif obsCode == "J04": dw = 0.4 elif obsCode == "W84": dw = 0.5 elif obsCode == "645": dw = 0.3 elif obsCode == "G83" and program == "2": if catalog: if catalog in ["UCAC4", "PPMXL"]: dw = 0.3 elif catalog in ["Gaia1", "Gaia2", "Gaia3", "Gaia3E"]: dw = 0.2 else: dw = 0.3 else: dw = 1.0 elif obsCode in ["K92", "K93", "Q63", "Q64", "V37", "W84", "W85", "W86", "W87", "K91", "E10", "F65"]: dw = 0.4 # Careful with W84 elif obsCode == "Y28": if catalog: if catalog in ["PPMXL", "Gaia1"]: dw = 0.3 else: dw = 1.5 else: dw = 1.5 elif obsCode == "568": if catalog: if catalog in ["USNOB1", "USNOB2"]: # TODO Unsure if "USNOB2" is correct abbreviation!!! dw = 0.5 elif catalog in ["Gaia1", "Gaia2", "Gaia3", "Gaia3E"]: dw = 0.1 elif catalog in ["PPMXL"]: dw = 0.2 else: dw = 1.5 else: dw = 1.5 elif obsCode in ["T09", "T12", "T14"]: if catalog: if catalog in ["Gaia1", "Gaia2", "Gaia3", "Gaia3E"]: dw = 0.1 else: dw = 1.5 else: dw = 1.5 elif obsCode == "309" and program == "&": # Micheli if catalog: if catalog in ["UCAC4", "PPMXL"]: dw = 0.3 elif catalog in ["Gaia1", "Gaia2", "Gaia3", "Gaia3E"]: dw = 0.2 else: dw = 1.5 elif catalog: dw = 1.0 else: dw = 1.5 return dw