From 438c5f4ad5c83f7a32d628805b10791e3b0a9a8b Mon Sep 17 00:00:00 2001 From: Robert Stein Date: Sat, 20 Apr 2024 16:17:44 -0700 Subject: [PATCH 1/3] First draft of Gaia DR3 --- mirar/catalog/base/base_catalog.py | 2 ++ mirar/catalog/tap/gaia2mass.py | 10 +++++++--- mirar/catalog/vizier/base_vizier_catalog.py | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/mirar/catalog/base/base_catalog.py b/mirar/catalog/base/base_catalog.py index d56f17a85..a30df25f9 100644 --- a/mirar/catalog/base/base_catalog.py +++ b/mirar/catalog/base/base_catalog.py @@ -17,6 +17,8 @@ logger = logging.getLogger(__name__) +DEFAULT_SNR_THRESHOLD = 3.0 + class ABCatalog: """ diff --git a/mirar/catalog/tap/gaia2mass.py b/mirar/catalog/tap/gaia2mass.py index 4a33a8530..202684ca9 100644 --- a/mirar/catalog/tap/gaia2mass.py +++ b/mirar/catalog/tap/gaia2mass.py @@ -7,6 +7,7 @@ import astropy.table from astroquery.gaia import Gaia +from mirar.catalog.base.base_catalog import DEFAULT_SNR_THRESHOLD from mirar.catalog.base.base_gaia import BaseGaia2Mass logger = logging.getLogger(__name__) @@ -20,6 +21,10 @@ class Gaia2MassTAP(BaseGaia2Mass): Crossmatched Gaia/2Mass catalog """ + def __init__(self, *args, snr_threshold: DEFAULT_SNR_THRESHOLD, **kwargs): + super().__init__(*args, **kwargs) + self.snr_threshold = snr_threshold + def get_source_table( self, ra_deg: float, @@ -32,15 +37,14 @@ def get_source_table( cmd = ( f"SELECT * FROM gaiadr2.gaia_source AS g, " - f"gaiadr2.tmass_best_neighbour AS tbest, " - f"gaiadr1.tmass_original_valid AS tmass " + f"gaiadr3.tmass_best_neighbour AS tbest, " f"WHERE g.source_id = tbest.source_id " - f"AND tbest.tmass_oid = tmass.tmass_oid " f"AND CONTAINS(POINT('ICRS', g.ra, g.dec), " f"CIRCLE('ICRS', {ra_deg:.4f}, {dec_deg:.4f}, " f"{self.search_radius_arcmin / 60:.4f}))=1 " f"AND tmass.{self.filter_name}_m > {self.min_mag:.2f} " f"AND tmass.{self.filter_name}_m < {self.max_mag:.2f} " + f"AND tmass.{self.filter_name}_msigcom < {1.086 / self.snr_threshold: .3f}" f"AND tbest.number_of_mates=0 " f"AND tbest.number_of_neighbours=1;" ) diff --git a/mirar/catalog/vizier/base_vizier_catalog.py b/mirar/catalog/vizier/base_vizier_catalog.py index 4b51f20a5..e7cda1511 100644 --- a/mirar/catalog/vizier/base_vizier_catalog.py +++ b/mirar/catalog/vizier/base_vizier_catalog.py @@ -11,7 +11,7 @@ from astropy.table import Table from astroquery.vizier import Vizier -from mirar.catalog.base.base_catalog import BaseCatalog +from mirar.catalog.base.base_catalog import DEFAULT_SNR_THRESHOLD, BaseCatalog from mirar.errors import ProcessorError @@ -47,7 +47,7 @@ def dec_key(self): def __init__( self, *args, - snr_threshold: float = 3.0, + snr_threshold: float = DEFAULT_SNR_THRESHOLD, **kwargs, ): super().__init__(*args, **kwargs) From 3044d1a015a5987f9961181fbdb4c6794da6d8e1 Mon Sep 17 00:00:00 2001 From: Robert Stein Date: Mon, 22 Apr 2024 11:41:40 -0700 Subject: [PATCH 2/3] Better Gaia check --- mirar/catalog/multibackend/gaia2mass.py | 5 ++--- mirar/catalog/tap/gaia2mass.py | 6 +++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mirar/catalog/multibackend/gaia2mass.py b/mirar/catalog/multibackend/gaia2mass.py index b6e6508b2..626f4457d 100644 --- a/mirar/catalog/multibackend/gaia2mass.py +++ b/mirar/catalog/multibackend/gaia2mass.py @@ -24,10 +24,9 @@ def set_backend(backend: str | None) -> Type[BaseCatalog]: if backend is None: # pylint: disable=protected-access,no-member - if Gaia._TapPlus__getconnhandler().get_response_status() != 0: + if Gaia._TapPlus__getconnhandler().get_response_status() == 200: # Gaia goes down sometimes - # response status 0 means it's down, need to confirm what it is when up - # my guess is 200 but could be 1 + # Response status 0 means it's down, 200 when up and working backend = "gaia_tap" else: logger.warning("Gaia TAP service is down, cannot use default backend.") diff --git a/mirar/catalog/tap/gaia2mass.py b/mirar/catalog/tap/gaia2mass.py index 202684ca9..d0723240d 100644 --- a/mirar/catalog/tap/gaia2mass.py +++ b/mirar/catalog/tap/gaia2mass.py @@ -21,7 +21,7 @@ class Gaia2MassTAP(BaseGaia2Mass): Crossmatched Gaia/2Mass catalog """ - def __init__(self, *args, snr_threshold: DEFAULT_SNR_THRESHOLD, **kwargs): + def __init__(self, *args, snr_threshold: float = DEFAULT_SNR_THRESHOLD, **kwargs): super().__init__(*args, **kwargs) self.snr_threshold = snr_threshold @@ -57,8 +57,12 @@ def get_source_table( src_list["ph_qual"] = src_list["ph_qual"].astype(str) src_list["ra_errdeg"] = src_list["ra_error"] / 3.6e6 src_list["dec_errdeg"] = src_list["dec_error"] / 3.6e6 + src_list["FLAGS"] = 0 src_list["magnitude"] = src_list[f"{self.filter_name.lower()}_m"] src_list["magnitude_err"] = src_list[f"{self.filter_name.lower()}_msigcom"] + src_list["h_m"] = src_list["hs_m"] + src_list["h_msigcom"] = src_list["hs_msigcom"] + logger.debug(f"Found {len(src_list)} sources in Gaia") return src_list From 5cab2cc1c263d3b25f0554e10739557e0932804f Mon Sep 17 00:00:00 2001 From: Robert Stein Date: Mon, 22 Apr 2024 15:00:06 -0700 Subject: [PATCH 3/3] Default now vizier --- mirar/catalog/multibackend/gaia2mass.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mirar/catalog/multibackend/gaia2mass.py b/mirar/catalog/multibackend/gaia2mass.py index 626f4457d..edb8d4025 100644 --- a/mirar/catalog/multibackend/gaia2mass.py +++ b/mirar/catalog/multibackend/gaia2mass.py @@ -22,6 +22,9 @@ class Gaia2Mass(BaseMultiBackendCatalog): @staticmethod def set_backend(backend: str | None) -> Type[BaseCatalog]: + if backend is None: + backend = "vizier" + if backend is None: # pylint: disable=protected-access,no-member if Gaia._TapPlus__getconnhandler().get_response_status() == 200: @@ -31,9 +34,6 @@ def set_backend(backend: str | None) -> Type[BaseCatalog]: else: logger.warning("Gaia TAP service is down, cannot use default backend.") - if backend is None: - backend = "vizier" - logger.debug(f"Backend for Gaia2Mass: {backend}") if backend == "gaia_tap":