118 lines
3.7 KiB
Python
118 lines
3.7 KiB
Python
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'))
|
|
|