-
Notifications
You must be signed in to change notification settings - Fork 13
Description
I am trying to use the "fit_arc_blind" function to fit observations for an orbit determination. However I keep getting errors in the "time_ordered_satIDs" function at line 420 in correlate_tracks.py.
It keeps calling for a 'gps' attribute which does not seem to exist in the astropy "Time" object.
import numpy as np
from astropy.time import Time
import ssapy
from ssapy.correlate_tracks import ( fit_arc, fit_arc_blind, fit_arc_blind_via_track )
def sample_arc():
dtype = [('satID', 'int'), ('rStation_GCRF', 'float', (3,)), ('vStation_GCRF', 'float', (3,)),
('time', 'object'), ('ra', 'float'), ('dec', 'float'), ('pmra', 'float'), ('pmdec', 'float')]
times = np.linspace(1451085112, 1451128312, 10)
arc = np.zeros(10, dtype=dtype)
arc['satID'] = np.arange(10)
arc['rStation_GCRF'] = np.random.rand(10, 3)
arc['vStation_GCRF'] = np.random.rand(10, 3)
arc['time'] = [Time(t, format='gps') for t in times]
arc['ra'] = np.random.rand(10)
arc['dec'] = np.random.rand(10)
arc['pmra'] = np.random.rand(10)
arc['pmdec'] = np.random.rand(10)
return arc
arc = sample_arc()
print(arc['time'])
arc_fit = fit_arc_blind(arc, verbose=True, mode='angle', priors=None, propagator=None, damp=-1, orbitattr=None, optimizerkw={}, lsq=True, factor=2)
print(arc_fit)
[
]
Traceback (most recent call last):
File "/home/dev/ssapy-sandbox312/modules/tracks_test.py", line 25, in
arc_fit = fit_arc_blind(arc, verbose=True, mode='angle', priors=None, propagator=None, damp=-1, orbitattr=None, optimizerkw={}, lsq=True, factor=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dev/ssapy-sandbox312/lib/python3.12/site-packages/ssapy/correlate_tracks.py", line 420, in fit_arc_blind
satids_ordered, times_ordered = time_ordered_satIDs(arc, with_time=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dev/ssapy-sandbox312/lib/python3.12/site-packages/ssapy/correlate_tracks.py", line 1514, in time_ordered_satIDs
s = np.argsort(data['time'].gps)
^^^^^^^^^^^^^^^^
AttributeError: 'numpy.ndarray' object has no attribute 'gps'