diff --git a/README.md b/README.md index 106ce38..11fc822 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,16 @@ Distribution's `conda` package manager Begin by creating and activating an environment with all the prerequisites: ``` -conda create -n oif-dev -c conda-forge -c mjuric python spiceypy openorb numpy pandas matplotlib spice-utils +conda create -n oif-dev -c conda-forge -c mjuric python spiceypy=4.0.1 openorb numpy pandas matplotlib spice-utils conda activate oif-dev ``` +Download repo via git clone + +``` +git clone https://github.com/eggls6/objectsInField.git +``` + Then download the various large binary files (mostly SPICE kernels) that we don't keep in git by running diff --git a/__main__.py b/__main__.py new file mode 100644 index 0000000..0287e2a --- /dev/null +++ b/__main__.py @@ -0,0 +1,327 @@ +#!/opt/local/bin/python3.4 +########################################### +# Asteroid Survey Simulation Software +# Developed at the Jet Propulsion Laboratory +# Authors: Shantanu Naidu +# Davide Farnocchia +# Steve Chesley +# Date: Apr 06, 2018 +########################################## + + +import os +import numpy as np +import spiceypy as sp +import time +import configparser +import glob +import sys +import argparse +import warnings +import pyoorb as oo + +from . import shared +from . import telescope as ts +from . import sso as ss + +DATAPATH = os.path.join(os.path.dirname(__file__), 'data') +USER_DATAPATH = None + +CWD = os.getcwd() + +def resolve_path(fn): + # if absolute, return as-is + if os.path.isabs(fn): + return fn + + # if relative, check if there's one in cwd + if os.path.exists(fn): + return os.path.abspath(fn) + + # next, check if there's one in the user-overriden path (if any) + if USER_DATAPATH is not None: + f = os.path.abspath(os.path.join(USER_DATAPATH, fn)) + if os.path.exists(f): + return f + + # else, return path pointing to DATAPATH + return os.path.abspath(os.path.join(DATAPATH, fn)) + +def resolve_oorb_ephem_path(planetary_ephem): + if os.path.isabs(planetary_ephem): + return planetary_ephem + + # 1. first resolve against our data path + depath = resolve_path(planetary_ephem) + if os.path.isfile(depath): + return depath + + # 2. then respect in OORB_DATA envvar, if given + if "OORB_DATA" in os.environ: + return os.path.abspath(os.path.join(os.environ["OORB_DATA"], planetary_ephem)) + + # 3. finally, look relative to the openorb binary (in .../share/openorb/foo.dat) + import shutil + oorb_exe = shutil.which("oorb") + if oorb_exe is not None: + return os.path.join(os.path.dirname(os.path.dirname(oorb_exe)), 'share', 'openorb', planetary_ephem) + + +def get_or_exit(config, section, key, message): + try: + return config[section][key] + except KeyError: + sys.exit(message) + +def main(): + #Parsing command line arguments + parser = argparse.ArgumentParser() + parser.add_argument("input", help="Input configuration filename.", type=str) + parser.add_argument("-f", help="Force the program to replace asteroid SPKs", action="store_true") + args = parser.parse_args() + + inputfile=args.input + + + configdict={} + + # Set up reasonable defaults + config = configparser.SafeConfigParser() + config.read_dict({ + 'CONF': { + 'n_Proc': '1', # Number of parallel processes + 'Planetary ephem': 'de430.dat', # Planetary ephemeris file for OpenOrb + 'SPICE metakernel': 'meta_kernel', # NAIF SPICE kernels (Earth orientation, leap sec, etc.) (input) + 'Cache dir': '_cache', # Directory where to place generated temporary files + }, + 'ASTEROID' : { + 'Make SPKs': 'T', + 'nDays': '4000', + 'SPK step': '20', + 'nbody': 'T', + 'Object1': '1', + 'nObjects': '-1', + 'Make SPKs': 'T', + 'Asteroid SPKs': 'ast', # Base file name and path for storing and retrieving asteroid spks (input/output) + 'Asteroid SPK path': 'spks', + }, + 'SURVEY': { + 'Survey T0': '0', + 'Field1': '1', + 'nFields': '1000', + 'Space': 'F', + 'MPCobscode file': 'obslist.dat', + }, + 'CAMERA': { + 'Threshold': '5', + 'SPICE IK': 'camera.ti', + } + }) + + # Check that the config exists + + if (os.path.isfile(inputfile) == False): + sys.exit("Error: Configuration file does not exist %s" %(inputfile)) + + config.read(inputfile) + + # Update the built-in data location, if overridden by user + try: + global USER_DATAPATH + USER_DATAPATH = config["CONF"]['Data path'] + except KeyError: + pass + + + #CONF section + spice_mk = config["CONF"]['SPICE metakernel'] + planetary_ephem = config["CONF"]['Planetary ephem'] + cachedir = config["CONF"]['Cache dir'] + nProc = int(config['CONF']['n_Proc']) + + #CAMERA section + cameradef_file = get_or_exit(config, 'CAMERA', 'Camera', 'Camera FOV definition file not provided') + spiceik = config['CAMERA']['SPICE IK'] + threshold = config.getfloat('CAMERA', 'Threshold') + if (threshold > 90.0): + warnings.warn('Threshold was > 90 degrees. Setting it to 90',Warning) + threshold=90 + + #ASTEROID section + population_model = get_or_exit(config, 'ASTEROID', 'Population model', 'Population model file not provided') + object1 = int(config['ASTEROID']['Object1']) + if (object1==0): + sys.exit('Object1 should >=0') + nObjects = config.getint('ASTEROID','nObjects') + asteroidspks = get_or_exit(config, 'ASTEROID', 'Asteroid SPKs', 'Asteroid SPK file basename not provided') + asteroidspkpath = get_or_exit(config, 'ASTEROID', 'Asteroid SPK path', 'Directory containing asteroid SPKs not provided') + makespks = config.get('ASTEROID', 'Make SPKs') + spkstart = float(get_or_exit(config, 'ASTEROID', 'SPK T0', 'Start time for creating SPK(s) not known')) + spkndays = float(get_or_exit(config, 'ASTEROID', 'nDays', 'Number of days for creating SPK not known')) + spkstep = float(get_or_exit(config, 'ASTEROID', 'SPK step', 'SPK step unspecified')) + if (spkndays/spkstep < 11 and makespks == 'T'): + spkstep=spkndays/11 + warnings.warn('Not enough steps to create SPKs. Reducing SPK step to %f' %(spkstep),Warning) + nbody = config.get('ASTEROID','nbody') + inputformat = get_or_exit(config, 'ASTEROID', 'Input format', 'Input format not provided') + if (inputformat=="whitespace" or inputformat=='Whitespace'): + inputformat='whitespace' + elif (inputformat=="csv" or inputformat=='CSV'): + inputformat=',' + else: + sys.exit("Error: Invalid inputfile format specified") + + #SURVEY section + surveydb = get_or_exit(config, 'SURVEY','Survey database', 'Survey database not provided') + starttime = config.getint('SURVEY','Survey T0') + Field1 = config.getint('SURVEY','Field1') + nFields = config.getint('SURVEY','nFields') + spaceflag = config.get('SURVEY','Space') + surveydbquery = config.get('SURVEY','Surveydbquery') + asteroidspks = os.path.join(asteroidspkpath, asteroidspks) + + #OUTPUT section + outputfile = get_or_exit(config, 'OUTPUT', 'Output file', 'Output file not provided') + outputformat = get_or_exit(config, 'OUTPUT', 'Output format', 'Output format not provided') + + # resolve file locations relative to built-in data paths, + # taking account of user overrides + spice_mk = resolve_path(spice_mk) + cameradef_file = resolve_path(cameradef_file) + population_model = resolve_path(population_model) + surveydb = resolve_path(surveydb) + # Done reading configuration file + + # Check that the population model exists + + if (os.path.isfile(population_model) == False): + sys.exit("Error - Population model file does not exist: %s" %(population_model)) + + # Check that the cameradef_file exists + + if (os.path.isfile(cameradef_file) == False): + sys.exit("Error - File containing the definition of the camera field of view does not exist: %s" %(cameradef_file)) + + # Check that the surveydb exists + + if (os.path.isfile(surveydb) == False): + sys.exit("Error - The survey database does not exist: %s" %(surveydb)) + + + # Check that the surveydb exists + + if (os.path.isfile(spice_mk) == False): + sys.exit("Error - Spice Metadata file does not exist: %s" %(spice_mk)) + + + #If it made it this far, print/save header + inputheader=['START HEADER'] + print('START HEADER') + with open(inputfile,'r') as f: + for row in f: + if(not row.startswith("#") and not row.startswith(";") and row.strip()): + print(row,end='') + inputheader.append(row[:-1]) + # Changing directory to data path + os.makedirs(cachedir, exist_ok=True) + os.chdir(cachedir) + + # Initialize OpenOrb + depath = resolve_oorb_ephem_path(planetary_ephem) + try: + oo.pyoorb.oorb_init(ephemeris_fname=depath) + except Exception as e: + print(e) + sys.exit("Error: Unable to load planetary ephemerides for OpenOrb from %s" %(depath)) + + # Fix up the meta-kernel paths, if it's been templated + tmpdir = None + txt = open(spice_mk).read() + if "{{dirname}}" in txt: + datalink = os.path.dirname(spice_mk) + if len(datalink) > 80: + # SPICE has an 80-character limitation on string variables (sigh), so + # create a symlink to data dir from a (hopefully) shorter path + import tempfile, atexit + tmpdir = tempfile.TemporaryDirectory() + atexit.register(tmpdir.cleanup) # clean up the dir on exit + datalink = os.path.join(tmpdir.name, 'd') + os.symlink(os.path.dirname(spice_mk), datalink) + + # fill out the template + txt = txt.replace("{{dirname}}", datalink) + with open("tmp_meta_kernel", "w") as fp: + fp.write(txt) + spice_mk = "tmp_meta_kernel" + + # Loading Spice Meta Kernel + try: + sp.furnsh(spice_mk) + except Exception as e: + print(e) + sys.exit("Error: Unable to load SPICE metakernel from %s" %(spice_mk)) + + if spaceflag=='T': + spaceflag = True + obscode = config.get('SURVEY','SCID') + if not glob.glob(obscode+'.bsp'): + sys.exit("Error: Couldn't find spacecraft SPK file.") + else: + spaceflag = False + try: + obscodefile = config.get('SURVEY','MPCobscode file') + except: + sys.exit('Error: MPC Obs codes file not provided') + obscodefile = resolve_path(obscodefile) + try: + obscode = config.get('SURVEY','Telescope') + except: + sys.exit('Error: Observatory code not provided') + # Loading the MPC list of observatory codes and coordinates + b=ts.telescopelist(obscodefile) + # Creating SPICE SPK for an observatory + b.createspk(obscode,spkstart-10,spkstart+spkndays+10) + + a=ss.asteroidlist(population_model, inputformat, asteroidspks, object1, nObjects) + + if makespks=='T': + if (glob.glob("%s" %(asteroidspks+'*.bsp')) and not args.f): + sys.exit("Error: Some of the SPKs might already exist. Run with -f flag to overwrite. Alternatively set Make SPKs = F in configuration file or change the value of Asteroid SPKs in the config file.") + else: + os.makedirs(asteroidspkpath,exist_ok=True) + a.generatestates(nbody,spkstart-10, spkstart+spkndays+100,spkstep, args.f) + del a + a=ss.asteroidlist(population_model, inputformat, asteroidspks,object1,nObjects) + + # Loading camera FOV definition + c=ts.camera(cameradef_file,spiceik) + + # Loading list of pointings from survey and creating SPICE kernels + c.createckfk(obscode, surveydb, starttime, Field1, nFields, spice_mk, surveydbquery) + + # starttime and ndays that covers the timespan of the survey + tmptimes=c.fieldMJD + starttime=tmptimes[0] + endtime=tmptimes[-1] + ndays=np.ceil(endtime-starttime) + if (ndays<0): + sys.exit('Error: nFields exceeds the number of frames in the database') + + surveydat=["Survey length:","Field 1 : "+str(starttime), + "Field n : "+str(endtime), "Days : "+str(ndays),"END HEADER"] + for s in surveydat: + inputheader.append(s) + print(s) + +# print("Survey length:") +# print("Field 1 : ", starttime) +# print("Field n : ", endtime) +# print("Days : ", ndays) +# print('END HEADER') + + threshold=np.radians(threshold) + #t0 = time.time() + a.simulate(starttime, starttime+ndays, c, threshold, obscode, CWD, outputfile, outputformat,inputheader) + #t1 = time.time() + #print("#Simulation time: ", (t1-t0)) + #os.system('rm ckip fakesclk test.fk tmp.fk camera.ti cksetupfile tmp') diff --git a/bootstrap.sh b/bootstrap.sh index e564fa3..b28f5aa 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -23,9 +23,21 @@ download() # Download required SPICE kernels # echo "## Downloading SPICE kernels:" +# download oif/data/latest_leapseconds.tls https://naif.jpl.nasa.gov/pub/naif/generic_kernels/lsk/latest_leapseconds.tls +# download oif/data/earth_070425_370426_predict.bpc https://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck/a_old_versions/earth_070425_370426_predict.bpc +# download oif/data/earth_latest_high_prec.bpc https://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck/earth_latest_high_prec.bpc +# download oif/data/de430.bsp https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/planets/de430.bsp +# download oif/data/earth_topo_050714.tf https://naif.jpl.nasa.gov/pub/naif/generic_kernels/fk/stations/earth_topo_050714.tf + +# download oif/data/latest_leapseconds.tls https://naif.jpl.nasa.gov/pub/naif/generic_kernels/lsk/latest_leapseconds.tls +# download oif/data/earth_200101_990628_predict.bpc https://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck/a_old_versions/earth_200101_990628_predict.bpc +# download oif/data/earth_latest_high_prec.bpc https://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck/earth_latest_high_prec.bpc +# download oif/data/de430.bsp https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/planets/de430.bsp +# download oif/data/earth_topo_201023.tf https://naif.jpl.nasa.gov/pub/naif/generic_kernels/fk/stations/earth_topo_201023.tf + download oif/data/latest_leapseconds.tls https://naif.jpl.nasa.gov/pub/naif/generic_kernels/lsk/latest_leapseconds.tls download oif/data/earth_070425_370426_predict.bpc https://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck/a_old_versions/earth_070425_370426_predict.bpc download oif/data/earth_latest_high_prec.bpc https://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck/earth_latest_high_prec.bpc download oif/data/de430.bsp https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/planets/de430.bsp -download oif/data/earth_topo_050714.tf https://naif.jpl.nasa.gov/pub/naif/generic_kernels/fk/stations/earth_topo_050714.tf +download oif/data/earth_topo_050714.tf https://naif.jpl.nasa.gov/pub/naif/generic_kernels/fk/stations/a_old_versions/earth_topo_050714.tf echo "done." diff --git a/oif/__main__.py b/oif/__main__.py index ff0c88a..74413b9 100644 --- a/oif/__main__.py +++ b/oif/__main__.py @@ -26,6 +26,9 @@ DATAPATH = os.path.join(os.path.dirname(__file__), 'data') USER_DATAPATH = None + +CWD = os.getcwd() + def resolve_path(fn): # if absolute, return as-is if os.path.isabs(fn): @@ -79,6 +82,7 @@ def main(): inputfile=args.input + configdict={} # Set up reasonable defaults @@ -94,7 +98,7 @@ def main(): 'Make SPKs': 'T', 'nDays': '4000', 'SPK step': '20', - 'nbody': 'F', + 'nbody': 'T', 'Object1': '1', 'nObjects': '-1', 'Make SPKs': 'T', @@ -113,6 +117,12 @@ def main(): 'SPICE IK': 'camera.ti', } }) + + # Check that the config exists + + if (os.path.isfile(inputfile) == False): + sys.exit("Error: Configuration file %s does not exist" %(inputfile)) + config.read(inputfile) # Update the built-in data location, if overridden by user @@ -122,6 +132,7 @@ def main(): except KeyError: pass + #CONF section spice_mk = config["CONF"]['SPICE metakernel'] planetary_ephem = config["CONF"]['Planetary ephem'] @@ -152,6 +163,13 @@ def main(): spkstep=spkndays/11 warnings.warn('Not enough steps to create SPKs. Reducing SPK step to %f' %(spkstep),Warning) nbody = config.get('ASTEROID','nbody') + inputformat = get_or_exit(config, 'ASTEROID', 'Input format', 'Input format not provided') + if (inputformat=="whitespace" or inputformat=='Whitespace'): + inputformat='whitespace' + elif (inputformat=="csv" or inputformat=='CSV'): + inputformat=',' + else: + sys.exit("Error: Invalid inputfile format specified") #SURVEY section surveydb = get_or_exit(config, 'SURVEY','Survey database', 'Survey database not provided') @@ -159,8 +177,13 @@ def main(): Field1 = config.getint('SURVEY','Field1') nFields = config.getint('SURVEY','nFields') spaceflag = config.get('SURVEY','Space') + surveydbquery = config.get('SURVEY','Surveydbquery') asteroidspks = os.path.join(asteroidspkpath, asteroidspks) - + + #OUTPUT section + outputfile = get_or_exit(config, 'OUTPUT', 'Output file', 'Output file not provided') + outputformat = get_or_exit(config, 'OUTPUT', 'Output format', 'Output format not provided') + # resolve file locations relative to built-in data paths, # taking account of user overrides spice_mk = resolve_path(spice_mk) @@ -169,12 +192,36 @@ def main(): surveydb = resolve_path(surveydb) # Done reading configuration file - #If it made it this far, print header + # Check that the population model exists + + if (os.path.isfile(population_model) == False): + sys.exit("Error: Population model file %s does not exist" %(population_model)) + + # Check that the cameradef_file exists + + if (os.path.isfile(cameradef_file) == False): + sys.exit("Error: File containing the definition of the camera field of view %s does not exist" %(cameradef_file)) + + # Check that the surveydb exists + + if (os.path.isfile(surveydb) == False): + sys.exit("Error: The survey database %s does not exist" %(surveydb)) + + + # Check that the surveydb exists + + if (os.path.isfile(spice_mk) == False): + sys.exit("Error: Spice Metadata file %s does not exist" %(spice_mk)) + + + #If it made it this far, print/save header + inputheader=['START HEADER'] + print('START HEADER') with open(inputfile,'r') as f: for row in f: if(not row.startswith("#") and not row.startswith(";") and row.strip()): print(row,end='') - + inputheader.append(row[:-1]) # Changing directory to data path os.makedirs(cachedir, exist_ok=True) os.chdir(cachedir) @@ -185,7 +232,7 @@ def main(): oo.pyoorb.oorb_init(ephemeris_fname=depath) except Exception as e: print(e) - sys.exit("Unable to load planetary ephemerides for OpenOrb from %s" %(depath)) + sys.exit("Error: Unable to load planetary ephemerides for OpenOrb from %s" %(depath)) # Fix up the meta-kernel paths, if it's been templated tmpdir = None @@ -212,45 +259,45 @@ def main(): sp.furnsh(spice_mk) except Exception as e: print(e) - sys.exit("Unable to load SPICE metakernel from %s" %(spice_mk)) + sys.exit("Error: Unable to load SPICE metakernel from %s" %(spice_mk)) if spaceflag=='T': spaceflag = True obscode = config.get('SURVEY','SCID') if not glob.glob(obscode+'.bsp'): - sys.exit("Couldn't find spacecraft SPK file.") + sys.exit("Error: Couldn't find spacecraft SPK file.") else: spaceflag = False try: obscodefile = config.get('SURVEY','MPCobscode file') except: - sys.exit('MPC Obs codes file not provided') + sys.exit('Error: MPC Obs codes file not provided') obscodefile = resolve_path(obscodefile) try: obscode = config.get('SURVEY','Telescope') except: - sys.exit('Observatory code not provided') + sys.exit('Error: Observatory code not provided') # Loading the MPC list of observatory codes and coordinates b=ts.telescopelist(obscodefile) # Creating SPICE SPK for an observatory b.createspk(obscode,spkstart-10,spkstart+spkndays+10) - a=ss.asteroidlist(population_model, asteroidspks, object1, nObjects) + a=ss.asteroidlist(population_model, inputformat, asteroidspks, object1, nObjects) if makespks=='T': if (glob.glob("%s" %(asteroidspks+'*.bsp')) and not args.f): - sys.exit("Some of the SPKs might already exist. Run with -f flag to overwrite. Alternatively set Make SPKs = F in configuration file or change the value of Asteroid SPKs in the config file.") + sys.exit("Error: Some of the SPKs might already exist. Run with -f flag to overwrite. Alternatively set Make SPKs = F in configuration file or change the value of Asteroid SPKs in the config file.") else: os.makedirs(asteroidspkpath,exist_ok=True) a.generatestates(nbody,spkstart-10, spkstart+spkndays+100,spkstep, args.f) del a - a=ss.asteroidlist(population_model,asteroidspks,object1,nObjects) + a=ss.asteroidlist(population_model, inputformat, asteroidspks,object1,nObjects) # Loading camera FOV definition c=ts.camera(cameradef_file,spiceik) # Loading list of pointings from survey and creating SPICE kernels - c.createckfk(obscode, surveydb, starttime, Field1, nFields, spice_mk) + c.createckfk(obscode, surveydb, starttime, Field1, nFields, spice_mk, surveydbquery) # starttime and ndays that covers the timespan of the survey tmptimes=c.fieldMJD @@ -258,17 +305,23 @@ def main(): endtime=tmptimes[-1] ndays=np.ceil(endtime-starttime) if (ndays<0): - sys.exit('nFields exceeds the number of frames in the database') - - print("Survey length:") - print("Field 1 : ", starttime) - print("Field n : ", endtime) - print("Days : ", ndays) - print('END HEADER') + sys.exit('Error: nFields exceeds the number of frames in the database') + + surveydat=["Survey length:","Field 1 : "+str(starttime), + "Field n : "+str(endtime), "Days : "+str(ndays),"END HEADER"] + for s in surveydat: + inputheader.append(s) + print(s) + +# print("Survey length:") +# print("Field 1 : ", starttime) +# print("Field n : ", endtime) +# print("Days : ", ndays) +# print('END HEADER') threshold=np.radians(threshold) - t0 = time.time() - a.simulate(starttime, starttime+ndays, c, threshold, obscode) - t1 = time.time() - print("#Simulation time: ", (t1-t0)) + #t0 = time.time() + a.simulate(starttime, starttime+ndays, c, threshold, obscode, CWD, outputfile, outputformat,inputheader) + #t1 = time.time() + #print("#Simulation time: ", (t1-t0)) #os.system('rm ckip fakesclk test.fk tmp.fk camera.ti cksetupfile tmp') diff --git a/oif/data/obslist.dat b/oif/data/obslist.dat index 7107cd8..d008d11 100644 --- a/oif/data/obslist.dat +++ b/oif/data/obslist.dat @@ -9,7 +9,7 @@ Code Long. cos sin Name 007 2.33675 0.659470 +0.749223 Paris 008 3.0355 0.80172 +0.59578 Algiers-Bouzaréah 009 7.4417 0.6838 +0.7272 Berne-Uecht -010 6.9267 0.72368 +0.68811 Caussols +010 6.92124 0.723655 +0.688135 Caussols 011 8.7975 0.67920 +0.73161 Wetzikon 012 4.35821 0.633333 +0.771306 Uccle 013 4.48397 0.614813 +0.786029 Leiden @@ -50,12 +50,12 @@ Code Long. cos sin Name 048 15.84080 0.641709 +0.764432 Hradec Králové 049 17.6067 0.5088 +0.8580 Uppsala-Kvistaberg 050 18.0582 0.51118 +0.85660 Stockholm (before 1931) -051 18.4766 0.83055 -0.55508 Cape +051 18.4766 0.83055 -0.55508 Royal Observatory, Cape of Good Hope 052 18.3083 0.51224 +0.85597 Stockholm-Saltsjöbaden -053 18.9642 0.67688 +0.73373 Konkoly Observatory, Budapest (since 1934) +053 18.9642 0.67688 +0.73373 Konkoly Observatory, Budapest (since 1933) 054 11.6654 0.56595 +0.82169 Brorfelde 055 19.9596 0.64321 +0.76316 Cracow -056 20.2450 0.65501 +0.75346 Skalnaté Pleso +056 20.23418 0.655001 +0.753470 Skalnaté Pleso 057 20.5133 0.71074 +0.70116 Belgrade 058 20.4950 0.57897 +0.81262 Kaliningrad 059 20.2201 0.65500 +0.75364 Lomnický Štít @@ -98,12 +98,12 @@ Code Long. cos sin Name 096 9.4283 0.69967 +0.71215 Merate 097 34.7625 0.86165 +0.50608 Wise Observatory, Mitzpeh Ramon 098 11.56900 0.697916 +0.714090 Asiago Observatory, Cima Ekar -099 25.53 0.483 +0.873 Lahti -100 24.13 0.462 +0.884 Ähtäri +099 25.53529 0.484073 +0.872114 Lahti +100 24.14145 0.461165 +0.884370 Ähtäri 101 36.2322 0.64403 +0.76246 Kharkov 102 36.75953 0.564841 +0.822468 Zvenigorod -103 14.47 0.694 +0.715 Ljubljana -104 10.8042 0.71985 +0.69202 San Marcello Pistoiese +103 14.52774 0.695365 +0.716346 Ljubljana +104 10.80375 0.719842 +0.692040 San Marcello Pistoiese 105 37.5706 0.56403 +0.82302 Moscow 106 14.0711 0.69662 +0.71519 Črni Vrh 107 11.0030 0.70998 +0.70186 Cavezzo @@ -114,13 +114,13 @@ Code Long. cos sin Name 112 10.9039 0.70232 +0.70950 Pleiade Observatory, Verona 113 13.0166 0.63502 +0.77001 Volkssternwarte Drebach, Schoenbrunn 114 41.4277 0.72489 +0.68702 Engelhardt Observatory, Zelenchukskaya Station -115 41.4416 0.72492 +0.68699 Zelenchukskaya +115 41.44067 0.725004 +0.686912 Zelenchukskaya 116 11.5958 0.66893 +0.74094 Giesing 117 11.5385 0.66897 +0.74092 Sendling 118 17.2740 0.66558 +0.74394 Astronomical and Geophysical Observatory, Modra 119 42.8200 0.74731 +0.66262 Abastuman 120 13.7261 0.70489 +0.70699 Višnjan -121 36.9369 0.64883 +0.75842 Kharkov University, Chuguevskaya Station +121 36.93403 0.648856 +0.758394 Kharkov University, Chuguevskaya Station 122 3.5035 0.72017 +0.69176 Pises Observatory 123 44.2917 0.76352 +0.64398 Byurakan 124 2.2550 0.72534 +0.68612 Castres @@ -129,11 +129,11 @@ Code Long. cos sin Name 127 6.9797 0.63385 +0.77088 Bornheim 128 46.00661 0.623279 +0.779393 Saratov 129 45.92 0.777 +0.628 Ordubad -130 10.23963 0.700143 +0.711791 Lumezzane +130 10.23963 0.700148 +0.711796 Lumezzane 131 4.725 0.7123 +0.6996 Observatoire de l'Ardeche 132 5.2461 0.71919 +0.69260 Bedoin 133 5.0906 0.72819 +0.68309 Les Tardieux -134 11.4842 0.63160 +0.77277 Groszschwabhausen +134 11.48245 0.631607 +0.772773 Groszschwabhausen 135 49.1210 0.56353 +0.82334 Kasan 136 48.8156 0.56282 +0.82383 Engelhardt Observatory, Kasan 137 34.8147 0.84821 +0.52790 Givatayim Observatory @@ -202,7 +202,7 @@ Code Long. cos sin Name 200 4.3036 0.63385 +0.77088 Beersel Hills Observatory 201 7.6033 0.69871 +0.71332 Jonathan B. Postel Observatory 202 5.8997 0.73137 +0.67971 Tamaris Observatoire, La Seyne sur Mer -203 8.9964 0.70160 +0.71022 GiaGa Observatory +203 8.9955 0.70161 +0.71021 GiaGa Observatory 204 8.7708 0.69765 +0.71430 Schiaparelli Observatory 205 11.2731 0.71478 +0.69703 Obs. Casalecchio di Reno, Bologna 206 10.5667 0.4922 +0.8677 Haagaar Observatory, Eina @@ -220,7 +220,7 @@ Code Long. cos sin Name 218 78.4541 0.95444 +0.29768 Hyderabad 219 78.7283 0.95618 +0.29216 Japal-Rangapur 220 78.8263 0.97627 +0.21634 Vainu Bappu Observatory, Kavalur -221 16.3631 0.91960 -0.39228 IAS Observatory, Hakos +221 16.36170 0.919631 -0.392203 IAS Observatory, Hakos 222 2.4939 0.66113 +0.74777 Yerres-Canotiers 223 80.2464 0.97427 +0.22465 Madras 224 7.50171 0.673178 +0.737048 Ottmarsheim @@ -245,7 +245,7 @@ Code Long. cos sin Name 243 9.4130 0.59572 +0.80050 Umbrella Observatory, Fredenbeck 244 0.00000 0.000000 0.000000 Geocentric Occultation Observation 245 Spitzer Space Telescope -246 14.2881 0.65922 +0.74965 Kleť Observatory-KLENOT +246 14.28476 0.659216 +0.749664 Kleť Observatory-KLENOT 247 Roving Observer 248 0.00000 0.000000 0.000000 Hipparcos 249 SOHO @@ -257,6 +257,7 @@ Code Long. cos sin Name 255 33.18689 0.705965 +0.705886 Evpatoria 256 280.16017 0.784451 +0.618320 Green Bank 257 243.12461 0.816796 +0.575252 Goldstone DSS 25, Fort Irwin +258 Gaia 259 19.22586 0.349828 +0.933688 EISCAT Tromso UHF 260 149.0661 0.85560 -0.51626 Siding Spring Observatory-DSS 261 243.14022 0.836325 +0.546877 Palomar Mountain-DSS @@ -265,6 +266,10 @@ Code Long. cos sin Name 267 204.53044 0.941705 +0.337234 New Horizons KBO Search-CFHT 268 289.30803 0.875516 -0.482342 New Horizons KBO Search-Magellan/Clay 269 289.30914 0.875510 -0.482349 New Horizons KBO Search-Magellan/Baade +270 Unistellar Network, Roving Observer +274 James Webb Space Telescope +275 Non-geocentric Occultation Observation +276 20.38279 0.608295 +0.791076 Pło{ń}sk 277 356.8175 0.56158 +0.82467 Royal Observatory, Blackford Hill, Edinburgh 278 116.4494 0.76818 +0.63809 Peking, Transit of Venus site 279 10.72822 0.631526 +0.772827 Seeberg Observatory, Gotha (1787-1857) @@ -276,7 +281,7 @@ Code Long. cos sin Name 285 2.3708 0.66135 +0.74759 Flammarion Observatory, Juvisy 286 102.7883 0.90694 +0.42057 Yunnan Observatory 290 250.10799 0.842743 +0.537438 Mt. Graham-VATT -291 248.4009 0.84947 +0.52647 LPL/Spacewatch II +291 248.40024 0.849471 +0.526470 LPL/Spacewatch II 292 285.1058 0.76630 +0.64033 Burlington, New Jersey 293 285.5899 0.76936 +0.63668 Burlington remote site 294 285.8467 0.76031 +0.64739 Astrophysical Obs., College of Staten Island @@ -294,6 +299,7 @@ Code Long. cos sin Name 306 290.6769 0.98477 +0.17381 Observatorio Taya Beixo, Barquisimeto 307 287.7166 0.72410 +0.68743 Shattuck Observatory, Hanover 309 289.59569 0.909943 -0.414336 Cerro Paranal +310 288.87164 0.739802 +0.670574 Minor Planet Center Test Code 312 112.334 0.9574 +0.2877 Tsingtao field station, Xisha Islands 318 115.691 0.85206 -0.52170 Quinns Rock 319 116.1350 0.84883 -0.52702 Perth Observatory, Perth-Lowell Telescope @@ -348,7 +354,7 @@ Code Long. cos sin Name 378 136.0142 0.82437 +0.56426 Murou 379 137.6279 0.82300 +0.56613 Hamamatsu-Yuto 380 137.0349 0.82190 +0.56772 Ishiki -381 137.6283 0.81220 +0.58173 Tokyo-Kiso +381 137.62542 0.812172 +0.581777 Tokyo-Kiso 382 137.5553 0.80915 +0.58639 Tokyo-Norikura 383 137.8959 0.80218 +0.59526 Chirorin 384 138.1792 0.8219 +0.5678 Shimada @@ -443,12 +449,12 @@ Code Long. cos sin Name 473 13.31661 0.694793 +0.716822 Remanzacco 474 170.46496 0.720773 -0.691079 Mount John Observatory, Lake Tekapo 475 7.6965 0.70747 +0.70443 Turin (before 1913) -476 7.14044 0.706594 +0.705356 Grange Observatory, Bussoleno +476 7.14075 0.706596 +0.705358 Grange Observatory, Bussoleno 477 0.4856 0.62103 +0.78117 Galleywood 478 3.0896 0.72548 +0.68597 Lamalou-les-Bains 479 6.0505 0.73020 +0.68096 Sollies-Pont 480 0.7733 0.61466 +0.78616 Cockfield -481 7.93 0.596 +0.800 Moorwarfen +481 7.93067 0.595365 +0.800771 Moorwarfen 482 357.1854 0.55560 +0.82866 St. Andrews 483 173.8036 0.74734 -0.66254 Carter Observatory, Black Birch Station 484 174.7594 0.75191 -0.65706 Happy Valley, Wellington @@ -462,14 +468,14 @@ Code Long. cos sin Name 492 358.47 0.605 +0.795 Mickleover 493 357.4542 0.79753 +0.60182 Calar Alto 494 357.8361 0.61126 +0.78879 Stakenbridge -495 357.66 0.598 +0.800 Altrincham +495 357.66247 0.597857 +0.798936 Altrincham 496 358.6860 0.6311 +0.7731 Bishopstoke -497 359.30 0.626 +0.776 Ascot-Loudwater +497 359.29449 0.622323 +0.780160 Loudwater 498 359.2581 0.61334 +0.78718 Earls Barton -499 359.7924 0.62558 +0.77755 Cheam +499 359.79078 0.625578 +0.777562 Cheam 500 0.00000 0.000000 0.000000 Geocentric 501 0.3475 0.63237 +0.77208 Herstmonceux -502 0.85 0.617 +0.783 Colchester +502 0.84793 0.618111 +0.783475 Colchester 503 0.0948 0.61400 +0.78667 Cambridge 504 4.3944 0.68553 +0.72570 Le Creusot 505 4.5639 0.6229 +0.7797 Simon Stevin @@ -492,7 +498,7 @@ Code Long. cos sin Name 522 7.7677 0.66279 +0.74633 Strasbourg 523 8.6512 0.64251 +0.76374 Frankfurt 524 8.4605 0.6509 +0.7566 Mannheim -525 8.7708 0.6331 +0.7715 Marburg +525 8.76917 0.633171 +0.771473 Marburg 526 10.1477 0.58426 +0.80886 Kiel 527 9.9431 0.5955 +0.8007 Altona 528 9.9426 0.62340 +0.77931 Göttingen @@ -524,7 +530,7 @@ Code Long. cos sin Name 554 8.3959 0.63684 +0.76845 Burgsolms Observatory, Wetzlar 555 19.8263 0.64336 +0.76306 Cracow-Fort Skała 556 11.26 0.675 +0.734 Reintal, near Munich -557 14.7837 0.64530 +0.76148 Ondřejov +557 14.77961 0.645250 +0.761529 Ondřejov 558 21.0303 0.61396 +0.78672 Warsaw 559 14.98 0.793 +0.607 Serra La Nave 560 10.93100 0.703262 +0.708561 Madonna di Dossobuono @@ -535,15 +541,15 @@ Code Long. cos sin Name 565 10.1344 0.70437 +0.70746 Bassano Bresciano 566 203.7424 0.93623 +0.35156 Haleakala-NEAT/GEODSS 567 12.7117 0.69783 +0.71387 Chions -568 204.5278 0.94171 +0.33725 Mauna Kea +568 204.5278 0.94171 +0.33725 Maunakea 569 24.9587 0.49891 +0.86375 Helsinki 570 25.2990 0.5794 +0.8123 Vilnius (since 1939) 571 10.63 0.704 +0.708 Cavriana 572 6.89 0.631 +0.772 Cologne 573 9.6612 0.6145 +0.7862 Eldagsen -574 10.27 0.704 +0.708 Gottolengo +574 10.2667 0.70463 +0.70721 Gottolengo 575 6.808 0.68219 +0.72894 La Chaux de Fonds -576 0.38 0.631 +0.774 Burwash +576 0.3760 0.63067 +0.77346 Burwash 577 7.50 0.678 +0.734 Metzerlen Observatory 578 27.99 0.898 -0.439 Linden Observatory 579 8.85 0.711 +0.701 Novi Ligure @@ -552,9 +558,9 @@ Code Long. cos sin Name 582 1.2408 0.61682 +0.78447 Orwell Park 583 30.2717 0.69087 +0.72056 Odessa-Mayaki 584 30.2946 0.50213 +0.86189 Leningrad -585 30.52462 0.640079 +0.765763 Kyiv comet station +585 30.52462 0.640067 +0.765748 Kyiv comet station 586 0.1423 0.73358 +0.67799 Pic du Midi -587 9.23025 0.697442 +0.714485 Sormano +587 9.22918 0.697459 +0.714479 Sormano 588 11.25 0.715 +0.697 Eremo di Tizzano 589 12.64369 0.738223 +0.672386 Santa Lucia Stroncone 590 7.46 0.678 +0.734 Metzerlen @@ -625,7 +631,7 @@ Code Long. cos sin Name 655 236.383 0.6656 +0.7438 Sooke 656 236.3921 0.66580 +0.74367 Victoria 657 236.6903 0.66437 +0.74491 Climenhaga Observatory, Victoria -658 236.58300 0.663631 +0.745601 National Research Council of Canada +658 236.58300 0.663631 +0.745601 Dominion Astrophysical Observatory 659 237.0514 0.66257 +0.74650 Heron Cove Observatory, Orcas 660 237.7379 0.79038 +0.61059 Leuschner Observatory, Berkeley 661 245.7117 0.63251 +0.77222 Rothney Astrophysical Observatory, Priddis @@ -638,7 +644,7 @@ Code Long. cos sin Name 668 240.82 0.821 +0.568 San Emigdio Peak 669 240.8238 0.82540 +0.56279 Ojai 670 240.9558 0.82775 +0.55922 Camarillo -671 242.0022 0.82719 +0.56052 Stony Ridge +671 242.00198 0.827184 +0.560523 Stony Ridge 672 241.9436 0.82794 +0.55942 Mount Wilson 673 242.31783 0.826474 +0.561722 Table Mountain Observatory, Wrightwood 674 242.33605 0.826464 +0.561730 Ford Observatory, Wrightwood @@ -658,13 +664,13 @@ Code Long. cos sin Name 688 248.4645 0.81938 +0.57193 Lowell Observatory, Anderson Mesa Station 689 248.2601 0.81851 +0.57319 U.S. Naval Observatory, Flagstaff 690 248.3367 0.81832 +0.57344 Lowell Observatory, Flagstaff -691 248.4010 0.84951 +0.52642 Steward Observatory, Kitt Peak-Spacewatch +691 248.39966 0.849466 +0.526479 Steward Observatory, Kitt Peak-Spacewatch 692 249.0513 0.84679 +0.53036 Steward Observatory, Tucson 693 249.26745 0.845317 +0.533211 Catalina Station, Tucson 694 248.9943 0.84700 +0.53009 Tumamoc Hill, Tucson 695 248.40533 0.849504 +0.526425 Kitt Peak 696 249.1154 0.85205 +0.52249 Whipple Observatory, Mt. Hopkins -697 248.3842 0.84956 +0.52629 Kitt Peak, McGraw-Hill +697 248.38381 0.849546 +0.526308 Kitt Peak, McGraw-Hill 698 249.26736 0.845316 +0.533212 Mt. Bigelow 699 248.46331 0.819380 +0.571930 Lowell Observatory-LONEOS 700 250.3817 0.80656 +0.58960 Chinle @@ -723,7 +729,7 @@ Code Long. cos sin Name 753 270.59069 0.731622 +0.679491 Washburn Observatory, Madison 754 271.4432 0.73762 +0.67303 Yerkes Observatory, Williams Bay 755 274.6478 0.73353 +0.67743 Optec Observatory -756 272.3257 0.74361 +0.66641 Dearborn Observatory, Evanston +756 272.32567 0.743605 +0.666407 Dearborn Observatory, Evanston (bef. July~1939) 757 280.0050 0.8096 +0.5851 High Point 758 279.2379 0.88044 +0.47257 BCC Observatory, Cocoa 759 273.1947 0.80946 +0.58530 Nashville @@ -735,7 +741,7 @@ Code Long. cos sin Name 765 275.5775 0.77669 +0.62784 Cincinnati 766 275.5167 0.73600 +0.67477 Michigan State University Obs., East Lansing 767 276.2697 0.74102 +0.66930 Ann Arbor -768 272.32500 0.743590 +0.666435 Dearborn Observatory +768 272.32488 0.743585 +0.666430 Dearborn Observatory, Evanston (aft. Oct.~1939) 769 276.9892 0.76716 +0.63936 McMillin Observatory, Columbus 770 274.0786 0.77573 +0.62900 Crescent Moon Observatory, Columbus 771 277.57 0.922 +0.389 Boyeros Observatory, Havana @@ -759,10 +765,10 @@ Code Long. cos sin Name 789 284.5940 0.73188 +0.67922 Litchfield Observatory, Clinton 790 284.2835 0.70343 +0.70840 Dominion Observatory, Ottawa 791 284.5236 0.76713 +0.63937 Flower and Cook Observatory, Philadelphia -792 288.30 0.753 +0.657 University of Rhode Island, Quonochontaug +792 288.29905 0.751746 +0.657236 University of Rhode Island, Quonochontaug 793 286.2200 0.73660 +0.67407 Dudley Observatory, Albany (before 1893) 794 286.1100 0.74789 +0.66161 Vassar College Observatory, Poughkeepsie -795 286.0123 0.7589 +0.6491 Rutherford +795 286.03861 0.757969 +0.650106 Rutherford 796 286.45 0.755 +0.654 Stamford 797 287.0751 0.75218 +0.65676 Yale Observatory, New Haven 798 287.0154 0.75093 +0.65822 Yale Observatory, Bethany @@ -818,7 +824,7 @@ Code Long. cos sin Name 848 237.0219 0.72412 +0.68741 Tenagra Observatory, Cottage Grove 849 265.1694 0.77927 +0.62467 Everstar Observatory, Olathe 850 274.0802 0.81810 +0.57333 Cordell-Lorenz Observatory, Sewanee -851 296.4189 0.71284 +0.69900 Burke-Gaffney Observatory, Halifax +851 296.41962 0.712830 +0.698986 Burke-Gaffney Observatory, Halifax 852 269.4050 0.7805 +0.6231 River Moss Observatory, St. Peters 853 249.1517 0.84365 +0.53544 Biosphere 2 Observatory 854 249.17995 0.846183 +0.531351 Sabino Canyon Observatory, Tucson @@ -837,7 +843,7 @@ Code Long. cos sin Name 867 134.1222 0.81671 +0.57522 Saji Observatory 868 135.1359 0.83066 +0.55492 Hidaka Observatory 869 133.4298 0.83480 +0.54870 Tosa -870 313.17 0.934 -0.359 Campiñas +870 313.17411 0.921798 -0.386786 Campiñas 871 134.3925 0.82256 +0.56678 Akou 872 134.2411 0.82904 +0.55734 Tokushima 873 133.7717 0.82410 +0.56455 Kurashiki Observatory @@ -897,8 +903,8 @@ Code Long. cos sin Name 927 270.56194 0.735007 +0.675850 Madison-YRS 928 286.6761 0.75688 +0.65136 Moonedge Observatory, Northport 929 268.7758 0.86319 +0.50319 Port Allen -930 210.41224 0.953752 -0.299638 Southern Stars Observatory, Tahiti -931 210.3842 0.95330 -0.30100 Punaauia +930 210.41224 0.953752 -0.299638 S. S. Observatory, Pamatai +931 210.3842 0.95330 -0.30100 Puna'auia 932 286.57394 0.749771 +0.659497 John J. McCarthy Obs., New Milford 933 249.7342 0.85383 +0.51924 Rockland Observatory, Sierra Vista 934 242.9572 0.83985 +0.54108 Poway Valley @@ -943,7 +949,7 @@ Code Long. cos sin Name 973 359.6671 0.62271 +0.77983 Harrow 974 8.9220 0.71542 +0.69637 Genoa 975 359.6333 0.77292 +0.63239 Observatorio Astronomico de Valencia -976 358.48 0.612 +0.788 Leamington Spa +976 358.4669 0.61258 +0.78778 Leamington Spa 977 351.5483 0.58660 +0.80717 Markree 978 357.24541 0.588685 +0.805673 Conder Brow 979 358.6697 0.62896 +0.77485 South Wonston @@ -951,12 +957,12 @@ Code Long. cos sin Name 981 353.3522 0.58409 +0.80898 Armagh 982 353.6621 0.59771 +0.79904 Dunsink Observatory, Dublin 983 353.79525 0.805167 +0.591067 San Fernando -984 357.26 0.631 +0.774 Eastfield +984 357.26975 0.631671 +0.772658 Eastfield 985 357.5317 0.60801 +0.79130 Telford -986 358.75 0.624 +0.779 Ascot +986 359.36053 0.625049 +0.777992 Ascot 987 355.3735 0.58658 +0.80721 Isle of Man Observatory, Foxdale 988 355.7060 0.56225 +0.82421 Glasgow -989 357.69 0.600 +0.797 Wilfred Hall Observatory, Preston +989 357.40582 0.591888 +0.803341 Wilfred Hall Observatory, Preston 990 356.3121 0.76260 +0.64487 Madrid 991 356.9278 0.59750 +0.79919 Liverpool (since 1867) 992 356.9995 0.5973 +0.7993 Liverpool (before 1867) @@ -980,7 +986,7 @@ A09 1.1803 0.65037 +0.75711 Quincampoix A10 1.9281 0.75278 +0.65613 Observatorio Astronómico de Conbera A11 2.4718 0.63222 +0.77219 Wormhout A12 8.74768 0.703404 +0.708434 Stazione Astronomica di Sozzago -A13 7.1394 0.68632 +0.72501 Observatoire Naef, Marly +A13 7.1394 0.68632 +0.72501 Observatoire Naef, Ependes A14 5.1864 0.72028 +0.69143 Les Engarouines Observatory A15 6.7972 0.61903 +0.78275 Josef Bresser Sternwarte, Borken A16 7.1922 0.68622 +0.72511 Tentlingen @@ -1044,7 +1050,7 @@ A73 16.2895 0.66788 +0.74183 Penzing Astrometric Obs., Vienna A74 8.76240 0.641951 +0.764216 Bergen-Enkheim Observatory A75 2.1861 0.75124 +0.65783 Fort Pius Observatory, Barcelona A76 20.8356 0.66948 +0.74037 Andromeda Observatory, Miskolc -A77 5.6475 0.72058 +0.69119 Observatoire Chante-Perdrix, Dauban +A77 5.64693 0.720583 +0.691196 Observatoire Chante-Perdrix, Dauban A78 11.71509 0.730944 +0.680264 Stia A79 23.84340 0.743686 +0.666622 Zvezdno Obshtestvo Observatory, Plana A80 14.1222 0.61408 +0.78662 Lindenberg Observatory @@ -1065,7 +1071,7 @@ A94 13.4577 0.69641 +0.71526 Cormons A95 28.3892 0.46584 +0.88193 Taurus Hill Observatory, Varkaus A96 16.2867 0.66656 +0.74303 Klosterneuburg A97 16.4219 0.66646 +0.74308 Stammersdorf -A98 30.2092 0.58214 +0.81040 Taurus-1 Observatory, Baran' +A98 30.2092 0.58214 +0.81040 Observatory Mazzarot-1, Baran' A99 10.8589 0.69978 +0.71223 Osservatorio del Monte Baldo B00 2.5767 0.66289 +0.74622 Savigny-le-Temple B01 8.4464 0.64117 +0.76499 Taunus Observatory, Frankfurt @@ -1116,7 +1122,7 @@ B45 19.9356 0.64169 +0.76447 Narama B46 12.05439 0.714373 +0.697420 Sintini Observatory, Alfonsine B47 24.7503 0.49826 +0.86413 Metsala Observatory, Espoo B48 6.5981 0.61901 +0.78275 Bocholt -B49 2.11269 0.749492 +0.659841 Paus Observatory, Sabadell +B49 2.11250 0.749498 +0.659844 Paus Observatory, Sabadell B50 8.2767 0.65808 +0.75045 Corner Observatory, Durmersheim B51 7.06669 0.725612 +0.685830 Vallauris B52 2.99725 0.741344 +0.668883 Observatorio El Far @@ -1170,7 +1176,7 @@ B99 0.7443 0.74413 +0.66598 Santa Coloma de Gramenet C00 30.5150 0.55583 +0.82853 Velikie Luki C01 13.92293 0.630265 +0.773855 Lohrmann-Observatorium, Triebenberg C02 2.5305 0.74740 +0.66218 Observatorio Royal Park -C03 24.96156 0.492890 +0.867187 Clayhole Observatory, Jokela +C03 24.96114 0.492892 +0.867190 Clayhole Observatory, Jokela C04 37.6331 0.65998 +0.74878 Kramatorsk C05 12.1153 0.68023 +0.73088 Konigsleiten C06 92.9744 0.56032 +0.82553 Krasnoyarsk @@ -1212,7 +1218,7 @@ C41 42.66126 0.723857 +0.688105 MASTER-II Observatory, Kislovodsk C42 87.1778 0.72711 +0.68469 Xingming Observatory, Mt. Nanshan C43 14.2792 0.62451 +0.77842 Hoyerswerda C44 9.02239 0.696268 +0.715567 A. Volta Observatory, Lanzo d'Intelvi -C45 12.40639 0.744413 +0.665514 MPC1 Cassia Observatory, La Giustiniana +C45 12.40639 0.744413 +0.665514 La Giustiniana C46 69.12219 0.576620 +0.814296 Horizon Observatory, Petropavlovsk C47 15.2356 0.66017 +0.74871 Nonndorf C48 100.9214 0.62235 +0.78051 Sayan Solar Observatory, Irkutsk @@ -1223,6 +1229,9 @@ C52 Swift C53 NEOSSat C54 New Horizons C55 Kepler +C56 LISA-Pathfinder +C57 TESS +C59 Yangwang-1 C60 7.06926 0.634261 +0.770545 Argelander Institute for Astronomy Obs., Bonn C61 2.58202 0.658892 +0.749723 Chelles C62 11.3467 0.68967 +0.72175 Eurac Observatory, Bolzano @@ -1243,7 +1252,7 @@ C76 0.74431 0.744127 +0.665974 Observatorio Estels, Àger C77 7.4535 0.71589 +0.69600 Bernezzo Observatory C78 34.81242 0.849698 +0.525519 Martin S. Kraar Observatory, Rehovot C79 2.7855 0.74801 +0.66147 Roser Observatory, Blanes -C80 47.2344 0.77027 +0.63559 Don Astronomical Observatory, Rostov-on-Don +C80 39.7651 0.67959 +0.73115 Don Astronomical Observatory, Rostov-on-Don C81 10.84098 0.693023 +0.718872 Dolomites Astronomical Observatory C82 14.35763 0.760171 +0.647611 Osservatorio Astronomico Nastro Verde, Sorrento C83 91.8425 0.55930 +0.82626 Badalozhnyj Observatory @@ -1263,21 +1272,26 @@ C96 13.8786 0.73544 +0.67537 OACL Observatory, Mosciano Sant Angelo C97 57.97633 0.916656 +0.398354 Al-Fulaij Observatory, Oman C98 11.1764 0.72335 +0.68818 Osservatorio Casellina, Scandicci C99 2.89631 0.746295 +0.663419 Observatori Can Roig, Llagostera -D00 42.6536 0.72388 +0.68809 ISON-Kislovodsk Observatory +D00 42.6536 0.72388 +0.68809 ASC-Kislovodsk Observatory D01 23.93061 0.495920 +0.865471 Andean Northern Observatory, Nummi-Pusula D02 2.05189 0.751414 +0.657647 Observatori Petit Sant Feliu D03 10.5889 0.71522 +0.69670 Rantiga Osservatorio, Tincana -D04 38.4308 0.70960 +0.70225 Krasnodar +D04 38.8569 0.70960 +0.70225 Krasnodar D05 42.50005 0.729580 +0.682314 ISON-Terskol Observatory D06 12.77017 0.747232 +0.662472 Associazione Tuscolana di Astronomia, Domatore D07 6.2094 0.62867 +0.77508 Wegberg D08 8.9191 0.69024 +0.72136 Ghezz Observatory, Leontica D09 5.6794 0.63139 +0.77287 Observatory Grömme, Maasmechelen +D10 8.90181 0.661976 +0.747123 Gaertringen +D11 5.62797 0.723085 +0.688551 Bastidan Observatory +D12 11.33806 0.690580 +0.720900 Filzi School Observatory, Laives +D13 11.56369 0.738665 +0.671859 Cat's Eye Observatory D14 113.3231 0.92000 +0.39061 Nanchuan Observatory, Guangzhou +D15 11.31781 0.630848 +0.773359 Sternwarte F.Schiller-Gymnasium, Weimar D16 113.96422 0.925155 +0.378330 Po Leung Kuk Observatory, Tuen Mun D17 114.2200 0.9245 +0.3799 Hong Kong D18 114.3580 0.86219 +0.50490 Mt. Guizi Observatory -D19 114.32300 0.924955 +0.378843 Hong Kong Space Museum, Tsimshatsui +D19 114.32300 0.924955 +0.378843 Hong Kong Space Museum Sai Kung iObservatory D20 115.71311 0.854733 -0.517343 Zadko Observatory, Wallingup Plain D21 115.8150 0.8492 -0.5263 Shenton Park D22 115.81667 0.849044 -0.526558 UWA Observatory, Crawley @@ -1289,6 +1303,7 @@ D33 120.6982 0.92730 +0.37308 Kenting Observatory, Checheng D34 120.7839 0.92796 +0.37148 Kenting Observatory, Hengchun D35 120.8736 0.91818 +0.39597 Lulin Observatory D36 120.8897 0.91801 +0.39625 Tataka, Mt. Yu-Shan National Park +D37 120.87325 0.918176 +0.395972 Lulin Widefield Telescope, Mt. Lulin D39 122.04961 0.793971 +0.605943 Shandong University Observatory, Weihai D44 124.13928 0.911427 +0.410157 Ishigakijima Astronomical Observatory D53 127.4820 0.63981 +0.76600 ISON-Blagoveschensk Observatory @@ -1328,13 +1343,13 @@ E05 145.69721 0.957625 -0.287092 Earl Hill Observatory, Trinity Beach E07 148.99889 0.820544 -0.569830 Murrumbateman E08 149.33431 0.855971 -0.515472 Wobblesock Observatory, Coonabarabran E09 149.0814 0.85551 -0.51630 Oakley Southern Sky Observatory, Coonabarabran -E10 149.07028 0.855623 -0.516200 Siding Spring-Faulkes Telescope South +E10 149.07085 0.855632 -0.516198 Siding Spring-Faulkes Telescope South E11 149.6627 0.84469 -0.53362 Frog Rock Observatory, Mudgee E12 149.0642 0.85563 -0.51621 Siding Spring Survey E13 149.0969 0.81622 -0.57597 Wanniassa E14 149.1100 0.81852 -0.57274 Hunters Hill Observatory, Ngunnawal E15 149.6061 0.82016 -0.57041 Magellan Observatory, near Goulburn -E16 149.36624 0.831681 -0.553654 Grove Creek Observatory, Trunkey +E16 149.36624 0.831684 -0.553656 Grove Creek Observatory, Trunkey E17 150.3417 0.8329 -0.5519 Leura E18 151.02714 0.829819 -0.556191 BDI Observatory, Regents Park E19 151.0958 0.83042 -0.55528 Kingsgrove @@ -1346,7 +1361,7 @@ E24 150.7769 0.83176 -0.55329 Tangra Observatory, St. Clair E25 153.1170 0.88713 -0.45997 Rochedale (APTA) E26 153.3971 0.88414 -0.46566 RAS Observatory, Biggera Waters E27 153.2667 0.8871 -0.4600 Thornlands -E28 150.6411 0.83319 -0.55121 Kuriwa Observatory, Hawkesbury Heights +E28 150.64105 0.833196 -0.551210 Kuriwa Observatory, Hawkesbury Heights E81 173.2617 0.75267 -0.65622 Nelson E83 173.95703 0.749648 -0.659621 Wither Observatory, Witherlea E85 174.89400 0.800696 -0.597064 Farm Cove @@ -1357,10 +1372,35 @@ F51 203.74409 0.936241 +0.351543 Pan-STARRS 1, Haleakala F52 203.74409 0.936239 +0.351545 Pan-STARRS 2, Haleakala F59 201.94100 0.932037 +0.361160 Ironwood Remote Observatory, Hawaii F60 201.95283 0.929942 +0.366558 Ironwood Observatory, Hawaii -F65 203.7424 0.93624 +0.35154 Haleakala-Faulkes Telescope North +F65 203.74250 0.936239 +0.351538 Haleakala-Faulkes Telescope North F84 210.3842 0.95330 -0.30100 Hibiscus Observatory, Punaauia F85 210.3842 0.95330 -0.30100 Tiki Observatory, Punaauia F86 210.38381 0.953304 -0.301004 Moana Observatory, Punaauia +G00 15.12600 0.665508 +0.744080 AZM Martinsberg, Oed +G01 8.16528 0.600977 +0.796597 Universitaetssternwarte Oldenburg +G02 18.76539 0.653307 +0.754650 KYSUCE Observatory, Kysucke Nove Mesto +G03 18.26061 0.678620 +0.732104 Capricornus Observatory, Csokako +G04 7.14133 0.627502 +0.776082 Schuelerlabor Astronomie St. 7, Wuppertal +G05 354.53363 0.787181 +0.614802 Piconcillo, Sierra Morena +G06 4.67150 0.619980 +0.781996 Dordrecht, Sterrenburg +G07 3.06386 0.719394 +0.692378 Millau Observatory +G08 1.99694 0.748752 +0.660794 Observatorio Les Pedritxes, Matadepera +G09 0.61056 0.621784 +0.780574 SWF Observatory, South Woodham Ferrers +G10 354.45055 0.792574 +0.607765 Clavier Observatory, Lora Del Rio +G11 7.18379 0.630712 +0.773465 Breitenweg Observatory, Herkenrath +G12 8.3306 0.62140 +0.78090 Sternwarte EG, Lippstadt +G13 9.77169 0.451874 +0.889103 Astronomihagen, Fannrem +G14 7.00520 0.725247 +0.686239 Novaloop Observatory, Mougins +G15 9.1183 0.71116 +0.70080 Magroforte Observatory, Alessandria +G16 13.34869 0.787948 +0.613701 OmegaLab Observatory, Palermo +G17 11.20261 0.723508 +0.688023 BAS Observatory, Scandicci +G18 11.28056 0.712881 +0.698947 ALMO Observatory, Padulle +G19 12.7460 0.63252 +0.77202 Immanuel Kant Observatory,Limbach +G20 6.05989 0.727743 +0.683615 Brignoles Observatory +G21 13.73789 0.796024 +0.603377 Osservatorio Castrofilippo +G22 9.21439 0.655435 +0.752770 Experimenta Observatory, Heilbronn +G23 19.09234 0.675698 +0.734739 Vulpecula Observatory, Budapest +G24 9.09350 0.662443 +0.746701 Dettenhausen G25 288.1050 0.70317 +0.70867 Sherbrooke G26 109.8236 0.82499 +0.56338 Fushan Observatory, Mt Shaohua G27 0.72935 0.743842 +0.666483 Fabra Observatory, Montsec @@ -1373,7 +1413,7 @@ G33 7.60879 0.623411 +0.779293 Wickede G34 13.7015 0.63254 +0.77203 Oberfrauendorf G35 249.15789 0.849476 +0.526134 Elephant Head Obsevatory, Sahuarita G36 357.45250 0.797538 +0.601812 Calar Alto-CASADO -G37 248.57749 0.822887 +0.566916 Lowell Observatory-Discovery Channel Telescope +G37 248.57749 0.822887 +0.566916 Lowell Discovery Telescope G38 356.76842 0.759967 +0.647951 Observatorio La Senda, Cabanillas del Campo G39 291.82039 0.921640 -0.387711 ROAD, San Pedro de Atacama G40 343.49174 0.881470 +0.471441 Slooh.com Canary Islands Observatory @@ -1384,7 +1424,7 @@ G44 313.3061 0.92118 -0.38816 Observatorio Longa Vista, Sao Paulo G45 253.63564 0.832748 +0.552480 Space Surveillance Telescope, Atom Site G46 244.66153 0.818022 +0.573711 Pinto Valley Observatory G47 253.80654 0.819827 +0.571261 HillTopTop Observatory, Edgewood -G48 251.10148 0.849514 +0.526196 Doc Greiner Research Obs., Rancho Hildalgo +G48 251.10148 0.849514 +0.526196 Harlingten Research Observatory, Rancho Hildalgo G49 266.5943 0.70889 +0.70302 Minnetonka G50 253.3300 0.84629 +0.53134 Organ Mesa Observatory, Las Cruces G51 239.95778 0.823164 +0.565990 Byrne Observatory, Sedgwick Reserve @@ -1418,7 +1458,7 @@ G78 244.3127 0.84158 +0.53832 Desert Wanderer Observatory, El Centro G79 243.6165 0.82718 +0.56030 Goat Mountain Astronomical Research Station G80 240.5873 0.79904 +0.59962 Sierra Remote Observatories, Auberry G81 242.91300 0.834904 +0.548639 Temecula -G82 248.40025 0.849488 +0.526449 SARA Observatory, Kitt Peak +G82 248.40057 0.849482 +0.526455 SARA Observatory, Kitt Peak G83 250.11039 0.842740 +0.537440 Mt. Graham-LBT G84 249.21084 0.845112 +0.533610 Mount Lemmon SkyCenter G85 247.56518 0.799502 +0.599067 Vermillion Cliffs Observatory, Kanab @@ -1437,7 +1477,7 @@ G97 250.8694 0.84965 +0.52600 Astronomical League Alpha Observatory, Portal G98 251.34354 0.815037 +0.578012 Calvin-Rehoboth Observatory, Rehoboth G99 251.8104 0.84192 +0.53835 NF Observatory, Silver City H00 251.6987 0.84247 +0.53746 Tyrone -H01 252.8108 0.83047 +0.55610 Magdalena Ridge Observatory, Socorro +H01 252.81067 0.830474 +0.556096 Magdalena Ridge Observatory, Socorro H02 253.3706 0.81146 +0.58309 Sulphur Flats Observatory, La Cueva H03 253.3553 0.81753 +0.57440 Sandia View Observatory, Rio Rancho H04 254.0260 0.81388 +0.57964 Santa Fe @@ -1558,7 +1598,7 @@ I18 281.3067 0.79038 +0.61070 Fan Mountain Observatory, Covesville I19 295.40711 0.854834 -0.517422 Observatorio El Gato Gris, Tanti I20 295.68161 0.838551 -0.543122 Observatorio Astronomico Salvador, Río Cuarto I21 295.8281 0.85465 -0.51760 El Condor Observatory, Córdoba -I22 296.1740 0.71212 +0.69973 Abbey Ridge Observatory, Stillwater Lake +I22 296.17399 0.712120 +0.699724 Abbey Ridge Observatory, Stillwater Lake I23 292.26649 0.714173 +0.697623 Frosty Cold Observatory, Mash Harbor I24 282.2306 0.78534 +0.61702 Lake of the Woods Observatory, Locust Grove I25 295.44381 0.850887 -0.523945 ECCCO Observatory, Bosque Alegre @@ -1577,11 +1617,11 @@ I37 301.35275 0.825603 -0.562360 Astrodomi Observatory, Santa Rita I38 302.02141 0.854400 -0.517885 Observatorio Los Algarrobos, Salto I39 301.42661 0.823342 -0.565652 Observatorio Cruz del Sur, San Justo I40 289.26061 0.873472 -0.485986 La Silla--TRAPPIST -I41 243.14022 0.836325 +0.546877 Palomar Mountain--PTF +I41 243.14022 0.836325 +0.546877 Palomar Mountain--ZTF I42 288.9081 0.74895 +0.66041 Westport Observatory I43 261.90237 0.846901 +0.530084 Tarleton State University Obs., Stephenville I44 273.5176 0.86201 +0.50521 Northwest Florida State College, Niceville -I45 301.4281 0.82326 -0.56577 Observatorio W Crucis, San Justo +I45 301.4281 0.82326 -0.56577 W Crusis Astronomical Observatory, San Justo I46 281.6108 0.76192 +0.64558 The Cottage Observatory, Altoona I47 290.5503 0.81526 -0.57753 Pierre Auger Observatory, Malargüe I48 295.6757 0.80340 -0.59348 Observatorio El Catalejo, Santa Rosa @@ -1674,14 +1714,14 @@ J34 355.22711 0.748695 +0.660858 La Fecha J35 356.02911 0.792167 +0.608432 Tucci Observatory, Martos J36 356.94519 0.765179 +0.641659 Observatorio DiezALaOnce, Illana J37 353.06469 0.796893 +0.602104 Huelva -J38 353.60890 0.726876 +0.684507 Observatorio La Vara, Valdés +J38 353.60924 0.726887 +0.684518 Observatorio La Vara, Valdés J39 344.5636 0.88429 +0.46547 Ingenio J40 355.55847 0.802546 +0.594601 Málaga J41 353.8189 0.59779 +0.79897 Raheny J42 359.6989 0.77138 +0.63425 Puzol J43 352.13354 0.856441 +0.515339 Oukaïmeden Observatory, Marrakech J44 357.6552 0.73506 +0.67596 Observatorio Iturrieta, Alava -J45 344.6779 0.88370 +0.46678 Observatorio Montana Cabreja, Vega de San Mateo +J45 344.46735 0.883626 +0.466916 Observatorio Montana Cabreja, Vega de San Mateo J46 346.3594 0.87569 +0.48131 Observatorio Montana Blanca, Tias J47 346.4440 0.87501 +0.48260 Observatorio Nazaret J48 343.6960 0.87977 +0.47393 Observatory Mackay, La Laguna @@ -1705,7 +1745,7 @@ J65 353.4497 0.59830 +0.79860 Celbridge J66 357.7833 0.61071 +0.78922 Kinver J67 359.4667 0.77114 +0.63457 Observatorio La Puebla de Vallbona J68 357.7055 0.61813 +0.78345 Tweenhills Observatory, Hartpury -J69 358.9803 0.63144 +0.77286 North Observatory, Clanfield +J69 358.98034 0.631443 +0.772863 North Observatory, Clanfield J70 358.8404 0.78968 +0.61149 Obs. Astronómico Vega del Thader, El Palmar J71 357.8947 0.59350 +0.80217 Willow Bank Observatory J72 358.9664 0.79065 +0.61028 Valle del Sol @@ -1717,7 +1757,7 @@ J77 357.5947 0.63154 +0.77276 Golden Hill Observatory, Stourton Caundle J78 358.8244 0.78887 +0.61253 Murcia J79 358.38066 0.795516 +0.603908 Observatorio Calarreona, Aguilas J80 359.1083 0.70862 +0.70323 Sainte Helene -J81 358.1350 0.7360 +0.6749 Guirguillano +J81 358.13489 0.735984 +0.674878 Guirguillano J82 357.3067 0.5935 +0.8021 Leyland J83 357.3883 0.59274 +0.80270 Olive Farm Observatory, Hoghton J84 358.9803 0.63144 +0.77285 South Observatory, Clanfield @@ -1731,16 +1771,18 @@ J91 357.0483 0.7411 +0.6692 Alt emporda Observatory, Figueres J92 359.3487 0.62214 +0.78031 Beaconsfield J93 357.7426 0.61927 +0.78255 Mount Tuffley Observatory, Gloucester J94 357.7886 0.61909 +0.78270 Abbeydale -J95 358.55300 0.624147 +0.778709 Great Shefford +J95 358.55301 0.624152 +0.778715 Great Shefford J96 356.05669 0.735326 +0.675690 Observatorio de Cantabria J97 359.5333 0.7754 +0.6293 Alginet J98 359.5344 0.77275 +0.63259 Observatorio Manises J99 359.57808 0.772589 +0.632790 Burjassot +K00 8.94836 0.642630 +0.763639 Hanau K01 0.62091 0.618636 +0.783060 Astrognosis Observatory, Bradwell K02 0.66761 0.622858 +0.779718 Eastwood Observatory, Leigh on Sea K03 0.74411 0.744133 +0.665979 Observatori AAS Montsec K04 0.74416 0.744130 +0.665983 Lo Fossil Observatory, Ager K05 1.02311 0.610689 +0.789233 Eden Observatory, Banham +K06 1.99950 0.749658 +0.659703 Observatorio Montagut, Can Sola K07 2.4614 0.65973 +0.74902 Observatoire de Gravelle, St. Maurice K08 1.8800 0.75142 +0.65773 Observatorio Lledoner, Vallirana K09 2.2400 0.74889 +0.66051 Lliçà d'Amunt @@ -1772,7 +1814,7 @@ K34 7.7005 0.70697 +0.70492 Turin K35 8.16369 0.639883 +0.765937 Huenfelden K36 8.24887 0.645167 +0.761522 Ebersheim K37 8.3148 0.70738 +0.70449 Cereseto -K38 8.5511 0.70189 +0.71002 M57 Observatory, Saltrio +K38 8.91824 0.697505 +0.714297 M57 Observatory, Saltrio K39 8.95556 0.714080 +0.697844 Serra Observatory K40 9.0135 0.66228 +0.74685 Altdorf K41 8.7930 0.71113 +0.70075 Vegaquattro Astronomical Obs., Novi Ligure @@ -1821,162 +1863,507 @@ K83 11.04317 0.723487 +0.688080 Beppe Forti Astronomical Observatory, Montelupo K84 10.75861 0.718340 +0.693581 Felliscopio Observatory, Fellicarolo K85 6.03161 0.634354 +0.770499 Kelmis K86 10.18189 0.701516 +0.710308 Brescia +K87 10.17011 0.646647 +0.760288 Dettelbach Vineyard Observatory K88 19.8936 0.67154 +0.73869 GINOP-KHK, Piszkéstető +K89 11.56339 0.738665 +0.671860 Digital Stargate Observatory, Manciano K90 20.54577 0.714093 +0.697776 Sopot Astronomical Observatory -K91 20.81019 0.845561 -0.532618 Sutherland-LCOGT A -K92 20.81004 0.845561 -0.532618 Sutherland-LCOGT B -K93 20.81011 0.845560 -0.532620 Sutherland-LCOGT C +K91 20.81019 0.845561 -0.532618 Sutherland-LCO A +K92 20.81004 0.845561 -0.532618 Sutherland-LCO B +K93 20.81011 0.845560 -0.532620 Sutherland-LCO C K94 20.81097 0.845561 -0.532606 Sutherland K95 20.81106 0.845555 -0.532613 MASTER-SAAO Observatory, Sutherland -K99 22.45350 0.663064 +0.746102 ISON-Uzhgorod Observatory +K96 16.75119 0.774870 +0.630302 Savelli Observatory +K97 7.18026 0.664361 +0.745050 Freconrupt +K98 17.07217 0.608205 +0.791142 6ROADS Observatory 1, Wojnowko +K99 22.45350 0.663064 +0.746102 Derenivka Observatory +L00 12.5375 0.74535 +0.66446 East Rome Observatory, Rome +L01 13.74930 0.704742 +0.707169 Višnjan Observatory, Tican +L02 20.81658 0.771051 +0.634781 NOAK Observatory, Stavraki +L03 14.73081 0.671765 +0.738393 SGT Observatory, Gaflenz L04 23.59640 0.685544 +0.725675 ROASTERR-1 Observatory, Cluj-Napoca +L05 10.0699 0.70093 +0.71089 Dridri Observatory, Franciacorta +L06 9.25403 0.696280 +0.715445 Sormano 2 Observatory, Bellagio Via Lattea +L07 14.56406 0.760166 +0.647727 Osservatorio Salvatore di Giacomo, Agerola L08 24.39447 0.497926 +0.864325 Metsähovi Optical Telescope, Metsahovi +L09 20.80987 0.845559 -0.532619 Sutherland-LCO Aqawan A {#}1 +L10 22.6186 0.78943 +0.61203 Kryoneri Observatory +L11 17.2092 0.50421 +0.86070 Sandvreten Observatory +L12 2.67789 0.629068 +0.774754 Koksijde L13 25.62193 0.700409 +0.711479 Stardust Observatory, Brasov +L14 4.92247 0.698669 +0.713095 Planetarium de Vaulx-en-Velin Observatory L15 25.97839 0.708234 +0.703665 St. George Observatory, Ploiesti L16 26.04561 0.705820 +0.706098 Stardreams Observatory, V\v{a}lenii de Munte +L17 2.7114 0.74071 +0.66964 Observatori Astronòmic Albanyà +L18 26.71828 0.659348 +0.749399 QOS Observatory, Zalistci +L19 11.15258 0.716257 +0.695653 Osservatorio Felsina AAB, Montepastore +L20 18.32069 0.722441 +0.689239 AG\_Sarajevo Observatory, Sarajevo L21 27.42128 0.720179 +0.691479 Ostrov Observatory, Constanța L22 27.66953 0.692963 +0.718573 Bârlad Observatory L23 27.8319 0.70211 +0.70968 Schela Observatory L24 27.9289 0.89882 -0.43743 Gauteng +L25 14.43739 0.598174 +0.798700 Smol{\eob}cin +L26 11.81019 0.743368 +0.666653 Sanderphil Urban Observatory, Civitavecchia +L27 5.64704 0.720583 +0.691197 29PREMOTE Observatory, Dauban +L28 15.46339 0.758034 +0.650341 ISON-Castelgrande Observatory +L29 18.0169 0.91802 -0.39574 Drebach-South Observatory, Windhoek +L30 7.51469 0.624126 +0.778737 Lohbach Observatory, Benninghofen +L31 12.85615 0.632524 +0.772019 RaSo Observatory, Chemnitz +L32 20.81044 0.845576 -0.532593 Korea Microlensing Telescope Network-SAAO L33 29.9546 0.67379 +0.73646 Ananjev +L34 14.02061 0.789742 +0.611548 Galhassin Robotic Telescope, Isnello L35 30.5086 0.64055 +0.76537 DreamSky Observatory, Lisnyky +L36 14.78008 0.645319 +0.761467 Ondřejov--BlueEye600 Telescope +L37 353.73883 0.803937 +0.592739 Observatorio Alnitak, El Puerto de Santa María +L38 9.69997 0.615648 +0.785407 Gartensternwarte Schafsweide, Sehlde +L39 11.04031 0.723062 +0.688490 Osservatorio Spica, Signa +L40 6.95681 0.654011 +0.754011 Sternwarte Saarbruecken Rastpfuhl +L41 12.30181 0.720683 +0.691022 Ponte Uso +L42 11.5633 0.73670 +0.67400 Observatory-Astrocamp Manciano +L43 0.74439 0.744131 +0.665982 Ager, Leida +L44 6.22111 0.688185 +0.723360 AstroVal, Le Chenit +L45 15.06243 0.793975 +0.605979 ObsCT, Catania +L46 356.11939 0.762017 +0.645574 Observatorio Majadahonda +L47 12.50711 0.725542 +0.685961 Osservatorio Astronomico, Piobbico +L48 23.56873 0.674816 +0.735566 CNVL Observatory, Baia Mare +L49 13.00730 0.671444 +0.738747 VEGA-Sternwarte, Dorfleiten L50 34.0114 0.71157 +0.70039 GenShtab Observatory, Nauchnij L51 34.0164 0.71169 +0.70028 MARGO, Nauchnij +L52 34.01694 0.711679 +0.700287 MASTER-Tavrida +L53 9.03381 0.699589 +0.712226 Lomazzo Observatory, Como +L54 22.88881 0.700709 +0.711161 Berthelot Observatory, Hunedoara +L55 35.08750 0.666222 +0.743283 Sura Gardens, Dnipro +L56 8.05858 0.638960 +0.766697 Sternwarte Limburg, Limburg +L57 26.90419 0.688762 +0.722601 Bacau Observatory, Bacau +L58 30.57108 0.691710 +0.719771 Heavenly Owl observatory +L59 1.22606 0.651546 +0.756108 Compustar Observatory, Rouen +L60 30.69722 0.644961 +0.761695 Popovich Observatory, Ivanivka +L61 20.81028 0.845575 -0.532593 MONET South, Sutherland +L62 12.52889 0.719467 +0.692209 Hypatia Observatory, Rimini +L63 11.00914 0.723671 +0.687849 HOB Observatory, Capraia Fiorentina +L64 9.36314 0.701822 +0.710005 Martesana Observatory, Cassina de Pecchi +L65 8.82831 0.602059 +0.795784 Bredenkamp Observatory, Bremen +L66 20.81122 0.845577 -0.532615 MeerLICHT-1, Sutherland +L67 37.79889 0.561057 +0.825033 Cherkizovo Observatory, Moscow Oblast +L68 25.53683 0.830048 -0.555874 PESCOPE, Port Elizabeth +L69 28.2142 0.90084 -0.43323 LaCaille Observatory, Pretoria +L70 15.92333 0.698145 +0.713600 Zvjezdarnica Graberje, Zagreb L71 38.5839 0.71089 +0.70101 Vedrus Observatory, Azovskaya +L72 38.6928 0.55979 +0.82589 Melezhy Astrophoto Observatory +L73 11.26183 0.724459 +0.687083 Beato Ermanno Observatory, Impruneta +L74 14.21109 0.757212 +0.651048 AstroColauri, Naples +L75 26.46394 0.527292 +0.846853 Tartu Observatory of Tartu University +L76 39.65161 0.683530 +0.727483 Nomad Observatory, Kochevanchik +L77 39.82025 0.678927 +0.731765 RDSS, Kovalevka +L78 14.7800 0.75943 +0.64844 San Marco Observatory, Salerno +L79 18.22039 0.696477 +0.715222 BOSZA Observatory, Szalanta +L80 18.0175 0.91802 -0.39574 SpringBok Observatory, Tivoli +L81 16.36169 0.919631 -0.392204 Skygems Namibia Remote Observatory +L82 352.67950 0.775227 +0.629726 Crow Observatory, Portalegre +L83 356.22231 0.791355 +0.609451 UJA Observatory, Jaen +L84 41.27989 0.695443 +0.716182 Kairos Observatory, Letnik +L85 15.86325 0.766873 +0.639830 BiAnto Observatory, Lauria +L86 9.2631 0.71140 +0.70062 Giordano Bruno Observatory, Brallo +L87 16.36189 0.919631 -0.392204 Moonbase South Observatory, Hakos +L88 16.5422 0.77721 +0.62746 Stazione Astronomica Le Pleiadi, Pantane +L89 11.14439 0.722146 +0.689445 PAO, Prato +L90 15.97949 0.784120 +0.618560 ABObservatory, Rosarno +L91 13.8078 0.74776 +0.66189 Antares MTM Observatory, S. Donato +L92 16.00211 0.781423 +0.621967 San Costantino +L93 1.77221 0.752844 +0.65601 Garraf Observatory, Sant Pere de Ribes +L94 354.14561 0.728187 +0.683146 Observatorio MOMA, Oviedo +L95 358.95159 0.793164 +0.607000 Observatorio Astronomico de Cartagena L96 44.2745 0.76340 +0.64416 ISON-Byurakan Observatory +L97 357.99161 0.624666 +0.778298 Castle Fields Observatory, Calne +L98 357.43425 0.789394 +0.612232 La Sagra Observatory, Puebla de Don Fadrique +L99 30.60281 0.635913 +0.769201 Novoselki +M02 0.86386 0.754439 +0.654271 Astropriorat Observatory +M03 2.25822 0.750568 +0.658591 Badalona Boreal +M04 1.4256 0.74764 +0.66207 Pujalt Observatory, Barcelona +M09 5.60094 0.630164 +0.773882 Observatory Gromme - Oudsbergen +M10 6.85411 0.724305 +0.687343 CPF Observatory, St Vallier de Thiey +M11 5.64718 0.720589 +0.691192 Novaastro Observatory, Banon +M14 8.78939 0.699981 +0.711832 Schiaparelli Gallarate Station +M15 9.1506 0.70039 +0.71142 Virgo Oservatory, Seveso +M16 9.77319 0.719401 +0.692358 Osservatorio Il Coreggiolo +M17 9.80922 0.719163 +0.692525 SN1572 Tycho Observatory, La Spezia +M18 11.83939 0.639618 +0.766239 Koeditz +M19 13.88327 0.709976 +0.701881 Osservatorio Explorer, Pula +M20 13.01169 0.690044 +0.721515 Polse di Cougnes Observatory, Zuglio +M21 16.36144 0.919630 -0.392206 Schiaparelli Southern Observatory, Hakos +M22 20.81059 0.845564 -0.532612 ATLAS South Africa, Sutherland +M23 16.60350 0.679955 +0.730852 ELTE Gothard Observatory, Szombathely +M24 16.20050 0.787195 +0.614649 Ardore Marina +M25 23.8283 0.47849 +0.87517 Einarin Observatory, Tampere +M26 11.13494 0.723236 +0.688304 Zen Observatory, Scandicci +M27 10.7175 0.72743 +0.68399 Elijah Observatory, Lajatico +M28 20.81064 0.845568 -0.532607 Lesedi Telescope-SAAO Observatory, Sutherland +M29 12.24864 0.718724 +0.692984 O.M.Ni.A. Observatory, Cesena +M30 25.62000 0.700380 +0.711516 Zeta Aquarii Observatory, Brasov +M31 26.21281 0.490130 +0.868745 Ursa Havaintokeskus, Artjarvi +M32 22.70919 0.665464 +0.743964 Sunny Transcarpathian, Mukachevo +M33 34.76334 0.861632 +0.506111 OWL-Net, Mitzpe Ramon +M34 17.27363 0.665591 +0.743936 AGO70, Astronomical Observatory, Modra +M35 26.61669 0.688654 +0.722734 PS Observatory, Parjol +M36 13.79647 0.699732 +0.712090 Opicina, Trieste +M37 13.91243 0.696956 +0.714892 Astronomsko drustvo Nanos, Ajdovscina +M38 21.76719 0.671089 +0.738923 Harsona Observatory, Nyiregyhaza +M39 22.95888 0.760013 +0.647750 AUTH Observatory, Thessaloniki +M40 31.82708 0.867372 +0.496143 OSTS-NRIAG, Kottamia +M41 39.25827 0.930706 +0.364567 Jeddah +M42 54.6708 0.90990 +0.41343 Emirates Observatory, Al Rahba +M43 54.68478 0.912805 +0.407034 Al Sadeem Observatory, Abu Dhabi +M44 54.92031 0.912502 +0.407722 Al-Khatim Observatory, Abu Dhabi +M46 55.45033 0.905280 +0.423399 Althuraya Astronomy Center, Dubai +M47 55.46205 0.904763 +0.424484 Sharjah Observatory, Sharjah +M48 15.09222 0.794277 +0.605535 GAC - Via L. Sturzo Observatory, Catania +M49 16.36172 0.919630 -0.392206 IAS Remote Observatory, Hakos +M90 65.4286 0.54672 +0.83452 Chervishevo N27 73.7253 0.57847 +0.81298 Omsk-Yogik Observatory N30 74.3694 0.85369 +0.51909 Zeds Astronomical Observatory, Lahore +N31 74.44422 0.853321 +0.519690 Eden Astronomical Observatory, Lahore N42 76.97181 0.732126 +0.679511 Tien-Shan Astronomical Observatory +N43 77.1167 0.16712 -0.98328 Plateau Observatory for Dome A, Kunlun Station +N44 77.13931 0.785023 +0.617693 Shache Station, Langan Village N50 78.96383 0.842176 +0.538692 Himalayan Chandra Telescope, IAO, Hanle -N55 80.02623 0.846497 +0.532089 Corona Borealis Observatory, Ngari +N51 78.96461 0.842178 +0.538687 GROWTH India Telescope, IAO, Hanle +N55 80.02623 0.846497 +0.532089 Beimian Tianwentai, Ali, Tibet +N56 80.02675 0.846503 +0.532073 Jiama'erdeng Tianwentai, Ali, Tibet +N82 85.95494 0.641844 +0.764450 Multa Observatory +N83 86.23504 0.749549 +0.659927 LW-1, NAOC-Korla +N86 87.17852 0.727070 +0.684719 Xingming Observatory-KATS, Nanshan N87 87.17503 0.727076 +0.684720 Nanshan Station, Xinjiang Observatory +N88 87.17322 0.727098 +0.684697 Xingming Observatory {#}3, Nanshan +N89 87.17906 0.727107 +0.684682 Xingming Observatory {#}2, Nanshan +O02 90.52614 0.866434 +0.498958 Galaxy Tibet YBJ Observatory,Yangbajing +O17 93.88669 0.783127 +0.620730 Purple Mountain Observatory, Lenghu-1 +O37 98.48553 0.948521 +0.316891 TRT-NEO, Chiangmai O43 99.78111 0.994005 +0.109127 Observatori Negara, Langkawi O44 100.0310 0.89435 +0.44698 Lijiang Station, Yunnan Observatories O45 100.03261 0.894444 +0.446808 Yunnan-HK Observatory, Gaomeigu +O47 101.13415 0.902535 +0.429998 Yunling Observatory, Yunnan +O48 101.18154 0.903223 +0.428442 Purple Mountain Observatory, Yaoan (0.8-m) +O49 101.18111 0.903206 +0.428474 Purple Mountain Observatory, Yaoan Station O50 101.43942 0.998617 +0.052565 Hin Hua Observatory, Klang +O51 101.27869 0.975556 +0.218996 Akin Observatory, Rayong +O68 105.33090 0.793121 +0.607347 LW-2, NAOC-Zhongwei +O72 106.33476 0.672017 +0.738399 OWL-Net, Songino O75 107.05180 0.672284 +0.738151 ISON-Hureltogoot Observatory +O85 109.21300 0.826583 +0.561181 LiShan Observatory, Lintong +P07 114.08987 0.928304 -0.370597 Space Surveillance Telescope, HEH Station +P18 116.61083 0.757010 +0.651328 Birch Forest Observatory, LaBaGouMen +P22 117.57588 0.762782 +0.644702 LW-3, NAOC-Xinglong P25 118.31274 0.910976 +0.411089 Kinmen Educational Remote Observatory, Jincheng +P30 119.59708 0.862775 +0.504181 Jiangnantianchi Observatory, Anji +P31 119.59736 0.862772 +0.504189 Starlight Observatory, Tianhuangping P34 120.32031 0.855040 +0.516826 Lvye Observatory, Suzhou P35 120.55699 0.913398 +0.405722 Cuteip Remote Observatory, Changhua P36 120.62669 0.855207 +0.516553 ULTRA Observatory,Suzhou +P37 120.63972 0.912980 +0.406672 HuiWen High School Observatory, Taichung City P40 121.53958 0.905916 +0.422185 Chinese Culture University, Taipei +P48 123.32403 0.258064 -0.963413 ASTEP, Concordia Station +P64 127.00489 0.796371 +0.602805 GSHS Observatory, Suwon +P65 127.37568 0.805889 +0.590124 OWL-Net, Daedeok +P66 127.44675 0.824763 +0.563603 Deokheung Optical Astronomy Observatory +P67 127.7415 0.79040 +0.61057 Kangwon National University Observatory +P71 128.76108 0.815026 +0.577520 Miryang Arirang Astronomical Observatory +P72 128.97595 0.808423 +0.586939 OWL-Net, Mt. Bohyun P73 129.0820 0.81744 +0.57412 BSH Byulsem Observatory, Busan +P87 132.09419 0.830358 +0.555374 Hirao Observatory, Yamaguchi +P93 133.54433 0.823371 +0.565729 Space Tracking and Communications Center, JAXA +Q02 135.49344 0.825315 +0.562809 Sakai Observatory, Osaka +Q10 137.32944 0.821623 +0.568142 Toyokawa Observatory Q11 137.52069 0.820236 +0.570158 Shinshiro +Q12 137.82536 0.805147 +0.591292 Nagano Observatory Q19 139.4390 0.81430 +0.57852 Machida Q21 139.85335 0.804747 +0.591654 Southern Utsunomiya -Q24 140.5236 0.81099 +0.58310 Katori +Q23 140.3864 0.79654 +0.60264 Sukagawa +Q24 140.52350 0.810991 +0.583108 Katori Q33 142.48278 0.715989 +0.695814 Nayoro Observatory, Hokkaido University Q38 143.5506 0.81654 -0.57538 Swan Hill -Q59 149.07081 0.855626 -0.516197 Siding Spring-LCOGT Clamshell {#}2 +Q54 147.28772 0.739290 -0.671278 Harlingten Telescope, Greenhill Observatory +Q55 149.06142 0.855643 -0.516191 SkyMapper, Siding Spring +Q56 148.97642 0.821480 -0.568478 Heaven's Mirror Observatory, Yass +Q57 149.06173 0.855649 -0.516175 Korea Microlensing Telescope Network-SSO +Q58 149.07085 0.855632 -0.516199 Siding Spring-LCO Clamshell {#}1 +Q59 149.07081 0.855626 -0.516197 Siding Spring-LCO Clamshell {#}2 Q60 149.06900 0.855626 -0.516198 ISON-SSO Observatory, Siding Spring Q61 149.0619 0.85564 -0.51618 PROMPT, Siding Spring Q62 149.06442 0.855629 -0.516206 iTelescope Observatory, Siding Spring -Q63 149.07064 0.855632 -0.516202 Siding Spring-LCOGT A -Q64 149.07078 0.855632 -0.516202 Siding Spring-LCOGT B +Q63 149.07064 0.855632 -0.516202 Siding Spring-LCO A +Q64 149.07078 0.855632 -0.516202 Siding Spring-LCO B Q65 149.19313 0.855519 -0.516201 Warrumbungle Observatory +Q66 149.06425 0.855627 -0.516205 Siding Spring-Janess-G, JAXA +Q67 149.49233 0.835816 -0.547369 JBL Observatory, Bathurst Q68 150.33742 0.832917 -0.551813 Blue Mountains Observatory, Leura +Q69 150.44933 0.832777 -0.551945 Hazelbrook +Q70 150.50044 0.919153 -0.392623 Glenlee Observatory, Glenlee +Q78 152.94789 0.886807 -0.460619 Woogaroo Observatory, Forest Lake Q79 152.8481 0.88871 -0.45696 Samford Valley Observatory Q80 153.2160 0.88762 -0.45904 Birkdale +Q81 153.09622 0.893194 -0.448181 Caloundra West +R56 170.48389 0.720473 -0.691324 Scott Street Observatory, Lake Tekapo R57 170.47278 0.720489 -0.691309 Aorangi Iti Observatory, Lake Tekapo R58 170.49039 0.697579 -0.714138 Beverly-Begg Observatory, Dunedin -T04 203.74249 0.936241 +0.351538 Haleakala-LCOGT OGG B {#}2 +R65 172.34981 0.726556 -0.684830 R. F. Joyce Observatory, Christchurch +R66 172.58761 0.726587 -0.684777 Mooray Observatory, Christchurch +T03 203.74247 0.936240 +0.351538 Haleakala-LCO Clamshell {#}3 +T04 203.74249 0.936241 +0.351538 Haleakala-LCO OGG B {#}2 T05 203.74299 0.936235 +0.351547 ATLAS-HKO, Haleakala -T08 204.4236 0.94329 +0.33246 ATLAS-MLO, Mauna Loa -T09 204.52398 0.941706 +0.337237 Mauna Kea-UH/Tholen NEO Follow-Up (Subaru) -T12 204.53057 0.941729 +0.337199 Mauna Kea-UH/Tholen NEO Follow-Up (2.24-m) -T14 204.53113 0.941714 +0.337236 Mauna Kea-UH/Tholen NEO Follow-Up (CFHT) +T07 204.42387 0.943290 +0.332467 ATLAS-MLO Auxiliary Camera, Mauna Loa +T08 204.42395 0.943290 +0.332467 ATLAS-MLO, Mauna Loa +T09 204.52398 0.941706 +0.337237 Subaru Telescope, Maunakea +T10 204.52241 0.941706 +0.337212 Submillimeter Array, Maunakea (SMA) +T11 204.53036 0.941731 +0.337198 United Kingdom Infrared Telescope, Maunakea +T12 204.53057 0.941729 +0.337199 University of Hawaii 88-inch telescope, Maunakea +T13 204.52771 0.941691 +0.337263 NASA Infrared Telescope Facility, Maunakea +T14 204.53113 0.941714 +0.337236 Canada-France-Hawaii Telescope, Maunakea +T15 204.53094 0.941727 +0.337214 Gemini North Observatory, Maunakea +T16 204.52570 0.941703 +0.337250 W. M. Keck Observatory, Keck 1, Maunakea +T17 204.52580 0.941700 +0.337256 W. M. Keck Observatory, Keck 2, Maunakea +T35 210.39020 0.953686 -0.299837 Astronomical Society of Tahiti +U52 237.45111 0.749240 +0.660270 Shasta Valley Observatory, Grenada U53 237.1603 0.70274 +0.70909 Murray Hill Observatory, Beaverton U54 237.31286 0.782952 +0.620081 Hume Observatory, Santa Rosa +U55 237.41456 0.653977 +0.753984 Golden Ears Observatory, Maple Ridge U56 237.86917 0.795044 +0.604511 Palo Alto U57 237.84128 0.795776 +0.603616 Black Mountain Observatory, Los Altos U63 239.19456 0.681217 +0.729770 Burnt Tree Hill Observatory, Cle Elum U64 239.46151 0.683272 +0.727821 CWU-Lind Observatory, Ellensburg +U65 239.45983 0.683247 +0.727841 CWU Observatory, Ellensburg +U67 240.20358 0.776325 +0.628595 Jack C. Davis Observatory, Carson City +U68 240.58701 0.799040 +0.599620 JPL SynTrack Robotic Telescope, Auberry U69 240.5870 0.79904 +0.59962 iTelescope SRO Observatory, Auberry +U70 240.5869 0.79904 +0.59962 RASC Observatory, Alder Springs +U71 241.3633 0.82520 +0.56305 AHS Observatory, Castaic +U72 241.46000 0.828150 +0.558687 Tarzana U73 241.6172 0.83164 +0.55346 Redondo Beach +U74 240.58720 0.799040 +0.599619 JPL SynTrack Robotic Telescope 2, Auberry +U75 242.18366 0.833735 +0.550383 Newport Beach +U76 242.1279 0.82855 +0.55810 Maury Lewin Observatory, Glendora +U77 242.9181 0.84002 +0.54076 Rani Observatory, San Diego U78 242.8449 0.82758 +0.55989 Cedar Glen Observatory U79 242.79187 0.838837 +0.542598 Cosmos Research Center, Encinitas U80 243.6151 0.82737 +0.56004 CS3-DanHenge Observatory, Landers U81 243.61514 0.827367 +0.560037 CS3-Trojan Station, Landers U82 243.61519 0.827368 +0.560036 CS3-Palmer Divide Station, Landers +U83 243.57311 0.841238 +0.53938 Mount Laguna Observatory +U94 246.30250 0.792006 +0.608864 iTelescope Observatory, Beryl Junction (Sato) U96 246.68600 0.579007 +0.812698 Athabasca University Geophysical Observatory +U97 248.33292 0.818306 +0.573452 JPL SynTrack Robotic Telescope 3, Flagstaff +U98 249.74300 0.849529 +0.526090 NAC Observatory, Benson +V00 248.39981 0.849456 +0.526492 Kitt Peak-Bok +V01 248.23911 0.762243 +0.645493 Mountainville Observatory, Alpine V02 248.05794 0.835743 +0.547377 Command Module, Tempe V03 248.3314 0.79889 +0.59979 Big Water +V04 248.46331 0.819378 +0.571927 FRoST, Anderson Mesa V05 248.63195 0.836631 +0.546101 Rusty Mountain Observatory, Gold Canyon +V06 249.26745 0.845317 +0.533211 Catalina Sky Survey-Kuiper V07 249.1219 0.85208 +0.52234 Whipple Observatory, Mount Hopkins-PAIRITEL V08 249.33900 0.848249 +0.528126 Mountain Creek Ranch, Vail V09 249.74202 0.849537 +0.526080 Moka Observatory, Benson +V10 248.32772 0.818623 +0.572977 Sierra Sinagua Observatory, Flagstaff +V11 249.21119 0.847025 +0.530011 Saguaro Observatory, Tucson +V12 249.39819 0.852110 +0.522050 Elgin +V13 248.78278 0.762335 +0.645641 Little Moose Observatory, Timber Lakes +V14 248.78336 0.762292 +0.645691 Moose Springs Observatory, Timber Lakes +V15 249.21069 0.845110 +0.533602 OWL-Net, Mt. Lemmon +V16 251.10288 0.849510 +0.526194 Dark Sky New Mexico, Animas +V17 248.98319 0.845476 +0.532429 Leo Observatory, Tucson +V18 249.6181 0.85776 +0.51308 MASTER-OAGH Observatory, Sonora +V19 251.79086 0.841371 +0.539217 Whiskey Creek Observatory +V20 251.77822 0.827004 +0.560943 Killer Rocks Observatory, Pie Town +V21 251.10231 0.849511 +0.526188 Cewanee Observatory at DSNM +V22 251.81550 0.827009 +0.560941 Insight Remote Observatory, Pie Town +V23 252.76406 0.828722 +0.558332 FOAH Observatory, Magdalena +V26 253.39020 0.911283 +0.410639 UAS-ISON Observatory, Cosala +V27 253.71819 0.811354 +0.583180 North Mesa Observatory, Los Alamos +V28 254.34647 0.817018 +0.575271 Deep Sky West Observatory, Rowe +V29 254.26660 0.840062 +0.541466 Tzec Maun Cloudcroft Facility V30 254.47105 0.840710 +0.540313 Heaven on Earth Observatory, Mayhill V31 254.4750 0.84061 +0.54046 Hazardous Observatory, Mayhill +V32 254.47131 0.840709 +0.540308 Canvas View New Mexico Skies, Mayhill +V33 254.72039 0.806382 +0.590114 Finlaystone Observatory, Angel Fire +V34 255.36992 0.778401 +0.626222 Black Forest +V35 255.91881 0.861839 +0.506046 Deep Sky Observatory Collaborative, Pier 5 V36 255.61742 0.843042 +0.536333 The Ranch Observatory, Lakewood -V37 255.98483 0.861053 +0.507428 McDonald Observatory-LCOGT ELP +V37 255.98483 0.861053 +0.507428 McDonald Observatory-LCO ELP +V38 255.98493 0.861051 +0.507431 McDonald Observatory-LCO ELP Aqawan A {#}1 +V39 255.98452 0.861051 +0.507430 McDonald Observatory-LCO ELP B +V40 255.91873 0.861839 +0.506046 Divine Creation Observatory, Fort Davis +V41 256.72578 0.719992 +0.691890 Rapid City +V58 260.73497 0.868735 +0.493762 Medina Dome, Medina V59 261.0734 0.86642 +0.49781 Millwood Observatory, Comfort V60 261.09473 0.862140 +0.505126 Putman Mountain Observatory +V61 261.05710 0.858216 +0.511725 Shed of Science South, Pontotoc +V62 261.05661 0.858216 +0.511726 Live Oak Observatory, Pontotoc +V63 261.05728 0.858219 +0.511721 Tara Observatory, Cherokee V70 263.33572 0.870056 +0.491332 Starry Night Observatory, Columbus -V78 265.1081 0.70015 +0.71169 Spirit Marsh Observatory. Sauk Centre +V72 263.89011 0.752696 +0.656235 JDP Observatory, Omaha +V74 264.15689 0.869320 +0.492598 Katy Observatory, Katy +V78 265.10780 0.700141 +0.711688 Spirit Marsh Observatory. Sauk Centre V81 265.7604 0.80902 +0.58590 Fayetteville V83 266.25728 0.781733 +0.621590 Rolling Hills Observatory, Warrensburg V86 266.8927 0.78221 +0.62099 Rattle Snake Observatory, Sedalia V88 267.42811 0.820618 +0.569618 River Ridge Observatory, Conway +V93 268.61611 0.759765 +0.648058 Pin Oak Observatory, Fort Madison +V94 268.66169 0.759876 +0.647933 Cherokeeridge Observatory, Fort Madison W04 271.00944 0.761606 +0.645927 Mark Evans Observatory, Bloomington W08 271.88331 0.747086 +0.662545 Jimginny Observatory, Naperville +W09 272.14753 0.752886 +0.655985 Willowed Plains Observatory, Manteno W11 272.6247 0.75272 +0.65618 Northwest Indiana Robotic Telescope, Lowell W14 273.24511 0.821914 +0.567774 Harvest +W15 273.19083 0.810875 +0.583314 Wayne Observatory, Franklin +W16 273.76869 0.822976 +0.566292 Pleasant Groves Observatory +W17 273.77122 0.765700 +0.641103 Arrowhead, Sheridan +W18 274.24962 0.767039 +0.639505 Red Fox Observatory, Pendleton W19 274.37283 0.740783 +0.669559 Kalamazoo W22 275.00447 0.844595 +0.533635 WestRock Observatory, Columbus +W23 275.38019 0.772786 +0.632594 Hevonen Farm Observatory, Oxford +W24 275.23817 0.722574 +0.689025 Shamrock Banks Observatory, Clare W25 275.63506 0.776417 +0.628165 RMS Observatory, Cincinnati W28 276.3883 0.83011 +0.55581 Ex Nihilo Observatory, Winder +W29 276.9939 0.76659 +0.64004 Adena Brook Observatory, Columbus W30 276.77117 0.838735 +0.542749 Georgia College Observatory, Milledgeville +W31 277.23736 0.834226 +0.549613 Deerlick Observatory, Crawfordville +W32 277.23750 0.834222 +0.549619 Crawfordville Observatory W33 277.83451 0.819315 +0.571499 Transit Dreams Observatory, Campobello W34 277.8453 0.81784 +0.57360 Squirrel Valley Observatory, Columbus +W35 278.03910 0.856610 +0.514230 Buffalo Creek Observatory, Nahunta W38 278.58531 0.807479 +0.588163 Dark Sky Observatory, Boone +W42 279.46569 0.885511 +0.463056 Mind's Eye Observatory, Vero Beach W46 280.41192 0.818614 +0.572448 Foxfire Village +W48 280.88700 0.811693 +0.582156 BKH Observatory, Chapel Hill W49 281.06757 0.778794 +0.625380 CBA-MM Observatory, Mountain Meadows W50 281.25404 0.813127 +0.580167 Apex +W52 283.51419 0.778335 +0.625736 US Naval Academy Hopper Hall Observatory +W53 282.31524 0.771140 +0.634559 Hagerstown W54 282.28944 0.785431 +0.616890 Mark Slade Remote Observatory, Wilderness W55 282.58389 0.773703 +0.631447 Natelli Observatory, Frederick +W56 282.52583 0.773143 +0.632153 Pineapple Observatory, Frederick +W57 289.26094 0.873480 -0.486002 ESA TBT La Silla Observatory +W58 283.14964 0.777667 +0.626574 ALPHA Observatory, South Laurel +W59 284.10758 0.757005 +0.651302 The Dark Side Observatory, Weatherly +W60 286.36626 0.995574 +0.097155 AstroExplor Observatory, Tinjaca +W61 283.74492 0.713380 +0.698447 Leeside Observatory, Elgin +W62 284.13761 0.758729 +0.649276 Comet Hunter Observatory2, New Ringgold W63 284.30958 0.996767 +0.082976 Observatorio Astronomico UTP, Pereira +W64 285.27004 0.768364 +0.637863 Red Lion Observatory, Southampton Twsp +W65 284.79169 0.697761 +0.713966 Observatoire GOZ, Montpellier W66 285.05381 0.756278 +0.652109 SVH Observatory, Blairstown W67 285.10211 0.759453 +0.648444 Paul Robinson Observatory, Voorhees State Park +W68 289.23502 0.862845 -0.504269 ATLAS Chile, Rio Hurtado +W69 285.98500 0.759912 +0.647855 OLPH Observatory, Brooklyn W70 285.91386 0.698475 +0.713264 Loose Goose Observatory, Saint-Jérome W71 285.99297 0.717404 +0.694456 Rand II Observatory, Lake Placid +W72 286.8211 0.75302 +0.65580 Trumbull Observatory, Trumbull +W73 289.32156 0.957949 -0.287797 Observatorio Astronomico de Moquegua, Carumas +W74 289.26245 0.873451 -0.486040 Danish Telescope, La Silla +W75 289.60944 0.910001 -0.414150 SPECULOOS-South Observatory, Paranal +W76 289.23695 0.862826 -0.504288 CHILESCOPE Observatory, Rio Hurtado W77 287.4010 0.75196 +0.65702 Skyledge Observatory, Killingworth +W78 288.88325 0.739859 +0.670509 Clay Telescope, Harvard University +W79 289.19535 0.865587 -0.499763 Cerro Tololo-LCO Aqawan B {#}1 W80 288.7678 0.74138 +0.66885 Westwood W81 288.99967 0.724557 +0.686948 Nebula Knoll Observatoy, East Wakefield W82 288.87804 0.736419 +0.674274 Mendel Observatory, Merrimack College W83 288.69747 0.740821 +0.669461 Whitin Observatory, Wellesley W84 289.19358 0.865572 -0.499793 Cerro Tololo-DECam -W85 289.19519 0.865591 -0.499760 Cerro Tololo-LCOGT A -W86 289.19533 0.865592 -0.499759 Cerro Tololo-LCOGT B -W87 289.19532 0.865591 -0.499761 Cerro Tololo-LCOGT C +W85 289.19519 0.865591 -0.499760 Cerro Tololo-LCO A +W86 289.19533 0.865592 -0.499759 Cerro Tololo-LCO B +W87 289.19532 0.865591 -0.499761 Cerro Tololo-LCO C W88 289.46570 0.837136 -0.545574 Slooh.com Chile Observatory, La Dehesa -W89 289.19533 0.865589 -0.499764 Cerro Tololo-LCOGT Aqawan A {#}1 +W89 289.19533 0.865589 -0.499764 Cerro Tololo-LCO Aqawan A {#}1 W90 289.05814 0.732740 +0.678229 Phillips Exeter Academy Grainger Observatory W91 289.60257 0.910007 -0.414148 VHS-VISTA, Cerro Paranal W92 290.67357 0.850987 -0.524150 MASTER-OAFA Observatory, San Juan -W94 291.82019 0.921646 -0.387713 AMACS1, San Pedro de Atacama +W93 289.19600 0.865589 -0.499755 Korea Microlensing Telescope Network-CTIO +W94 291.82019 0.921646 -0.387713 MAP, San Pedro de Atacama W95 291.82012 0.921639 -0.387712 Observatorio Panameno, San Pedro de Atacama W96 291.82006 0.921637 -0.387717 CAO, San Pedro de Atacama (since 2013) W97 291.82024 0.921638 -0.387716 Atacama Desert Observatory, San Pedro de Atacama W98 291.82030 0.921639 -0.387712 Polonia Observatory, San Pedro de Atacama W99 291.82015 0.921638 -0.387716 SON, San Pedro de Atacama Station +X00 292.60125 0.910349 -0.413802 Observatorio Astronomico Tolar +X01 289.23502 0.862846 -0.504270 Observatory Hurtado, El Sauce +X02 289.23517 0.862833 -0.504255 Telescope Live, El Sauce +X03 289.20361 0.862286 -0.505209 Observatoire SADR, Poroto +X04 291.56747 0.664264 +0.745000 MCD Observatory, Saint-Anaclet +X05 289.25058 0.864981 -0.500958 Simonyi Survey Telescope, Rubin Observatory +X06 289.14649 0.862374 -0.505110 Skygems Chile, Rio Hurtado +X07 289.14639 0.862374 -0.505109 iTelescope Deep Sky Chile, Rio Hurtado +X10 291.82040 0.921644 -0.387717 OVTLN, San Pedro de Atacama +X12 295.71200 0.803430 -0.593455 Observatorio Los Cabezones X13 295.4498 0.85269 -0.52103 Observatorio Remoto Bosque Alegre X14 295.83222 0.854475 -0.517879 Observatorio Orbis Tertius, Córdoba +X31 299.47934 0.850485 -0.524263 Galileo Galilei Observatory, Oro Verde +X33 299.99039 0.998647 -0.051941 OARU, Manaus X38 301.13711 0.825648 -0.562299 Observatorio Pueyrredon, La Lonja +X39 301.1378 0.82615 -0.56158 Observatorio Antares, Pilar +X40 301.61689 0.822572 -0.566762 Cielos de Banfield, Banfield X50 303.82419 0.821025 -0.568999 Observatorio Astronomico de Montevideo X57 305.40626 0.903659 -0.426885 Polo Astronômico CMF,Foz do Iguaçu +X70 308.43322 0.931623 -0.362375 Observatorio OATU, Tupi Paulista +X74 309.1506 0.92987 -0.36684 Observatório Campo dos Amarais +X77 309.92475 0.900184 -0.434346 Centro Astron. Nevoeiro, Antonio Olinto X87 312.0889 0.96218 -0.27210 Dogsheaven Observatory, Brasilia X88 312.49131 0.918012 -0.395458 Observatorio Adhara, Sorocaba +X89 312.21786 0.962401 -0.271311 Rocca Observatory, Brasilia +X90 312.13208 0.963322 -0.268189 Carina Observatory, Brasilia +X93 313.6047 0.92363 -0.38244 Munhoz Observatory Y00 315.21504 0.935906 -0.351562 SONEAR Observatory, Oliveira +Y01 316.01580 0.940890 -0.337985 SONEAR 2 Observatory, Belo Horizonte +Y16 318.68794 0.929268 -0.368170 ROCG, Campos dos Goytacazes Y28 321.3126 0.98840 -0.15179 OASI, Nova Itacuruba +Y40 324.03889 0.989706 -0.143217 Discovery Observatory, Caruaru +Y65 343.49042 0.881484 +0.471429 Two-Meter Twin Telescope, TTT1, Teide +Y66 343.49053 0.881484 +0.471429 Two-Meter Twin Telescope, TTT2, Teide +Y90 354.5553 0.73015 +0.68115 Observatorio ESTELIA, Ladines +Y91 354.83350 0.802497 +0.594854 Ras Algethi, Ronda +Y98 358.68692 0.617953 +0.783613 Southside Observatory, Steeple Aston +Z00 353.26586 0.798528 +0.599968 BOOTES-1, Mazagon +Z01 352.13321 0.856462 +0.515344 OWL-Net, Oukaïmeden +Z02 352.13331 0.856450 +0.515339 HAO observatory, Oukaïmeden +Z03 355.73346 0.761330 +0.646426 Rio Cofio, Robledo de Chavela +Z04 352.98203 0.833809 +0.550302 MAO, Ain Laqsab +Z05 355.36389 0.802644 +0.594495 Observatorio Horus, Cartama +Z06 357.67324 0.787439 +0.614746 Marina Sky, Nerpio +Z07 356.36050 0.798537 +0.600132 Ad Astra Sangos Observatory, Alhendin +Z08 357.59139 0.794477 +0.605566 Telescope Live, Oria +Z09 356.8786 0.62844 +0.77527 Old Orchard Observatory, Fiddington +Z10 353.37235 0.786766 +0.615329 PGC, Fregenal de la Sierra +Z11 358.96669 0.601635 +0.796115 Appledorne Observatory, Farnsfield +Z12 359.0961 0.78494 +0.61762 La Romaneta, Monovar +Z13 355.54519 0.802515 +0.594662 Observatorio AGP GUAM 4, Málaga +Z14 353.37226 0.786773 +0.615335 ART, Fregenal de la Sierra +Z15 359.65331 0.630352 +0.773724 Southwater +Z16 358.95192 0.793166 +0.607001 Asociacion Astronomica de Cartagena +Z17 343.48827 0.881476 +0.471456 Tenerife-LCO Aqawan A {#}2 Z18 342.10811 0.877671 +0.478415 Gran Telescopio Canarias, Roque de los Muchachos Z19 342.11094 0.877701 +0.478380 La Palma-TNG Z20 342.1217 0.87763 +0.47850 La Palma-MERCATOR -Z21 343.48830 0.881468 +0.471452 Tenerife-LCOGT Aqawan A {#}1 +Z21 343.48830 0.881468 +0.471452 Tenerife-LCO Aqawan A {#}1 Z22 343.4894 0.88148 +0.47143 MASTER-IAC Observatory, Tenerife +Z23 342.11492 0.877679 +0.478433 Nordic Optical Telescope, La Palma +Z24 343.48848 0.881475 +0.471460 Tenerife Observatory-LCO B, Tenerife +Z25 343.49031 0.881476 +0.471450 Artemis Observatory, Teide Z26 343.38969 0.883010 +0.467899 Observatorio Astronomico Arcangel, Las Zocas Z27 343.6998 0.87976 +0.47393 Observatorio Coralito, La Laguna +Z28 357.67331 0.787438 +0.614748 Northern Skygems Observatory, Nerpio +Z29 354.11944 0.751634 +0.657576 Observatorio Astronomico Sobradillo +Z30 355.52500 0.586571 +0.807215 Glyn Marsh Observatory, Douglas +Z31 343.48835 0.881476 +0.471458 Tenerife Observatory-LCO A, Tenerife +Z32 358.98372 0.766879 +0.640130 Observatorio Astrofisico de Javalambre +Z33 357.67331 0.787438 +0.614748 6ROADS Observatory 2, Nerpio +Z34 359.11233 0.612800 +0.787622 NNHS Drummonds Observatory +Z35 358.8985 0.76788 +0.63877 OAO University Observatory Station Aras +Z36 354.94553 0.805224 +0.591005 Cancelada +Z37 357.80426 0.632788 +0.771754 Northolt Branch Observatory 3, Blandford Forum +Z38 351.15294 0.768722 +0.637456 Picoto Observatory, Leiria Z39 346.4989 0.87535 +0.48189 Observatorio Costa Teguise -Z43 357.4622 0.66474 +0.74460 Landehen +Z40 355.5127 0.80240 +0.59482 El Manzanillo Observatory, Puerto de la Torre +Z41 356.6264 0.76087 +0.64689 Irydeo Observatory, Camarma de Esteruelas +Z42 357.66579 0.631495 +0.772801 Rushay Farm Observatory, Sturminster Newton +Z43 357.46216 0.664742 +0.744597 Landehen Z44 351.67248 0.728723 +0.682549 Observatorio Terminus, A Coruña Z45 355.14264 0.804657 +0.591779 Cosmos Observatory, Marbella Z46 356.80700 0.623612 +0.779131 Cardiff @@ -1991,7 +2378,7 @@ Z54 358.92214 0.623422 +0.779306 Greenmoor Observatory, Woodcote Z55 354.9150 0.79391 +0.60604 Uraniborg Observatory, \'{E}cija Z56 350.2119 0.61577 +0.78529 Knocknaboola Z57 355.42589 0.803207 +0.593753 Observatorio Zuben, Alhaurín de la Torre -Z58 355.63068 0.762093 +0.645483 ESA Cebreros TBT Observatory, Cebreros +Z58 355.63068 0.762093 +0.645483 ESA TBT Cebreros Observatory Z59 357.71540 0.599292 +0.797871 Chelford Observatory Z60 357.8506 0.73205 +0.67900 Observatorio Zaldibia Z61 359.06400 0.748594 +0.660857 Montecanal Observatory, Zaragoza @@ -2015,7 +2402,7 @@ Z78 358.32420 0.788031 +0.613690 Arroyo Observatory, Arroyo Hurtado Z79 357.45327 0.797556 +0.601783 Calar Alto TNO Survey Z80 359.62808 0.623054 +0.779568 Northolt Branch Observatory Z81 355.73240 0.802530 +0.594629 Observatorio Estrella de Mar -Z82 355.9573 0.80215 +0.59514 BOOTES-2 Observatory, Algarrobo +Z82 355.95903 0.802135 +0.595173 BOOTES-2 Observatory, Algarrobo Z83 356.2881 0.76033 +0.64755 Chicharronian 3C Observatory, Tres Cantos Z84 357.45179 0.797523 +0.601826 Calar Alto-Schmidt Z85 356.75028 0.801058 +0.596932 Observatorio Sierra Contraviesa @@ -2025,7 +2412,7 @@ Z88 357.5101 0.62716 +0.77632 Fosseway Observatoy, Stratton-on-the-Fosse Z89 357.8281 0.59942 +0.79777 Macclesfield Z90 357.8482 0.79540 +0.60418 Albox Z91 358.74999 0.631731 +0.772595 Curdridge -Z92 358.39222 0.591378 +0.803713 West Park Observatory, Leeds +Z92 358.39222 0.591378 +0.803713 Almalex Observatory, Leeds Z93 359.85589 0.782380 +0.620769 Observatorio Polop, Alicante Z94 358.8565 0.62725 +0.77623 Kempshott Z95 358.8909 0.76782 +0.63883 Astronomia Para Todos Remote Observatory diff --git a/oif/orbits.py b/oif/orbits.py index 1f0fce3..21efc6e 100644 --- a/oif/orbits.py +++ b/oif/orbits.py @@ -212,7 +212,7 @@ def readOrbits(self, orbitfile, delim=None, skiprows=None): # We need to do a bit of juggling to do this before pandas reads the whole orbit file though. file = open(orbitfile, 'r') for line in file: - values = line.split() + values = line.split(delim) try: # If it is a valid orbit line, we expect 3 to be eccentricity. float(values[3]) @@ -229,8 +229,12 @@ def readOrbits(self, orbitfile, delim=None, skiprows=None): # No header; assume it's a typical DES file. names = ('objId', 'FORMAT', 'q', 'e', 'i', 'node', 'argperi', 't_p', 'H', 'epoch', 'INDEX', 'N_PAR', 'MOID', 'COMPCODE') - orbits = pd.read_table(orbitfile, delim_whitespace=True, skiprows=0, - names=names) + + if delim is None: + orbits = pd.read_table(orbitfile, sep='\s+', skiprows=0,names=names) + else: + orbits = pd.read_table(orbitfile, sep=delim, skiprows=skiprows,names=names) + else: # There is a header, but we also need to check if there is a comment key at the start @@ -265,7 +269,7 @@ def readOrbits(self, orbitfile, delim=None, skiprows=None): # that might need remapping from the on-file values to our standardized values. altNames = {} altNames['objId'] = ['objId', 'objid', '!!ObjID', '!!OID', '!!S3MID', 'OID', 'S3MID' - 'objid(int)', 'full_name', '#name'] + 'objid(int)', 'full_name', '#name', 'ObjID'] altNames['q'] = ['q'] altNames['a'] = ['a'] altNames['e'] = ['e', 'ecc'] diff --git a/oif/sso.py b/oif/sso.py index 6edca8f..55a73fc 100644 --- a/oif/sso.py +++ b/oif/sso.py @@ -12,8 +12,37 @@ from . import ooephemerides from . import shared +import pandas as pd + np.set_printoptions(precision=15) +# Global header variable for output +output_header=["ObjID, ", + "FieldID, ", + "FieldMJD, ", + "AstRange(km), ", + "AstRangeRate(km/s), ", + "AstRA(deg), ", + "AstRARate(deg/day), ", + "AstDec(deg), ", + "AstDecRate(deg/day), ", + "Ast-Sun(J2000x)(km), ", + "Ast-Sun(J2000y)(km), ", + "Ast-Sun(J2000z)(km), ", + "Ast-Sun(J2000vx)(km/s), ", + "Ast-Sun(J2000vy)(km/s), ", + "Ast-Sun(J2000vz)(km/s), ", + "Obs-Sun(J2000x)(km), ", + "Obs-Sun(J2000y)(km), ", + "Obs-Sun(J2000z)(km), ", + "Obs-Sun(J2000vx)(km/s), ", + "Obs-Sun(J2000vy)(km/s), ", + "Obs-Sun(J2000vz)(km/s), ", + "Sun-Ast-Obs(deg), ", + "V, ", + "V(H=0) "] + + ############################################################################################################ # Asteroid Class # ############################################################################################################ @@ -481,7 +510,7 @@ def shortlist(self,camera,thresh_angle): #----------------------------------------------------------------------------------------------- - def checkvisspice(self,observer, camera, time, ids): + def checkvisspice(self,observer, camera, time, ids, output='stdout',outputfmt=''): """Use SPICE to check whether asteroid is in FOV at input times @@ -489,16 +518,29 @@ def checkvisspice(self,observer, camera, time, ids): ---------- observer : string Minor Planet Center Observatory Code + camera : camera object time : float array Array of times (MJD UTC) + + output: string + Supported ouput + "stdout": print to stdout + "csv": comma separated values + "hdf5": hdf5 """ observerint=str(self.mpc2internal(observer)) - + count = 0 + + out=[] + out_append=out.append + deg=np.degrees + day2s=shared.day2s + for i in range(0,len(time)): ttet= self.mjd2et(time[i]) @@ -522,47 +564,88 @@ def checkvisspice(self,observer, camera, time, ids): astobsdelta=np.linalg.norm(topostate[0:3]) astsundelta=np.linalg.norm(astsunstate[0:3]) Vmag=self.vismag(self.oorb_orbit[0][10], self.oorb_orbit[0][11], phase_angle, astobsdelta, astsundelta) - VH0=Vmag-self.oorb_orbit[0][10] - -# opstr="%-9d " %(self.id) - opstr="%-10s " %(self.name) - opstr=opstr+"%9d " %(ids[i]) - opstr=opstr+"%12.6f " %(time[i]) -# opstr=opstr+"%10s " %(test) - opstr=opstr+"%16.3f " %(radec[0]) - opstr=opstr+"%8.3f " %(radec[3]) - opstr=opstr+"%11.6f " %(np.degrees(radec[1])%360) - opstr=opstr+"%9.6f " %(np.degrees(radec[4])*shared.day2s) - opstr=opstr+"%10.6f " %(np.degrees(radec[2])) - opstr=opstr+"%9.6f " %(np.degrees(radec[5])*shared.day2s) - opstr=opstr+"%16.3f " %(astsunstate[0]) - opstr=opstr+"%16.3f " %(astsunstate[1]) - opstr=opstr+"%16.3f " %(astsunstate[2]) - opstr=opstr+"%8.3f " %(astsunstate[3]) - opstr=opstr+"%8.3f " %(astsunstate[4]) - opstr=opstr+"%8.3f " %(astsunstate[5]) - opstr=opstr+"%16.3f " %(obssunstate[0]) - opstr=opstr+"%16.3f " %(obssunstate[1]) - opstr=opstr+"%16.3f " %(obssunstate[2]) - opstr=opstr+"%8.3f " %(obssunstate[3]) - opstr=opstr+"%8.3f " %(obssunstate[4]) - opstr=opstr+"%8.3f " %(obssunstate[5]) - opstr=opstr+"%11.6f " %(np.degrees(phase_angle)) - opstr=opstr+"%7.3f " %(Vmag) - opstr=opstr+"%7.3f " %(VH0) - print(opstr) + VH0=Vmag-self.oorb_orbit[0][10] + + if(output=='stdout'): + if(outputfmt=='csv'): + opstr="%s" %(self.name) + opstr=opstr+",%d" %(ids[i]) + opstr=opstr+",%f" %(time[i]) + # opstr=opstr+"%10s " %(test) + opstr=opstr+",%f" %(radec[0]) + opstr=opstr+",%.3f" %(radec[3]) + opstr=opstr+",%.6f" %(deg(radec[1])%360) + opstr=opstr+",%.6f" %(deg(radec[4])*day2s) + opstr=opstr+",%.6f" %(deg(radec[2])) + opstr=opstr+",%.6f" %(deg(radec[5])*day2s) + opstr=opstr+",%.3f" %(astsunstate[0]) + opstr=opstr+",%.3f" %(astsunstate[1]) + opstr=opstr+",%.3f" %(astsunstate[2]) + opstr=opstr+",%.3f" %(astsunstate[3]) + opstr=opstr+",%.3f" %(astsunstate[4]) + opstr=opstr+",%.3f" %(astsunstate[5]) + opstr=opstr+",%.3f" %(obssunstate[0]) + opstr=opstr+",%.3f" %(obssunstate[1]) + opstr=opstr+",%.3f" %(obssunstate[2]) + opstr=opstr+",%.3f" %(obssunstate[3]) + opstr=opstr+",%.3f" %(obssunstate[4]) + opstr=opstr+",%.3f" %(obssunstate[5]) + opstr=opstr+",%.6f" %(deg(phase_angle)) + opstr=opstr+",%.3f" %(Vmag) + opstr=opstr+",%.3f" %(VH0) + print(opstr) + else: + # opstr="%-9d " %(self.id) + opstr="%-10s " %(self.name) + opstr=opstr+"%9d " %(ids[i]) + opstr=opstr+"%12.6f " %(time[i]) + # opstr=opstr+"%10s " %(test) + opstr=opstr+"%16.3f " %(radec[0]) + opstr=opstr+"%8.3f " %(radec[3]) + opstr=opstr+"%11.6f " %(deg(radec[1])%360) + opstr=opstr+"%9.6f " %(deg(radec[4])*day2s) + opstr=opstr+"%10.6f " %(deg(radec[2])) + opstr=opstr+"%9.6f " %(deg(radec[5])*day2s) + opstr=opstr+"%16.3f " %(astsunstate[0]) + opstr=opstr+"%16.3f " %(astsunstate[1]) + opstr=opstr+"%16.3f " %(astsunstate[2]) + opstr=opstr+"%8.3f " %(astsunstate[3]) + opstr=opstr+"%8.3f " %(astsunstate[4]) + opstr=opstr+"%8.3f " %(astsunstate[5]) + opstr=opstr+"%16.3f " %(obssunstate[0]) + opstr=opstr+"%16.3f " %(obssunstate[1]) + opstr=opstr+"%16.3f " %(obssunstate[2]) + opstr=opstr+"%8.3f " %(obssunstate[3]) + opstr=opstr+"%8.3f " %(obssunstate[4]) + opstr=opstr+"%8.3f " %(obssunstate[5]) + opstr=opstr+"%11.6f " %(deg(phase_angle)) + opstr=opstr+"%7.3f " %(Vmag) + opstr=opstr+"%7.3f " %(VH0) + print(opstr) + else: + out_append([self.name,ids[i],time[i],radec[0],radec[3], + deg(radec[1])%360,deg(radec[4])*day2s,deg(radec[2]), + deg(radec[5])*day2s,astsunstate[0],astsunstate[1], + astsunstate[2],astsunstate[3],astsunstate[4],astsunstate[5], + obssunstate[0],obssunstate[1],obssunstate[2],obssunstate[3], + obssunstate[4],obssunstate[5],deg(phase_angle), + Vmag, VH0]) count+=1 # END TESTING - + sp.unload(self.spkname) + if (output!='stdout'): + return out + + ############################################################################################################ # Asteroid List Class # ############################################################################################################ class asteroidlist(asteroids): - - def __init__(self,inputfile,outputfile,object1,nObjects=-1): + + def __init__(self,inputfile,inputformat,outputfile,object1,nObjects=-1): """ asteroidlist class contains a bunch of asteroid objects. @@ -572,6 +655,8 @@ def __init__(self,inputfile,outputfile,object1,nObjects=-1): ---------- inputfile : string File name of list of asteroid elements (Refer to SO.ssm from Grav et al. 2010) + inputformat : string + Format of the input file (csv or whitespace) outputfile : string Base filename for NAIF SPICE SPK files of individual asteroids. Base filename will be appended by asteroid ID, which is just the row number of the @@ -584,12 +669,16 @@ def __init__(self,inputfile,outputfile,object1,nObjects=-1): """ self.inputfile=inputfile + self.inputformat=inputformat self.outputfile=outputfile self.asteroids=[] #Initializing an orbits object and reading all the orbits to it. orbObj=orbits.Orbits() - orbObj.readOrbits(inputfile) + if (inputformat != 'whitespace'): + orbObj.readOrbits(inputfile, delim=inputformat) + else: + orbObj.readOrbits(inputfile) #Converting all the orbits from previous step into OpenOrb orbit format. ephemObj=ooephemerides.PyOrbEphemerides() @@ -660,8 +749,17 @@ def savestates(self, force): #----------------------------------------------------------------------------------------------- - def simulate(self, starttime, stoptime, camera, threshold, obscode): + def simulate(self, starttime, stoptime, camera, threshold, obscode, CWD, outputfile='stdout', outputfmt='', + inputheader=''): """ + CWD: string + current working directory + + output: string + Supported ouput + "stdout": print to stdout + "csv": comma separated values + "hdf5": hdf5 """ # loading all SPICE kernels required for simulation sp.furnsh(camera.ikfile) @@ -669,45 +767,87 @@ def simulate(self, starttime, stoptime, camera, threshold, obscode): sp.furnsh(camera.ckfile) sp.furnsh(camera.fkfile) sp.furnsh(camera.sclkfile) + count=0 - #Print header -# head="#AstID " - head="ObjID " - head=head+"FieldID " - head=head+"FieldMJD " - head=head+"AstRange(km) " - head=head+"AstRangeRate(km/s) " - head=head+"AstRA(deg) " - head=head+"AstRARate(deg/day) " - head=head+"AstDec(deg) " - head=head+"AstDecRate(deg/day) " - head=head+"Ast-Sun(J2000x)(km) " - head=head+"Ast-Sun(J2000y)(km) " - head=head+"Ast-Sun(J2000z)(km) " - head=head+"Ast-Sun(J2000vx)(km/s) " - head=head+"Ast-Sun(J2000vy)(km/s) " - head=head+"Ast-Sun(J2000vz)(km/s) " - head=head+"Obs-Sun(J2000x)(km) " - head=head+"Obs-Sun(J2000y)(km) " - head=head+"Obs-Sun(J2000z)(km) " - head=head+"Obs-Sun(J2000vx)(km/s) " - head=head+"Obs-Sun(J2000vy)(km/s) " - head=head+"Obs-Sun(J2000vz)(km/s) " - head=head+"Sun-Ast-Obs(deg) " - head=head+"V " - head=head+"V(H=0) " - print(head) + #Print column headers to stdout + if(outputfile=='stdout'): + if(outputfmt=='csv'): + cols=[i.strip() for i in output_header] + head=''.join(cols) + else: + cols=[(i[:-2]+' ') for i in output_header] + head=''.join(cols) + print(head) +# # head="#AstID " +# head="ObjID " +# head=head+"FieldID " +# head=head+"FieldMJD " +# head=head+"AstRange(km) " +# head=head+"AstRangeRate(km/s) " +# head=head+"AstRA(deg) " +# head=head+"AstRARate(deg/day) " +# head=head+"AstDec(deg) " +# head=head+"AstDecRate(deg/day) " +# head=head+"Ast-Sun(J2000x)(km) " +# head=head+"Ast-Sun(J2000y)(km) " +# head=head+"Ast-Sun(J2000z)(km) " +# head=head+"Ast-Sun(J2000vx)(km/s) " +# head=head+"Ast-Sun(J2000vy)(km/s) " +# head=head+"Ast-Sun(J2000vz)(km/s) " +# head=head+"Obs-Sun(J2000x)(km) " +# head=head+"Obs-Sun(J2000y)(km) " +# head=head+"Obs-Sun(J2000z)(km) " +# head=head+"Obs-Sun(J2000vx)(km/s) " +# head=head+"Obs-Sun(J2000vy)(km/s) " +# head=head+"Obs-Sun(J2000vz)(km/s) " +# head=head+"Sun-Ast-Obs(deg) " +# head=head+"V " +# head=head+"V(H=0) " +# print(head) + + results=[] + results_ext=results.extend while self.asteroids: i=self.asteroids[0] i.nightlystates([starttime, stoptime]) [times,ids]= i.shortlist(camera,threshold) - i.checkvisspice(obscode,camera,times,ids) + if(outputfile=='stdout'): + i.checkvisspice(obscode,camera,times,ids,outputfile,outputfmt) + else: + res=i.checkvisspice(obscode,camera,times,ids,outputfile,outputfmt) + + if res: + #print(res) + results_ext(res) del i del self.asteroids[0] count=count+1 + #print(np.array(results_ext)) + if(outputfile!='stdout'): + cols=[i.strip(', ') for i in output_header] + #print(cols) + #print(results_ext) + df=pd.DataFrame(results,columns=cols) + #df=pd.DataFrame(results) + #CREATE HEADER FILE FOR OUTPUT + outfn=CWD+'/'+outputfile + with open(outfn+'.hdr', 'w') as filehandle: + for listitem in inputheader: + filehandle.write('%s\n' % listitem) + + if(outputfmt=='csv'): + df.to_csv(outfn+'.csv',index=False) + elif(outputfmt=='hdf5' or outputfmt =='HDF5' or outputfmt == 'h5'): + df.to_hdf(CWD+'/'+outputfile+'.h5',key='data', + complevel=3, complib='zlib',index=False) + else: + print('Output file format not recognized. Defaulting to csv') + df.to_csv(outfn+'.csv',index=False) + # print(CWD) + # Unloading all SPICE kernels required for simulation sp.unload(camera.ikfile) sp.unload(camera.ckfile) diff --git a/oif/telescope.py b/oif/telescope.py index 926d5d3..c64dcbe 100644 --- a/oif/telescope.py +++ b/oif/telescope.py @@ -321,7 +321,7 @@ def save_circ(self,ikfile,boresight,radius): #----------------------------------------------------------------------------------------------- - def readfields(self, dbname, line1, nlines, startdate): + def readfields(self, dbname, line1, nlines, startdate, surveydbquery): """Reads fields from database @@ -334,7 +334,9 @@ def readfields(self, dbname, line1, nlines, startdate): nlines : int Number of lines to read from the database startdate : float - Shift all field times such that first one is startdate (0 if default) + Shift all field times such that first one is startdate (0 if default) + surveydbquery : string + customize the sql query string to account for changes in the opsim database designations """ @@ -348,7 +350,9 @@ def readfields(self, dbname, line1, nlines, startdate): count=0 # exec_str='SELECT obsHistID,expMJD,fieldRA,fieldDec,rotSkyPos FROM Summary order by expMJD limit %d,%d' %(line1-1,nlines) - exec_str='SELECT observationId,observationStartMJD,ra,dec,angle FROM ObsHistory order by observationStartMJD limit %d,%d' %(line1-1,nlines) +# exec_str='SELECT observationId,observationStartMJD,ra,dec,angle FROM ObsHistory order by observationStartMJD limit %d,%d' %(line1-1,nlines) + exec_str=surveydbquery+' limit %d,%d' %(line1-1,nlines) + for row in c.execute(exec_str): self.obsHistID[count] = row[0] self.fieldMJD[count] = row[1] @@ -363,7 +367,7 @@ def readfields(self, dbname, line1, nlines, startdate): #----------------------------------------------------------------------------------------------- - def createckfk(self, observer, dbname, t0, field1, nfields, mk): + def createckfk(self, observer, dbname, t0, field1, nfields, mk, surveydbquery): """Creates NAIF SPICE FK frame and corresponding CK frame @@ -381,6 +385,8 @@ def createckfk(self, observer, dbname, t0, field1, nfields, mk): Number of fields to be read from the database mk : string Name of SPICE meta kernel + surveydbquery : string + customize the SQL query string to account for changes in the opsim database designations """ @@ -409,7 +415,7 @@ def createckfk(self, observer, dbname, t0, field1, nfields, mk): f.close() - self.readfields(dbname,field1,nfields, t0) + self.readfields(dbname,field1,nfields, t0, surveydbquery) with open("ckip","w") as f: for i in range(len(self.fieldRA)): diff --git a/oif/test b/oif/test new file mode 100755 index 0000000..5e17221 Binary files /dev/null and b/oif/test differ diff --git a/test/README.md b/test/README.md index df835cc..db4d81b 100644 --- a/test/README.md +++ b/test/README.md @@ -6,17 +6,40 @@ After setting up, run this demo (from the current directory) as follows: oif -f input.config ``` -Running should take 5-10 seconds, and the output should be equal to: +Running should take about 20 seconds, and the output should be equal to: ``` -ObjID FieldID FieldMJD AstRange(km) AstRangeRate(km/s) AstRA(deg) AstRARate(deg/day) AstDec(deg) AstDecRate(deg/day) Ast-Sun(J2000 x,y,z)(km) Sun-Ast-Obs(deg) V V(H=0) -S00000t 379 59853.205174 283890475.590 -1.120 11.969668 -0.280799 -0.199389 -0.132793 426166270.493 77286044.522 6987950.403 2.030017 17.615 3.940 -S000015 60 59853.050544 668175640.435 23.682 312.825991 -0.143012 -49.366779 0.060345 444295083.489 -301086793.147 -499254824.938 11.073412 22.080 7.390 -S000015 105 59853.070961 668217448.873 23.719 312.823073 -0.142811 -49.365543 0.060665 444297436.054 -301081679.423 -499256528.362 11.074657 22.080 7.390 -S000021 413 59853.220613 516550705.141 -1.608 22.000275 -0.225825 -19.043373 -0.114463 601169057.117 201361160.641 -160550654.643 5.871856 21.815 6.359 -S00002b 572 59853.293877 160327195.033 -19.492 47.088076 0.053874 -15.880192 -0.417293 253410367.821 131561192.691 -35804264.500 21.121018 18.156 2.606 -S00002b 607 59853.309641 160300676.115 -19.449 47.088925 0.053765 -15.886768 -0.417038 253381320.206 131577490.837 -35798773.730 21.119558 18.155 2.605 -S000044 488 59853.255694 133485678.227 -9.938 33.541603 -0.262958 -9.848619 -0.485317 258048357.802 91198223.643 -14805187.670 15.524176 18.240 1.919 -S000044 530 59853.275035 133469119.832 -9.881 33.536515 -0.263144 -9.858002 -0.485061 258030167.260 91223047.539 -14804345.738 15.518093 18.240 1.919 -S000044 2500 59856.274051 131073200.175 -8.522 32.743882 -0.295536 -11.323174 -0.490697 255153164.715 95052129.741 -14670560.610 14.724329 18.161 1.840 +START HEADER +[ASTEROID] +Population model = asteroids.s3m +SPK T0 = 59200 +nDays = 800 +SPK step = 30 +nbody = T +[SURVEY] +Survey database = sample-lsst_baseline_v1p4_test.db +Field1 = 1 +nFields = 1000 +Telescope = I11 +Surveydbquery = SELECT observationId,observationStartMJD,fieldRA,fieldDEC,rotSkyPos FROM SummaryAllProps order by observationStartMJD +[OUTPUT] +Output file = stdout +Output format = csv +[CAMERA] +Camera = instrument_polygon.dat +Threshold = 5 +Survey length: +Field 1 : 59853.98564382085 +Field n : 59855.015756339824 +Days : 2.0 +END HEADER +ObjID,FieldID,FieldMJD,AstRange(km),AstRangeRate(km/s),AstRA(deg),AstRARate(deg/day),AstDec(deg),AstDecRate(deg/day),Ast-Sun(J2000x)(km),Ast-Sun(J2000y)(km),Ast-Sun(J2000z)(km),Ast-Sun(J2000vx)(km/s),Ast-Sun(J2000vy)(km/s),Ast-Sun(J2000vz)(km/s),Obs-Sun(J2000x)(km),Obs-Sun(J2000y)(km),Obs-Sun(J2000z)(km),Obs-Sun(J2000vx)(km/s),Obs-Sun(J2000vy)(km/s),Obs-Sun(J2000vz)(km/s),Sun-Ast-Obs(deg),V,V(H=0) +S100003Ua,992,59855.012720,232764749.248534,19.381,313.391309,0.093855,-14.189297,-0.001147,302701424.873,-141376977.611,-47258199.518,10.938,16.381,6.838,147675817.300,22607836.793,9798564.669,-5.071,27.085,11.641,22.025168,12.229,3.789 +S100005xa,40,59854.002209,311895722.264189,18.108,312.493375,0.024745,-10.868628,-0.020284,355032405.197,-205593003.122,-50029660.233,8.437,15.234,7.005,148124584.428,20259701.559,8780700.962,-4.542,27.134,11.674,17.656392,14.416,4.726 +S100005Aa,993,59855.013142,293695449.878793,20.744,318.064945,0.007336,-15.326503,0.037457,358386286.782,-166683879.872,-67830362.667,10.529,13.637,8.301,147675632.576,22608823.379,9798988.673,-5.072,27.086,11.641,17.493547,24.184,4.524 +S100005Ma,992,59855.012720,254838551.295162,21.485,313.887934,0.073709,-12.318483,-0.032336,320275224.443,-156825113.314,-44570113.955,11.907,14.784,5.431,147675817.300,22607836.793,9798564.669,-5.071,27.085,11.641,20.397744,24.442,4.072 +S1000062a,30,59853.998050,270910872.953021,19.725,310.235405,0.055242,-11.054255,-0.052272,319868809.097,-182725429.454,-43167528.027,9.881,14.682,5.085,148126215.412,20249952.751,8776505.940,-4.535,27.125,11.674,20.257467,19.559,4.269 +S1000062a,41,59854.002624,270918670.134100,19.737,310.235658,0.055234,-11.054494,-0.052222,319872713.454,-182719627.936,-43165518.813,9.881,14.682,5.085,148124421.707,20260673.486,8781119.116,-4.543,27.135,11.674,20.258390,19.559,4.269 +S1000065a,27,59853.996810,347587844.429137,24.931,304.596386,0.078548,-11.561336,-0.039962,341479992.787,-260072351.727,-60887212.973,13.465,10.548,3.929,148126701.218,20247046.556,8775255.097,-4.533,27.122,11.674,18.177937,18.802,5.082 +S1000066a,995,59855.013982,361677977.928847,20.427,316.533583,-0.013516,-18.866810,0.037563,396069815.793,-212830311.061,-107155733.445,8.957,12.503,7.633,147675264.406,22610789.339,9799833.539,-5.073,27.088,11.640,15.593138,20.721,5.221 ``` diff --git a/test/asteroids.s3m b/test/asteroids.s3m new file mode 100644 index 0000000..a362d3e --- /dev/null +++ b/test/asteroids.s3m @@ -0,0 +1,300 @@ +!!OID FORMAT q e i node argperi t_p H t_0 INDEX N_PAR MOID COMPCODE color +S1000000a COM 3.01822 0.05208 22.56035 211.00286 335.42134 51575.94061 14.20 54800.00000 1 6 -1 Python S +S1000001a COM 2.10974 0.07518 4.91571 209.40298 322.66447 54205.77161 20.57 54800.00000 1 6 -1 Python S +S1000002a COM 2.80523 0.07777 1.24945 112.52284 139.86858 54468.71747 14.65 54800.00000 1 6 -1 Python C +S1000003a COM 2.10917 0.13219 1.46615 266.54621 232.24412 54212.16304 19.58 54800.00000 1 6 -1 Python S +S1000004a COM 2.17676 0.19949 12.92422 162.14580 192.22312 51895.46586 10.56 54800.00000 1 6 -1 Python C +S1000007a COM 1.98262 0.16324 23.42404 210.02222 326.18514 54730.97656 8.17 54800.00000 1 6 -1 Python S +S1000008a COM 1.73305 0.24339 23.73823 337.86076 113.29921 54647.98297 8.97 54800.00000 1 6 -1 Python S +S1000009a COM 2.18691 0.15787 14.26404 63.83526 171.52690 51866.56387 10.73 54800.00000 1 6 -1 Python S +S100000aa COM 2.27052 0.17410 5.35367 333.41753 1.43536 51689.00531 9.01 54800.00000 1 6 -1 Python C +S100000ba COM 2.54551 0.18190 18.52615 76.08205 179.34186 54535.31945 6.35 54800.00000 1 6 -1 Python S +S100000ca COM 1.81368 0.19017 4.52164 322.32495 321.27446 54378.26300 6.69 54800.00000 1 6 -1 Python S +S100000fa COM 1.98751 0.12595 12.08558 357.43774 330.50874 52346.72941 20.30 54800.00000 1 6 -1 Python S +S100000ga COM 2.05394 0.18858 4.21941 52.76602 178.93173 54166.21339 6.02 54800.00000 1 6 -1 Python C +S100000ha COM 2.27941 0.10367 13.23644 83.77439 151.24048 54591.53866 12.16 54800.00000 1 6 -1 Python S +S100000ia COM 2.76400 0.11970 4.45917 306.27694 344.51356 51006.96079 19.29 54800.00000 1 6 -1 Python C +S100000ja COM 3.78900 0.04467 2.32944 311.23691 297.96533 54316.05005 5.14 54800.00000 1 6 -1 Python C +S100000ka COM 2.55986 0.02712 5.07819 88.50075 88.32147 54560.22661 19.93 54800.00000 1 6 -1 Python S +S100000ma COM 2.06154 0.05918 5.81164 103.19187 236.63552 52540.66101 11.96 54800.00000 1 6 -1 Python S +S100000na COM 2.25875 0.19294 6.68814 23.58627 190.23403 54158.85431 15.36 54800.00000 1 6 -1 Python S +S100000oa COM 2.41535 0.12496 10.33454 322.90244 112.95399 54095.87010 19.72 54800.00000 1 6 -1 Python C +S100000pa COM 2.17640 0.18105 13.29579 65.29607 310.85014 54089.87734 17.31 54800.00000 1 6 -1 Python S +S100000qa COM 2.26325 0.13094 13.99368 48.19181 132.49503 54649.65260 14.79 54800.00000 1 6 -1 Python C +S100000ua COM 2.59657 0.12895 10.97476 93.36572 307.08820 51354.92203 11.25 54800.00000 1 6 -1 Python C +S100000va COM 2.36437 0.25622 13.45307 9.54396 2.46827 54445.67591 11.18 54800.00000 1 6 -1 Python C +S100000wa COM 3.06323 0.03307 9.53543 227.12560 301.74809 54060.31919 14.74 54800.00000 1 6 -1 Python S +S100000xa COM 2.26868 0.15706 13.44002 76.98501 12.89706 52083.38459 14.50 54800.00000 1 6 -1 Python S +S100000ya COM 2.33086 0.15809 10.63095 329.57097 198.97577 54738.49562 4.99 54800.00000 1 6 -1 Python C +S100000za COM 2.46534 0.12128 8.64459 131.39407 349.87659 51574.45418 13.84 54800.00000 1 6 -1 Python S +S100000Aa COM 2.46389 0.19536 9.50159 147.09193 327.69318 51461.50965 10.36 54800.00000 1 6 -1 Python C +S100000Ba COM 2.27982 0.10108 15.34459 91.90535 349.82735 51995.33790 8.17 54800.00000 1 6 -1 Python S +S100000Ca COM 2.20172 0.17885 1.99507 356.38395 84.81604 52179.09603 19.97 54800.00000 1 6 -1 Python C +S100000Da COM 2.89635 0.08712 23.13344 275.06107 348.78261 51162.27410 14.36 54800.00000 1 6 -1 Python C +S100000Ga COM 1.90518 0.21223 23.96646 162.29493 329.41297 54485.59195 15.33 54800.00000 1 6 -1 Python S +S100000Ha COM 1.97777 0.16959 2.74410 70.49180 165.47978 54503.45504 15.07 54800.00000 1 6 -1 Python S +S100000Ia COM 2.30723 0.17461 7.28348 297.51252 125.11567 54042.57011 5.06 54800.00000 1 6 -1 Python S +S100000Ja COM 2.57327 0.17970 9.38845 12.35664 31.10895 54163.37655 15.59 54800.00000 1 6 -1 Python S +S100000Ka COM 1.74681 0.32805 8.13652 245.38883 108.56235 54035.06835 19.16 54800.00000 1 6 -1 Python S +S100000La COM 1.98533 0.15480 5.90330 175.91030 139.52075 52787.12089 20.24 54800.00000 1 6 -1 Python S +S100000Na COM 3.04812 0.00922 10.16239 284.15006 187.39953 54603.65776 16.47 54800.00000 1 6 -1 Python S +S100000Oa COM 2.03418 0.16049 3.91929 267.88520 216.79561 54327.84585 22.28 54800.00000 1 6 -1 Python S +S100000Qa COM 1.85080 0.32387 3.66661 267.17520 24.83066 51951.07288 17.36 54800.00000 1 6 -1 Python S +S100000Ra COM 1.91713 0.15796 4.33854 301.91509 317.14437 52445.91238 13.89 54800.00000 1 6 -1 Python S +S100000Sa COM 2.30194 0.14111 13.83829 111.01587 60.61618 54175.01494 12.74 54800.00000 1 6 -1 Python S +S100000Ta COM 2.60282 0.18080 20.21299 28.59401 302.44682 54112.16016 15.28 54800.00000 1 6 -1 Python C +S100000Ua COM 2.44702 0.11234 10.86461 38.74175 10.41742 51760.26496 6.53 54800.00000 1 6 -1 Python C +S100000Va COM 2.69515 0.13290 9.47189 355.66952 293.27221 53960.26720 9.68 54800.00000 1 6 -1 Python C +S100000Wa COM 3.14049 0.22223 3.01014 153.01165 249.61887 54619.46352 6.30 54800.00000 1 6 -1 Python C +S100000Xa COM 2.65366 0.07688 2.76725 66.37578 285.79619 54354.12058 14.11 54800.00000 1 6 -1 Python S +S100000Ya COM 3.28933 0.03779 1.09256 288.59935 152.27022 51201.54260 5.61 54800.00000 1 6 -1 Python C +S1000011a COM 2.84621 0.04469 6.38539 140.98972 66.11426 54222.56910 20.19 54800.00000 1 6 -1 Python S +S1000012a COM 2.02942 0.15860 5.37700 65.32955 96.59419 54364.78477 15.08 54800.00000 1 6 -1 Python S +S1000013a COM 1.84029 0.29927 12.62301 150.95288 189.17370 51776.75727 21.91 54800.00000 1 6 -1 Python S +S1000015a COM 2.03308 0.26400 6.38587 307.59441 331.50886 54669.80620 14.21 54800.00000 1 6 -1 Python S +S1000016a COM 2.34941 0.24981 14.60995 320.56609 93.38004 51207.33626 11.23 54800.00000 1 6 -1 Python S +S1000017a COM 2.18340 0.18109 10.92164 37.25715 282.24718 52274.93286 9.90 54800.00000 1 6 -1 Python S +S1000018a COM 2.96743 0.07519 4.74749 249.35494 176.56906 51452.62169 12.38 54800.00000 1 6 -1 Python C +S1000019a COM 1.77463 0.30701 13.13833 164.89559 132.40470 52035.87386 16.36 54800.00000 1 6 -1 Python S +S100001fa COM 3.36878 0.15031 3.05447 5.97921 87.40433 54089.74784 16.39 54800.00000 1 6 -1 Python C +S100001ga COM 2.86809 0.00936 3.54762 82.11488 89.22882 54423.09339 11.90 54800.00000 1 6 -1 Python S +S100001ha COM 2.98978 0.06614 20.10944 346.79899 341.58650 54385.65052 5.83 54800.00000 1 6 -1 Python C +S100001ja COM 2.57408 0.15423 10.97284 122.87920 75.11933 54406.56651 10.47 54800.00000 1 6 -1 Python C +S100001ka COM 2.41755 0.08334 5.94654 133.83833 71.97294 52042.44434 6.64 54800.00000 1 6 -1 Python C +S100001la COM 2.78039 0.03186 2.76513 15.68455 322.58909 51804.41265 10.15 54800.00000 1 6 -1 Python C +S100001ma COM 1.97492 0.12279 6.00392 143.79513 87.76603 54332.72359 21.72 54800.00000 1 6 -1 Python S +S100001oa COM 2.14210 0.16225 10.65458 131.94731 286.21679 52464.49199 7.35 54800.00000 1 6 -1 Python S +S100001pa COM 1.93083 0.12337 5.49487 17.27561 351.85234 54778.26726 15.24 54800.00000 1 6 -1 Python S +S100001qa COM 2.88568 0.09547 14.97168 10.81172 253.52081 51255.16497 12.09 54800.00000 1 6 -1 Python S +S100001ra COM 2.23077 0.16709 12.68201 8.93179 310.76504 51739.73262 10.12 54800.00000 1 6 -1 Python S +S100001ta COM 2.76269 0.06872 10.28742 110.44477 288.46166 51209.42258 19.41 54800.00000 1 6 -1 Python S +S100001ua COM 2.10109 0.23536 9.68985 116.48753 19.88885 54031.73954 11.99 54800.00000 1 6 -1 Python C +S100001va COM 2.11772 0.16743 13.70450 225.53821 59.82204 54410.28468 18.53 54800.00000 1 6 -1 Python S +S100001xa COM 2.64341 0.14890 13.63571 60.89212 222.95397 51771.78652 10.97 54800.00000 1 6 -1 Python C +S100001ya COM 2.11680 0.23286 32.11445 201.03175 232.05914 52021.52009 16.93 54800.00000 1 6 -1 Python S +S100001za COM 2.70646 0.09443 8.38848 311.75513 132.56827 54080.11347 6.22 54800.00000 1 6 -1 Python C +S100001Aa COM 2.11508 0.11748 6.58886 185.11807 270.39090 54455.61874 6.39 54800.00000 1 6 -1 Python S +S100001Ba COM 2.35631 0.07354 2.55134 207.32547 24.89098 54404.83061 19.37 54800.00000 1 6 -1 Python S +S100001Ca COM 2.64402 0.13363 2.64613 206.78121 61.26108 51033.18614 14.17 54800.00000 1 6 -1 Python C +S100001Ea COM 2.99770 0.03973 16.74138 309.11621 179.59216 54508.84777 9.97 54800.00000 1 6 -1 Python C +S100001Fa COM 2.69233 0.10820 11.64728 128.36988 244.52513 53951.31488 8.63 54800.00000 1 6 -1 Python C +S100001Ga COM 1.96570 0.23117 15.14934 58.57210 233.87236 51826.47336 16.72 54800.00000 1 6 -1 Python S +S100001Ha COM 2.52220 0.10544 13.10752 294.09645 303.80494 54473.03002 17.00 54800.00000 1 6 -1 Python S +S100001La COM 2.43564 0.20303 17.47498 355.02732 152.25161 54413.35954 20.63 54800.00000 1 6 -1 Python C +S100001Na COM 1.76828 0.19704 7.44368 10.83805 262.90575 52748.68681 15.78 54800.00000 1 6 -1 Python S +S100001Oa COM 2.34098 0.13557 12.35851 26.62822 98.45195 52014.11884 9.09 54800.00000 1 6 -1 Python S +S100001Pa COM 2.75516 0.13888 4.94102 288.49971 117.84565 51307.60148 19.38 54800.00000 1 6 -1 Python C +S100001Sa COM 2.45978 0.11813 12.60252 345.73505 17.62705 54676.69758 14.13 54800.00000 1 6 -1 Python S +S100001Ta COM 2.80963 0.11804 8.66033 308.17628 300.43859 50785.99154 10.08 54800.00000 1 6 -1 Python S +S100001Ua COM 2.50085 0.19516 16.04137 243.75122 317.75274 54443.35024 17.26 54800.00000 1 6 -1 Python S +S100001Va COM 2.46830 0.21513 9.29870 172.71410 118.76728 50852.91836 8.56 54800.00000 1 6 -1 Python S +S100001Wa COM 1.86812 0.19638 4.20415 325.98384 304.81907 52582.96715 11.14 54800.00000 1 6 -1 Python S +S100001Xa COM 3.27696 0.03334 5.35274 104.59204 194.23952 50624.61378 11.03 54800.00000 1 6 -1 Python C +S100001Ya COM 1.89161 0.15575 2.88313 121.06370 267.76713 52767.99180 8.31 54800.00000 1 6 -1 Python S +S1000020a COM 2.13807 0.13219 3.37718 120.66911 65.55077 54151.16206 17.56 54800.00000 1 6 -1 Python S +S1000021a COM 2.73396 0.09297 9.65949 31.84028 295.59146 51586.92118 19.77 54800.00000 1 6 -1 Python C +S1000022a COM 2.61149 0.18365 28.11520 62.12300 252.62538 51298.25618 14.04 54800.00000 1 6 -1 Python C +S1000023a COM 2.77545 0.14112 11.18394 275.16580 51.95798 51019.14537 16.01 54800.00000 1 6 -1 Python S +S1000024a COM 2.21055 0.28156 6.20943 133.94160 133.65720 54052.22889 14.82 54800.00000 1 6 -1 Python C +S1000028a COM 2.82912 0.04589 7.01593 81.32835 340.25699 54770.51688 9.08 54800.00000 1 6 -1 Python S +S1000029a COM 2.82707 0.09621 22.89320 76.45877 288.46668 51026.14578 17.80 54800.00000 1 6 -1 Python S +S100002aa COM 2.87526 0.09766 16.66336 11.00790 151.14690 54632.70744 10.65 54800.00000 1 6 -1 Python C +S100002ba COM 2.92823 0.02364 9.39439 353.59150 128.61950 54558.52116 16.42 54800.00000 1 6 -1 Python S +S100002ca COM 3.00523 0.02623 11.56965 72.94443 167.73449 53933.46267 16.85 54800.00000 1 6 -1 Python C +S100002da COM 2.61531 0.11777 9.56350 30.51828 325.74586 51441.16273 8.92 54800.00000 1 6 -1 Python S +S100002ea COM 2.08184 0.18808 14.50678 45.61259 39.53843 54219.97615 13.49 54800.00000 1 6 -1 Python S +S100002fa COM 1.99168 0.27615 15.55386 171.51483 117.68356 54336.01519 6.73 54800.00000 1 6 -1 Python S +S100002ga COM 1.83229 0.21033 2.69684 150.59355 214.45221 54736.19774 12.66 54800.00000 1 6 -1 Python S +S100002ia COM 2.53172 0.17748 10.69106 346.60574 238.95075 51390.52723 8.78 54800.00000 1 6 -1 Python S +S100002ja COM 2.01600 0.09966 6.88366 14.00627 238.49565 54421.27054 12.76 54800.00000 1 6 -1 Python S +S100002ka COM 1.89873 0.19363 3.14465 337.79662 24.37689 52209.26435 7.86 54800.00000 1 6 -1 Python C +S100002la COM 2.55947 0.14268 8.48464 259.85878 121.32942 51726.40180 14.86 54800.00000 1 6 -1 Python S +S100002ma COM 2.85777 0.08448 14.46607 77.16901 196.47072 54299.26148 17.57 54800.00000 1 6 -1 Python S +S100002na COM 2.64824 0.11728 10.57945 20.93186 119.46759 54176.89469 20.93 54800.00000 1 6 -1 Python C +S100002pa COM 2.35860 0.08646 4.67788 90.55982 241.02522 52065.02030 15.35 54800.00000 1 6 -1 Python S +S100002qa COM 2.12302 0.11717 14.33999 138.84215 92.44139 52702.85005 15.52 54800.00000 1 6 -1 Python S +S100002sa COM 2.98126 0.04686 11.02627 197.89358 358.34885 53915.61985 9.89 54800.00000 1 6 -1 Python C +S100002ta COM 2.43217 0.05951 9.71066 34.61787 221.78467 51841.45944 9.67 54800.00000 1 6 -1 Python S +S100002ua COM 2.65950 0.15621 14.15976 294.52619 321.56107 54695.31010 12.90 54800.00000 1 6 -1 Python S +S100002va COM 2.74448 0.05517 2.52793 161.65104 260.11101 51376.20525 15.15 54800.00000 1 6 -1 Python C +S100002wa COM 2.27148 0.11590 11.37401 110.42215 74.17630 54503.71632 21.08 54800.00000 1 6 -1 Python S +S100002xa COM 2.92843 0.04226 10.18835 30.41185 151.07063 51218.45326 20.07 54800.00000 1 6 -1 Python S +S100002za COM 2.87724 0.05558 9.35802 299.39035 306.15189 51227.52325 16.83 54800.00000 1 6 -1 Python S +S100002Aa COM 2.14447 0.19977 13.39032 26.36226 315.75394 54766.93461 7.62 54800.00000 1 6 -1 Python C +S100002Ba COM 2.51164 0.18458 16.31758 156.43979 99.25935 51614.68613 8.68 54800.00000 1 6 -1 Python C +S100002Ca COM 2.85485 0.10465 3.36357 263.07380 278.98718 53895.06088 12.08 54800.00000 1 6 -1 Python S +S100002Da COM 2.85207 0.09229 21.90436 114.47603 140.48386 51538.27945 12.81 54800.00000 1 6 -1 Python S +S100002Ea COM 2.38934 0.12075 8.53807 335.63704 9.06502 54043.98689 14.25 54800.00000 1 6 -1 Python S +S100002Fa COM 2.11539 0.00820 2.25785 349.12747 282.63772 54387.27732 17.44 54800.00000 1 6 -1 Python S +S100002Ga COM 2.57974 0.18545 1.49868 93.97659 332.22598 54261.81524 15.45 54800.00000 1 6 -1 Python C +S100002Ha COM 2.08199 0.12261 10.90731 259.37501 200.30641 54694.42892 17.81 54800.00000 1 6 -1 Python C +S100002La COM 2.13503 0.18093 10.11837 235.72781 116.19673 51918.08533 6.48 54800.00000 1 6 -1 Python C +S100002Ma COM 2.28724 0.13970 14.08318 161.79773 353.48520 52055.84587 11.46 54800.00000 1 6 -1 Python C +S100002Na COM 2.69526 0.14236 3.37051 131.06428 331.61595 51535.07122 7.57 54800.00000 1 6 -1 Python C +S100002Oa COM 2.94797 0.06152 16.31498 293.65397 158.71047 51474.74230 12.25 54800.00000 1 6 -1 Python C +S100002Qa COM 2.71029 0.13790 27.10635 14.52740 157.54617 54479.85812 13.96 54800.00000 1 6 -1 Python S +S100002Ra COM 2.02824 0.23513 15.05156 82.90060 59.16657 52402.01595 14.68 54800.00000 1 6 -1 Python C +S100002Sa COM 2.09695 0.19160 7.51431 68.67644 318.25511 54720.08791 9.91 54800.00000 1 6 -1 Python C +S100002Ta COM 2.61130 0.13888 11.50495 51.31996 200.41452 51184.62875 6.45 54800.00000 1 6 -1 Python S +S100002Ua COM 2.56661 0.14637 14.34398 52.62207 344.55553 54121.74843 8.52 54800.00000 1 6 -1 Python S +S100002Va COM 2.22569 0.13836 14.92686 224.93421 262.22933 54251.75556 15.97 54800.00000 1 6 -1 Python C +S100002Wa COM 2.71385 0.11815 8.34678 308.15112 25.61797 50892.43117 6.43 54800.00000 1 6 -1 Python S +S100002Xa COM 2.75855 0.05188 1.85214 331.14733 347.15106 54139.28453 16.67 54800.00000 1 6 -1 Python C +S100002Ya COM 2.24219 0.13837 16.19530 75.34916 322.20346 54561.98104 12.74 54800.00000 1 6 -1 Python S +S100002Za COM 2.80231 0.08410 10.40179 111.24912 267.48909 50981.96636 11.38 54800.00000 1 6 -1 Python S +S1000030a COM 2.63916 0.01451 2.10132 305.10593 233.56266 51751.86957 10.23 54800.00000 1 6 -1 Python S +S1000031a COM 2.58529 0.14778 8.51998 302.68250 70.02514 51774.63850 9.42 54800.00000 1 6 -1 Python S +S1000032a COM 2.46535 0.06749 15.97563 112.51724 160.46794 52351.54848 16.78 54800.00000 1 6 -1 Python S +S1000033a COM 2.88255 0.05785 15.48133 74.30009 78.07482 54023.80136 15.84 54800.00000 1 6 -1 Python S +S1000034a COM 2.89112 0.04980 9.56038 44.45723 39.99143 54318.06949 14.76 54800.00000 1 6 -1 Python C +S1000036a COM 2.09513 0.08535 3.32479 106.01979 291.82942 52559.88132 16.33 54800.00000 1 6 -1 Python S +S1000037a COM 1.83779 0.17780 5.38448 141.80380 204.87592 52360.68151 7.13 54800.00000 1 6 -1 Python S +S1000038a COM 2.92944 0.07346 9.39865 76.77769 357.68688 54423.39801 8.89 54800.00000 1 6 -1 Python S +S1000039a COM 2.73903 0.11431 10.23025 85.22411 180.65281 51140.77359 13.87 54800.00000 1 6 -1 Python S +S100003ba COM 2.88815 0.07960 15.36081 153.06315 267.22335 51485.35843 18.66 54800.00000 1 6 -1 Python C +S100003ca COM 2.44859 0.22649 22.39375 328.73215 10.45076 50826.63644 18.05 54800.00000 1 6 -1 Python C +S100003da COM 2.96098 0.04477 2.08304 35.05179 337.58132 50897.70400 18.34 54800.00000 1 6 -1 Python S +S100003ea COM 2.93416 0.05288 8.96351 294.27109 339.44249 54747.47505 18.50 54800.00000 1 6 -1 Python S +S100003ga COM 2.32231 0.10935 0.46849 116.14104 326.09438 52378.47529 21.33 54800.00000 1 6 -1 Python S +S100003ha COM 2.89844 0.03560 8.72645 276.52735 142.84202 51199.55610 15.68 54800.00000 1 6 -1 Python S +S100003ja COM 3.02956 0.04080 12.38863 121.42257 298.25688 51636.19316 13.89 54800.00000 1 6 -1 Python C +S100003la COM 1.57611 0.32322 3.05678 359.26539 271.82397 54511.34518 20.56 54800.00000 1 6 -1 Python C +S100003ma COM 1.96923 0.29475 9.64797 150.26888 229.45067 52158.53575 8.99 54800.00000 1 6 -1 Python C +S100003na COM 2.66170 0.11128 11.11403 20.09657 343.24204 51554.74662 5.52 54800.00000 1 6 -1 Python C +S100003oa COM 1.96699 0.24030 10.87638 240.42844 333.54339 51831.33385 6.51 54800.00000 1 6 -1 Python S +S100003pa COM 2.75720 0.05517 3.05907 150.21817 280.54831 51791.44915 8.11 54800.00000 1 6 -1 Python S +S100003qa COM 2.76591 0.07576 9.17249 264.13518 210.35170 51371.49774 20.60 54800.00000 1 6 -1 Python C +S100003ua COM 2.24798 0.14986 32.97893 219.70354 311.08699 54246.85727 9.12 54800.00000 1 6 -1 Python S +S100003va COM 2.99895 0.11256 19.67585 126.40202 132.13171 54658.14985 6.10 54800.00000 1 6 -1 Python S +S100003wa COM 1.83637 0.20675 7.16164 342.32599 63.79021 52400.43733 18.15 54800.00000 1 6 -1 Python C +S100003xa COM 2.26882 0.16682 13.78295 119.39503 92.23328 52223.00199 7.43 54800.00000 1 6 -1 Python S +S100003ya COM 3.01835 0.04500 16.65228 44.08334 319.40291 54377.73336 16.57 54800.00000 1 6 -1 Python S +S100003za COM 2.25216 0.29349 17.47229 47.75524 218.99628 50861.24417 19.74 54800.00000 1 6 -1 Python C +S100003Aa COM 2.57526 0.08100 3.28662 260.17441 265.10021 54789.21800 6.38 54800.00000 1 6 -1 Python C +S100003Ba COM 2.86626 0.04028 9.56379 63.23197 8.05847 54539.77137 13.02 54800.00000 1 6 -1 Python S +S100003Ca COM 2.69782 0.09692 9.66342 318.40324 356.64396 51268.08873 10.13 54800.00000 1 6 -1 Python S +S100003Da COM 2.38766 0.12618 4.63918 211.11927 123.60163 52068.57553 7.76 54800.00000 1 6 -1 Python C +S100003Ea COM 1.87644 0.23886 4.82609 175.01401 233.48044 54679.59671 19.42 54800.00000 1 6 -1 Python C +S100003Fa COM 2.12399 0.10288 5.58172 231.41298 354.51447 52385.98010 14.77 54800.00000 1 6 -1 Python S +S100003Ga COM 2.29086 0.12347 13.27576 61.66779 210.85631 51880.93094 14.51 54800.00000 1 6 -1 Python S +S100003Ia COM 1.74909 0.09621 21.95312 264.52849 134.42350 54355.67627 13.77 54800.00000 1 6 -1 Python S +S100003Ja COM 2.64581 0.12861 13.48225 183.72744 314.44183 54001.35743 9.83 54800.00000 1 6 -1 Python C +S100003Ka COM 2.79758 0.07776 16.62185 88.90260 353.08521 51839.74196 5.65 54800.00000 1 6 -1 Python S +S100003La COM 2.87090 0.05527 13.28963 274.52684 224.50319 51497.76161 10.11 54800.00000 1 6 -1 Python S +S100003Ma COM 2.07865 0.20307 14.40763 111.83416 255.48334 52263.99946 19.85 54800.00000 1 6 -1 Python S +S100003Na COM 2.69105 0.09461 11.36912 71.79683 2.26115 51623.86364 14.04 54800.00000 1 6 -1 Python C +S100003Oa COM 2.08838 0.11652 6.21705 234.19087 42.81445 52587.71496 21.12 54800.00000 1 6 -1 Python S +S100003Pa COM 2.47139 0.09302 4.85416 231.31984 77.54922 51925.52058 10.60 54800.00000 1 6 -1 Python S +S100003Qa COM 2.86374 0.08346 10.11111 39.22749 220.09792 54228.92718 9.05 54800.00000 1 6 -1 Python C +S100003Sa COM 2.60807 0.11428 2.78602 186.04947 229.73072 54495.87918 19.03 54800.00000 1 6 -1 Python C +S100003Ta COM 2.70941 0.09114 10.41239 323.30295 22.52652 54639.04184 21.10 54800.00000 1 6 -1 Python S +S100003Ua COM 2.16765 0.14042 2.34955 222.11030 64.10572 52396.20025 8.44 54800.00000 1 6 -1 Python C +S100003Va COM 2.52745 0.19436 18.09082 89.38019 23.61047 51213.24209 9.74 54800.00000 1 6 -1 Python C +S100003Wa COM 2.35756 0.14337 5.36507 347.56823 112.32071 54140.04415 6.33 54800.00000 1 6 -1 Python S +S100003Xa COM 2.30399 0.11228 13.24906 191.68540 328.66397 54417.52665 11.46 54800.00000 1 6 -1 Python S +S100003Ya COM 2.72523 0.13570 16.61313 336.31862 51.97565 53801.89372 13.75 54800.00000 1 6 -1 Python S +S100003Za COM 2.65077 0.15064 17.54230 131.67939 12.95049 51175.55462 16.95 54800.00000 1 6 -1 Python C +S1000041a COM 2.49427 0.08714 12.89390 135.48048 332.40896 52323.23434 8.74 54800.00000 1 6 -1 Python C +S1000044a COM 2.73138 0.13987 26.96605 86.31915 62.37126 50866.00849 17.21 54800.00000 1 6 -1 Python C +S1000045a COM 2.23004 0.14212 13.79650 120.39172 268.11767 54647.35557 6.47 54800.00000 1 6 -1 Python S +S1000046a COM 2.45309 0.15046 12.94350 242.43236 54.52206 53905.44460 16.45 54800.00000 1 6 -1 Python S +S1000047a COM 2.89911 0.07689 8.20570 110.51994 319.06897 51152.79740 6.44 54800.00000 1 6 -1 Python S +S1000048a COM 2.91447 0.08571 13.91555 105.17740 350.07347 50989.82666 7.51 54800.00000 1 6 -1 Python C +S1000049a COM 2.30839 0.12787 11.64837 318.14172 261.71112 52096.93470 8.86 54800.00000 1 6 -1 Python C +S100004aa COM 2.33517 0.12130 16.48394 64.23809 0.88617 51675.26963 15.95 54800.00000 1 6 -1 Python C +S100004ca COM 1.58301 0.32067 3.22496 313.46106 281.65165 54511.08034 17.56 54800.00000 1 6 -1 Python S +S100004da COM 2.85592 0.11186 5.54669 136.08240 226.20382 50791.97840 13.55 54800.00000 1 6 -1 Python S +S100004ea COM 2.62973 0.18613 1.40124 205.66820 324.39345 51067.42021 13.93 54800.00000 1 6 -1 Python C +S100004fa COM 2.33102 0.10145 14.25566 69.36863 111.40151 51785.24769 9.95 54800.00000 1 6 -1 Python S +S100004ga COM 2.25649 0.15309 12.96925 345.05078 358.57176 54667.06414 19.81 54800.00000 1 6 -1 Python S +S100004ha COM 2.22386 0.08564 4.97656 27.38634 185.05900 52168.64730 9.14 54800.00000 1 6 -1 Python S +S100004ia COM 3.03953 0.03987 8.80363 267.99626 294.78002 54190.75998 9.09 54800.00000 1 6 -1 Python S +S100004ja COM 2.76011 0.13302 7.39672 12.58711 80.65441 50744.61908 12.51 54800.00000 1 6 -1 Python C +S100004ka COM 1.77583 0.21653 24.84338 224.83857 81.17232 54190.72182 20.95 54800.00000 1 6 -1 Python S +S100004la COM 2.07354 0.22221 11.91836 264.54494 112.09803 52172.56702 17.33 54800.00000 1 6 -1 Python S +S100004ma COM 2.32375 0.11485 3.67379 131.77411 304.98135 52084.34519 13.84 54800.00000 1 6 -1 Python C +S100004na COM 3.08811 0.03620 12.63153 105.25740 186.16089 53864.50792 10.88 54800.00000 1 6 -1 Python C +S100004oa COM 2.86790 0.10780 10.44976 236.43338 146.78946 53931.53978 15.74 54800.00000 1 6 -1 Python C +S100004pa COM 2.64198 0.16438 11.31516 43.28772 8.80825 53831.51421 14.56 54800.00000 1 6 -1 Python S +S100004qa COM 2.70105 0.14768 24.15595 167.75015 17.44160 51393.23795 5.88 54800.00000 1 6 -1 Python S +S100004ra COM 2.93593 0.04594 11.23861 40.51501 355.91864 54061.23996 6.06 54800.00000 1 6 -1 Python C +S100004sa COM 2.68620 0.12525 11.19449 308.21664 341.32660 54668.94788 6.54 54800.00000 1 6 -1 Python C +S100004ta COM 2.56866 0.12015 3.53065 81.60281 269.99936 54039.25749 6.19 54800.00000 1 6 -1 Python S +S100004ua COM 2.79484 0.08009 10.52866 289.91869 3.84504 51399.22338 8.35 54800.00000 1 6 -1 Python C +S100004wa COM 2.44702 0.09469 11.47929 220.31522 0.65150 52303.49920 19.53 54800.00000 1 6 -1 Python S +S100004xa COM 2.24764 0.08394 5.82895 244.19476 253.67904 52596.11347 19.48 54800.00000 1 6 -1 Python C +S100004ya COM 2.69090 0.10129 11.77352 140.31185 295.18008 54628.18914 9.49 54800.00000 1 6 -1 Python C +S100004Ba COM 1.78440 0.23597 9.57082 195.71226 97.71112 54571.61042 20.64 54800.00000 1 6 -1 Python S +S100004Da COM 2.68462 0.08740 2.84191 92.31195 322.73258 51893.77685 9.46 54800.00000 1 6 -1 Python S +S100004Ea COM 2.75538 0.05666 2.75764 133.82341 175.05002 51945.68715 12.78 54800.00000 1 6 -1 Python C +S100004Fa COM 2.57832 0.02137 22.30218 131.59757 339.37881 51902.42760 9.10 54800.00000 1 6 -1 Python S +S100004Ga COM 2.87001 0.04274 9.62824 305.51825 267.46857 51255.34875 5.60 54800.00000 1 6 -1 Python C +S100004Ha COM 1.80594 0.42458 23.00934 10.78774 102.69741 51715.12847 9.17 54800.00000 1 6 -1 Python C +S100004Ja COM 2.42071 0.12901 9.42095 106.85807 227.31063 52198.81732 6.96 54800.00000 1 6 -1 Python S +S100004Ka COM 2.09524 0.17426 10.45685 124.62024 141.14607 51894.79504 5.77 54800.00000 1 6 -1 Python C +S100004Ma COM 2.68326 0.09993 9.85478 135.04684 282.08047 51688.12270 14.92 54800.00000 1 6 -1 Python C +S100004Na COM 1.75856 0.23567 5.71493 275.34566 148.52099 54778.81929 19.51 54800.00000 1 6 -1 Python S +S100004Oa COM 1.80419 0.19176 3.61590 70.63977 339.98715 54782.15673 16.06 54800.00000 1 6 -1 Python S +S100004Pa COM 2.42132 0.11216 12.45097 174.15002 122.70645 54150.99708 17.57 54800.00000 1 6 -1 Python S +S100004Qa COM 2.47788 0.24182 0.39052 139.05656 180.93271 54636.20207 12.83 54800.00000 1 6 -1 Python C +S100004Ra COM 1.75545 0.22384 4.12666 171.68972 148.04329 52479.09569 13.09 54800.00000 1 6 -1 Python S +S100004Sa COM 2.00717 0.11749 5.05019 33.45304 286.59036 54657.37984 11.87 54800.00000 1 6 -1 Python S +S100004Ta COM 2.25531 0.12996 13.73987 10.44149 264.20862 51864.83676 10.67 54800.00000 1 6 -1 Python C +S100004Ua COM 2.91991 0.07393 10.89173 8.63081 237.51268 54733.68366 15.24 54800.00000 1 6 -1 Python S +S100004Va COM 3.43224 0.13118 7.24802 231.48740 199.37843 53906.28608 12.75 54800.00000 1 6 -1 Python C +S100004Wa COM 2.12944 0.21155 27.22079 287.71504 102.95074 51704.74777 13.94 54800.00000 1 6 -1 Python S +S100004Xa COM 2.99777 0.04155 2.74167 155.50682 94.41194 54567.23469 13.66 54800.00000 1 6 -1 Python C +S100004Ya COM 2.15021 0.17790 13.40425 324.18713 215.12563 52109.37246 7.63 54800.00000 1 6 -1 Python C +S100004Za COM 2.59648 0.18426 16.25439 311.48191 118.73814 50902.89390 15.45 54800.00000 1 6 -1 Python C +S1000051a COM 2.66436 0.16692 13.22347 353.94720 262.38646 54329.62913 13.00 54800.00000 1 6 -1 Python S +S1000052a COM 2.22238 0.27820 7.58476 311.73068 352.90548 51222.06727 14.42 54800.00000 1 6 -1 Python S +S1000053a COM 2.90880 0.07704 22.55014 178.65557 303.93524 53887.56140 18.17 54800.00000 1 6 -1 Python C +S1000054a COM 2.07441 0.22202 12.34548 268.97129 90.19671 54717.32824 15.91 54800.00000 1 6 -1 Python C +S1000056a COM 2.96071 0.07256 15.79107 59.34707 24.73661 54709.04722 13.68 54800.00000 1 6 -1 Python C +S1000057a COM 2.31052 0.14449 12.22472 334.36677 12.89965 52220.06831 21.33 54800.00000 1 6 -1 Python C +S1000058a COM 2.36730 0.08873 1.25349 311.10524 115.43362 54273.19594 11.23 54800.00000 1 6 -1 Python S +S1000059a COM 3.00130 0.04922 2.83952 309.91740 72.59980 53867.83002 18.14 54800.00000 1 6 -1 Python C +S100005aa COM 2.55188 0.08015 2.32582 22.48252 305.03094 51905.61471 16.43 54800.00000 1 6 -1 Python S +S100005ba COM 2.26398 0.16811 9.25636 73.74830 36.46242 54475.04784 21.26 54800.00000 1 6 -1 Python C +S100005ca COM 2.26132 0.04880 7.49512 72.72240 89.75307 54668.18779 13.89 54800.00000 1 6 -1 Python C +S100005ea COM 1.74381 0.28447 25.01598 178.01568 162.03541 54481.12099 12.74 54800.00000 1 6 -1 Python C +S100005ha COM 2.95859 0.05836 12.00745 237.73778 227.65579 54368.13296 14.06 54800.00000 1 6 -1 Python S +S100005ia COM 2.92913 0.04731 10.58170 326.31297 301.04053 51363.00148 11.89 54800.00000 1 6 -1 Python S +S100005ja COM 2.79261 0.03135 8.34409 216.07386 178.10999 54028.15990 14.50 54800.00000 1 6 -1 Python S +S100005na COM 2.00977 0.22702 7.98024 224.06146 176.58030 51897.88849 16.49 54800.00000 1 6 -1 Python C +S100005oa COM 2.90544 0.07370 12.86643 200.48228 227.49879 54198.11537 18.04 54800.00000 1 6 -1 Python C +S100005qa COM 2.21613 0.10748 12.49431 351.72208 212.22605 52520.59061 19.69 54800.00000 1 6 -1 Python S +S100005ra COM 2.37239 0.22344 2.11809 117.61104 98.06614 51529.19425 9.67 54800.00000 1 6 -1 Python C +S100005sa COM 1.83509 0.19854 6.23730 336.93631 316.55033 54782.09011 12.23 54800.00000 1 6 -1 Python S +S100005ta COM 2.63056 0.10308 1.66215 347.66459 339.30992 51527.93758 8.77 54800.00000 1 6 -1 Python C +S100005ua COM 2.53463 0.17015 5.82545 358.92694 61.89303 51685.04478 18.18 54800.00000 1 6 -1 Python S +S100005va COM 2.26776 0.16728 14.30533 172.79193 159.73954 54331.07766 11.58 54800.00000 1 6 -1 Python S +S100005wa COM 2.94316 0.04380 9.27267 334.01953 48.13343 54629.32382 20.04 54800.00000 1 6 -1 Python C +S100005xa COM 2.73265 0.10832 5.18672 255.95299 110.93323 54144.81025 9.69 54800.00000 1 6 -1 Python C +S100005za COM 2.75100 0.07415 10.65537 56.41756 20.32918 54795.97416 7.58 54800.00000 1 6 -1 Python S +S100005Aa COM 2.49481 0.16598 6.58051 328.52753 306.23721 53943.76778 19.66 54800.00000 1 6 -1 Python S +S100005Ba COM 2.75760 0.03421 6.78572 126.76182 357.64718 54591.57067 5.74 54800.00000 1 6 -1 Python S +S100005Da COM 2.15435 0.18062 13.12941 132.49298 276.02311 52331.95409 16.28 54800.00000 1 6 -1 Python S +S100005Ea COM 2.44050 0.22124 11.95418 294.11083 343.08446 53901.22704 16.69 54800.00000 1 6 -1 Python S +S100005Fa COM 2.31636 0.25845 16.90127 268.13428 145.95868 51751.63798 13.50 54800.00000 1 6 -1 Python C +S100005Ga COM 2.59000 0.12036 1.84175 180.58868 128.80125 51250.41531 12.40 54800.00000 1 6 -1 Python C +S100005Ja COM 2.79736 0.05369 9.93166 99.57869 353.32806 51357.57899 5.37 54800.00000 1 6 -1 Python C +S100005La COM 2.16670 0.17186 13.48698 30.36547 139.90004 52417.28491 14.85 54800.00000 1 6 -1 Python S +S100005Ma COM 2.08234 0.18206 4.72726 199.61412 50.30595 52182.91992 20.37 54800.00000 1 6 -1 Python S +S100005Na COM 2.85377 0.05508 10.44754 214.61571 355.95593 51500.38796 13.53 54800.00000 1 6 -1 Python C +S100005Oa COM 2.17869 0.16454 15.00211 137.18197 165.50017 54219.28715 16.01 54800.00000 1 6 -1 Python C +S100005Pa COM 2.48827 0.16108 14.87465 231.65959 203.90173 51764.15996 10.98 54800.00000 1 6 -1 Python C +S100005Ta COM 2.46925 0.09901 15.91848 55.92438 79.39682 54717.54766 13.44 54800.00000 1 6 -1 Python C +S100005Ua COM 2.86588 0.04752 10.57214 53.74647 73.08663 54775.04431 8.88 54800.00000 1 6 -1 Python S +S100005Xa COM 2.39520 0.23168 9.71825 134.59662 176.67711 50996.86305 5.30 54800.00000 1 6 -1 Python S +S100005Za COM 2.23740 0.21174 17.34093 38.29412 341.31612 51694.37415 18.00 54800.00000 1 6 -1 Python C +S1000061a COM 2.60914 0.12444 12.19123 135.51397 150.81543 51611.13025 7.57 54800.00000 1 6 -1 Python C +S1000062a COM 2.19827 0.06649 6.41581 202.90477 341.15154 52733.33475 15.29 54800.00000 1 6 -1 Python S +S1000065a COM 2.28649 0.21504 7.13818 204.37856 17.72011 54019.08238 13.72 54800.00000 1 6 -1 Python C +S1000066a COM 3.10807 0.02088 7.01182 343.44830 311.75980 51402.68177 15.50 54800.00000 1 6 -1 Python S +S1000067a COM 2.81663 0.08726 9.60115 172.79702 294.81818 51375.14664 5.54 54800.00000 1 6 -1 Python S +S1000068a COM 2.74193 0.07745 10.13772 272.18003 244.56431 54175.53423 18.78 54800.00000 1 6 -1 Python S +S1000069a COM 1.67906 0.28264 22.27402 321.73686 115.54672 54279.75492 10.83 54800.00000 1 6 -1 Python S +S100006aa COM 2.18759 0.15978 12.59899 226.64414 184.53931 54673.22262 12.09 54800.00000 1 6 -1 Python S +S100006ba COM 2.31899 0.16823 7.32074 358.95023 101.80641 52214.94226 8.22 54800.00000 1 6 -1 Python C +S100006da COM 2.36737 0.13527 16.75529 295.65210 195.43377 54449.61796 17.09 54800.00000 1 6 -1 Python S diff --git a/test/input.config b/test/input.config index 6dd01e6..8a3f482 100644 --- a/test/input.config +++ b/test/input.config @@ -1,15 +1,21 @@ [ASTEROID] -Population model = sample-S0.ssm +Population model = asteroids.s3m SPK T0 = 59200 -nDays = 4300 +nDays = 800 SPK step = 30 nbody = T +Input format = whitespace [SURVEY] -Survey database = sample-kraken_2026.db +Survey database = sample-lsst_baseline_v1p4_test.db Field1 = 1 nFields = 1000 Telescope = I11 +Surveydbquery = SELECT observationId,observationStartMJD,fieldRA,fieldDEC,rotSkyPos FROM SummaryAllProps order by observationStartMJD + +[OUTPUT] +Output file = stdout +Output format = csv [CAMERA] Camera = instrument_polygon.dat diff --git a/test/sample-S0.ssm b/test/sample-S0.ssm deleted file mode 100644 index 11b9d4e..0000000 --- a/test/sample-S0.ssm +++ /dev/null @@ -1,11 +0,0 @@ -!!OID FORMAT q e i node argperi t_p H t_0 INDEX N_PAR MOID COMPCODE -S000001 COM 0.125145872944800E+01 0.382243999742000E+00 0.930472101775800E+01 0.252063850160767E+03 0.185610748171983E+03 0.540679699637468E+05 0.103150000000000E+02 0.544660000000000E+05 1 6 0.266957349145947E+00 MOPS -S00000t COM 0.952105479028000E+00 0.504888475701000E+00 0.489909834747200E+01 0.148881068605772E+03 0.399497895864360E+02 0.544863229280800E+05 0.136750000000000E+02 0.544660000000000E+05 1 6 0.158834222877167E-01 MOPS -S00000u COM 0.770553215209000E+00 0.561724673487000E+00 0.206023388900130E+02 0.248139936186204E+03 0.850426085749960E+02 0.547066818223834E+05 0.137160000000000E+02 0.544660000000000E+05 1 6 0.722279012854815E-01 MOPS -S000015 COM 0.154159694141000E+00 0.938877338769000E+00 0.482234075455060E+02 0.105219186748093E+03 0.386582341847550E+02 0.547368815041081E+05 0.146900000000000E+02 0.544660000000000E+05 1 6 0.322721218343073E-01 MOPS -S000017 COM 0.608735452311000E+00 0.732492950434000E+00 0.131087038782420E+02 0.129139490267795E+03 0.311726511880464E+03 0.542705492854125E+05 0.147260000000000E+02 0.544660000000000E+05 1 6 0.127237709659408E+00 MOPS -S000021 COM 0.281032037287000E+00 0.878997705355000E+00 0.240786423195710E+02 0.135007398381801E+03 0.587976799736380E+02 0.540224542604236E+05 0.154560000000000E+02 0.544660000000000E+05 1 6 0.126566961464279E-01 MOPS -S000022 COM 0.910460749123000E+00 0.736667824763000E+00 0.114930172874540E+02 0.115744198339836E+03 0.328571998413560E+03 0.533828922545734E+05 0.154650000000000E+02 0.544660000000000E+05 1 6 0.829286662856817E-02 MOPS -S000023 COM 0.407748445252000E+00 0.597056085926000E+00 0.339044491911130E+02 0.294487403045595E+03 0.333404294906781E+03 0.544368441092923E+05 0.154750000000000E+02 0.544660000000000E+05 1 6 0.232562842116341E+00 MOPS -S00002b COM 0.108676548629200E+01 0.624200488727000E+00 0.216866761445080E+02 0.157115012852228E+03 0.325254912423030E+03 0.545901488726900E+05 0.155500000000000E+02 0.544660000000000E+05 1 6 0.153904496140171E+00 MOPS -S000044 COM 0.836323486528000E+00 0.406845980820000E+00 0.239981351289780E+02 0.172289084710415E+03 0.357925128655503E+03 0.545545563720268E+05 0.163210000000000E+02 0.544660000000000E+05 1 6 0.157737117294753E+00 MOPS diff --git a/test/sample-lsst_baseline_v1p4_test.db b/test/sample-lsst_baseline_v1p4_test.db new file mode 100755 index 0000000..5e17221 Binary files /dev/null and b/test/sample-lsst_baseline_v1p4_test.db differ