from django.core.management.base import BaseCommand, CommandError from django.db.models import Q from datetime import date import datetime from django.utils import timezone import astropy from astropy.io import ascii import pandas as pd import pymysql from sqlalchemy import create_engine import sys from heasarc.models import HeasarcBase from artsurvey.models import ArtSurveySource, ArtSurvey, EnergyBand from srglib.utils import load_vizier_nvss from srglib.utils import load_vizier_first from srglib.utils import load_vizier_vlass from srglib.utils import load_vizier_sumss from astrobasis.models import GAIADR3 from srglib.utils import find_counterparts from srglib.utils import load_vizier_allwise from srglib.utils import load_simbad_for_skymap_sources from srglib.utils import load_vizier_bj from srglib.utils import load_vizier_gaia_dr3 #from srglib.utils import select_turkpossible def do_all(survey_version,survey_name,slug="E0"): minrad=40 maxdist=600 #bad_category = Category.objects.get(slug='false') #minrad=180 #maxdist=640 try: band = EnergyBand.objects.get(slug=slug) print("use EnergyBand {}".format(band)) except EnergyBand.DoesNotExist: print("EnergyBand not found") return try: survey = ArtSurvey.objects.get(Q(version=survey_version) & Q(name=survey_name)) print("use ArtSurvey {}".format(survey)) except ArtSurvey.DoesNotExist: print("ArtSurvey {} not found".format(survey_version)) return srcs = survey.artsurveysource_set.all().filter(band=band).filter(log_ml_nfalse__lt=-2.3206) print("Selected {} from {} {}".format(len(srcs),survey,band)) #sys.exit() load_simbad_for_skymap_sources(srcs,minrad=minrad,maxdist=maxdist) load_vizier_allwise(srcs, minrad=minrad, maxdist=maxdist) load_vizier_bj(srcs, minrad=minrad, maxdist=60) load_vizier_gaia_dr3(srcs, minrad=minrad, maxdist=60) load_vizier_nvss(srcs, minrad=minrad, maxdist=maxdist) load_vizier_first(srcs, minrad=minrad, maxdist=maxdist) load_vizier_sumss(srcs, minrad=minrad, maxdist=maxdist) load_vizier_vlass(srcs, minrad=minrad, maxdist=maxdist) find_counterparts(srcs, GAIADR3.objects.all(), "gaia3", maxdist=maxdist, minrad=minrad) """ for src in srcs: src.heasarc.clear() find_counterparts(srcs, HeasarcBase.objects.all(),'heasarc', maxdist=maxdist, minrad=minrad) """ class Command(BaseCommand): help = 'Initiates data dase' # def add_arguments(self, parser): # parser.add_argument('poll_id', nargs='+', type=int) def handle(self, *args, **options): #do_all(12.5) #do_all(1.7) #do_all(2.7) #do_all(1234.0) #do_all(3.0) #do_all(4.0) #do_all(34.0,"34") #do_all(5.0,"5") #do_all(12345.0,"1-5") #do_all(0.12,"L20") #do_all(0.12,"L20p1") #do_all(0.12,"L20p2") #do_all(0.12,"L20p3") #do_all(0.12,"L20p4") #do_all(0.13,"L20rb") #do_all(0.15,"L20rb_ml") #do_all(12345.12,"1-5",slug="E5") #do_all(12345.13,"1-5",slug="E5") do_all(12345.14,"1-5",slug="E5") #names=['GP025','GP020','GP015','GP010','GP005','GP000','GP355','GP350','GP345'] #names=['GP055','GP060','GP065'] #names=['GP000','GP005','GP010','GP015','GP020','GP025','GP030','GP035','GP040','GP045','GP050','GP055','GP060','GP065','GP070','GP085','GP090', # 'GP270','GP275','GP280','GP285','GP290','GP295','GP300','GP305','GP310','GP315','GP320','GP325'] #names=['GP315'] names=['GP330','GP335','GP340'] """ for name in names: do_all(0.11,name) """ self.stdout.write(self.style.SUCCESS('Done'))