def build(filename): filehandle = storage.open_vos_or_local(filename, "rb") filestr = filehandle.read() filehandle.close() input_mpc_lines = filestr.split('\n') mpc_observations = [] mag = [] for line in input_mpc_lines: mpc_observation = mpc.Observation.from_string(line) if mpc_observation is not None: if mpc_observation.mag is not None and mpc_observation.mag > 0: mag.append(mpc_observation.mag) mpc_observations.append(mpc_observation) mpc_observations.sort(key=lambda obs: obs.date.jd) orbit = Orbfit(mpc_observations) mag = numpy.array(mag) print(orbit.residuals) print( "{:10s} {:7.2f} {:7.2f} {:7.3f} {:7.3f} {:7.3f} {:7.3f} {:7.3f} {:7.3f} {:7.3f}" .format(orbit.name, orbit.a, orbit.da, orbit.e, orbit.de, orbit.inc, orbit.dinc, orbit.distance, mag.mean(), mag.std()))
def summarize(orbit): for observation in orbit.observations: print(observation.to_string()) orbit = Orbfit(orbit.observations) print("") print(orbit) orbit.predict(orbit.observations[0].date) coord1 = orbit.coordinate orbit.predict(orbit.observations[-1].date) coord2 = orbit.coordinate motion_rate = coord1.separation(coord2).arcsecs / ( orbit.arc_length * 24 ) # how best to get arcsec moved between first/last? print("{:>10s} {:8.2f}".format('rate ("/hr)', motion_rate)) orbit.predict( '2014-04-04') # hardwiring next year's prediction date for the moment print("{:>10s} {:8.2f} {:8.2f}\n".format( "Expected accuracy on 4 April 2014 (arcsec)", orbit.dra, orbit.ddec)) return
def print_orbfit_info(self): #TODO: this should not be here. print Orbfit( self.get_writer().get_chronological_buffered_observations())
from ossos.orbfit import Orbfit date = '2016-10-24T16:00:00' # lightcurve_targets = '/Users/michele/Dropbox/Telescope proposals/Subaru ' \ # 'proposal_2015A_lightcurves/lightcurve_targets.txt' ossinpath = '/Users/bannisterm/Dropbox/OSSOS/measure3/ossin/tmp/' #'vos:OSSOS/dbaseclone/ast/' # outfile = '/Users/bannisterm/Desktop/{}.txt'.format(date) # '/Users/michele/Dropbox/Telescope proposals/Subaru proposal/lc_pos_20150414.txt' with open(outfile, 'w') as ofile: ofile.write( 'Target RA (hrs) DEC m_r delta RA (") delta DEC (") Time predicted\n') # with open(lightcurve_targets, 'r') as infile: # lines = infile.readlines() # for line in lines: # obj, mag = line.split('\t') for kbo_filename in os.listdir(ossinpath): mpc_observations = mpc.MPCReader(ossinpath + kbo_filename).mpc_observations orbit = Orbfit(mpc_observations) orbit.predict(date=date) with open(outfile, 'a') as ofile: ofile.write("{:>10s} {:>10s} {:6.2f} {:6.2f} {:>10s}\n".format( orbit.name, orbit.coordinate.to_string('hmsdms', sep=':'), # orbit.coordinate.dec.to_string('hmsdms'), # need to add mag back in orbit.dra, orbit.ddec, date))