Skip to content

Commit

Permalink
Swap Tap to use Gaia DR3 (#854)
Browse files Browse the repository at this point in the history
  • Loading branch information
robertdstein authored Apr 22, 2024
1 parent 0bdcdf3 commit ac3fc7e
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 11 deletions.
2 changes: 2 additions & 0 deletions mirar/catalog/base/base_catalog.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

logger = logging.getLogger(__name__)

DEFAULT_SNR_THRESHOLD = 3.0


class ABCatalog:
"""
Expand Down
11 changes: 5 additions & 6 deletions mirar/catalog/multibackend/gaia2mass.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,18 @@ 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() != 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.")

if backend is None:
backend = "vizier"

logger.debug(f"Backend for Gaia2Mass: {backend}")

if backend == "gaia_tap":
Expand Down
14 changes: 11 additions & 3 deletions mirar/catalog/tap/gaia2mass.py
Original file line number Diff line number Diff line change
Expand Up @@ -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__)
Expand All @@ -20,6 +21,10 @@ class Gaia2MassTAP(BaseGaia2Mass):
Crossmatched Gaia/2Mass catalog
"""

def __init__(self, *args, snr_threshold: float = DEFAULT_SNR_THRESHOLD, **kwargs):
super().__init__(*args, **kwargs)
self.snr_threshold = snr_threshold

def get_source_table(
self,
ra_deg: float,
Expand All @@ -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;"
)
Expand All @@ -53,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
4 changes: 2 additions & 2 deletions mirar/catalog/vizier/base_vizier_catalog.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit ac3fc7e

Please sign in to comment.