138 lines
5.8 KiB
Python
138 lines
5.8 KiB
Python
from django.core.management.base import BaseCommand, CommandError
|
|
from django.db.models import F, 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
|
|
import numpy as np
|
|
from sqlalchemy import create_engine
|
|
from astropy import units as u
|
|
from astropy.coordinates import SkyCoord
|
|
from astropy.coordinates import ICRS, Galactic, FK5
|
|
from astropy_healpix import HEALPix, neighbours
|
|
|
|
from heasarc.models import HeasarcBase
|
|
from artsurvey.models import ArtSurveySource, ArtSurvey, EnergyBand, MetaSource
|
|
from artsurvey.utils import update_metasource
|
|
|
|
from astrobasis.models import GAIADR2
|
|
from srglib.utils import find_counterparts
|
|
from srglib.utils import crossmatch
|
|
from srglib.utils import transfer
|
|
from heasarc.models import NSIDE_SOURCES, ORDER
|
|
|
|
|
|
|
|
def update_meta(survey_version,survey_name,en='E0',minrad=15,maxdist=120):
|
|
try:
|
|
s = ArtSurvey.objects.get(Q(version=survey_version) & Q(name=survey_name))
|
|
except ArtSurvey.DoesNotExist:
|
|
print("ArtSurvey {} {} not found".format(survey_name,survey_version))
|
|
return
|
|
|
|
try:
|
|
band = EnergyBand.objects.get(slug=en)
|
|
except EnergyBand.DoesNotExist:
|
|
print("EnergyBand bot found")
|
|
return
|
|
|
|
|
|
srcs=s.artsurveysource_set.all().filter(band=band)
|
|
count = update_metasource(srcs, minrad=minrad, maxdist=maxdist)
|
|
print("use ArtSurvey {} band={} nrows={} , meta={}".format(s, band, srcs.count(), count))
|
|
|
|
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):
|
|
|
|
""" arcsecond """
|
|
minrad=30.0
|
|
maxdist=500.0
|
|
|
|
""" Detele MetaSource """
|
|
#msrcs=MetaSource.objects.all()
|
|
#print("Delete MetaSource nrows={}".format(msrcs.count()))
|
|
#msrcs.delete()
|
|
|
|
|
|
|
|
"""
|
|
Start filling MetaSource with the most deep survey
|
|
|
|
Attention! Start with S12.E0 because only it contains extended objects
|
|
|
|
"""
|
|
|
|
"""
|
|
update_meta(survey=12.5, en='E0', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=12.5, en='E1', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=12.5, en='E2', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=12.5, en='E3', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=12.5, en='E4', minrad=minrad, maxdist=maxdist)
|
|
|
|
|
|
update_meta(survey=1.7, en='E0', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=1.7, en='E1', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=1.7, en='E2', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=1.7, en='E3', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=1.7, en='E4', minrad=minrad, maxdist=maxdist)
|
|
|
|
update_meta(survey=2.7, en='E0', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=2.7, en='E1', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=2.7, en='E2', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=2.7, en='E3', minrad=minrad, maxdist=maxdist)
|
|
update_meta(survey=2.7, en='E4', minrad=minrad, maxdist=maxdist)
|
|
"""
|
|
|
|
|
|
#update_meta(survey=0.0, en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(survey=0.0, en='E1', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(survey=0.0, en='E2', minrad=minrad, maxdist=maxdist)
|
|
|
|
#update_meta(survey=123.0, en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(survey=1234.0, en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(survey=3.0, en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(survey=4.0, en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(34.0, "34", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(5.0, "5", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(12345.0, "1-5", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(12345.1, "1-5", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(12345.11, "1-5", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(12345.12, "1-5", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(12345.12, "1-5", en='E5', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(12345.13, "1-5", en='E5', minrad=minrad, maxdist=maxdist)
|
|
update_meta(12345.14, "1-5", en='E5', minrad=minrad, maxdist=maxdist)
|
|
|
|
#update_meta(0.12, "L20", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(0.12, "L20p1", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(0.12, "L20p2", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(0.12, "L20p3", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(0.12, "L20p4", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(0.13, "L20rb", en='E0', minrad=minrad, maxdist=maxdist)
|
|
#update_meta(0.15, "L20rb_ml", en='E0', minrad=minrad, maxdist=maxdist)
|
|
|
|
version=0.11
|
|
|
|
#names=['GP025','GP020','GP015','GP010','GP005','GP000','GP355','GP350','GP345',]
|
|
#names=['GP055','GP060','GP065']
|
|
#names=['GP070','GP075','GP080','GP085','GP090', 'GP270','GP275','GP280','GP285','GP290','GP295','GP300','GP305','GP310','GP215','GP320','GP325']
|
|
#names=['GP315']
|
|
names=['GP330','GP335','GP340']
|
|
"""
|
|
for name in names:
|
|
update_meta(version, name, en='E0', minrad=minrad, maxdist=maxdist)
|
|
update_meta(version, name, en='E1', minrad=minrad, maxdist=maxdist)
|
|
update_meta(version, name, en='E2', minrad=minrad, maxdist=maxdist)
|
|
update_meta(version, name, en='E3', minrad=minrad, maxdist=maxdist)
|
|
update_meta(version, name, en='E4', minrad=minrad, maxdist=maxdist)
|
|
"""
|
|
self.stdout.write(self.style.SUCCESS('Done'))
|