Note
Click here to download the full example code
Starting exampleΒΆ
Out:
a : 7.2000e+06 x : -1.2919e+06
e : 5.0000e-02 y : 2.4776e+06
i : 7.5000e+01 z : 6.4974e+06
omega: 0.0000e+00 vx: -2.0314e+03
Omega: 7.9000e+01 vy: -6.8229e+03
anom : 7.2000e+01 vz: 2.5835e+03
Pass Station [0, 0] | Rise 0:00:01.278393 (3.3 min) 0:03:21.986139 Fall
Pass Station [0, 0] | Rise 1:42:09.895816 (4.8 min) 1:46:56.255912 Fall
Pass Station [0, 0] | Rise 3:26:18.682207 (4.8 min) 3:31:05.042303 Fall
Pass Station [0, 0] | Rise 5:09:51.673586 (5.9 min) 5:15:44.510134 Fall
Pass Station [0, 0] | Rise 6:53:13.159426 (6.2 min) 6:59:23.893479 Fall
Pass Station [0, 0] | Rise 23:39:43.179954 (5.0 min) 23:44:43.602377 Fall
Pass Station [0, 1] | Rise 0:00:01.278393 (3.3 min) 0:03:20.707746 Fall
Pass Station [0, 1] | Rise 1:42:26.514928 (4.4 min) 1:46:52.420732 Fall
Pass Station [0, 1] | Rise 3:26:42.971679 (4.4 min) 3:31:05.042303 Fall
Pass Station [0, 1] | Rise 5:10:10.849486 (5.6 min) 5:15:44.510134 Fall
Pass Station [0, 1] | Rise 6:53:33.613719 (5.8 min) 6:59:23.893479 Fall
Pass Station [0, 1] | Rise 23:39:43.179954 (5.0 min) 23:44:42.323984 Fall
Pass Station [0, 2] | Rise 0:00:01.278393 (3.0 min) 0:03:04.088633 Fall
Pass Station [0, 2] | Rise 1:42:09.895816 (4.4 min) 1:46:34.523226 Fall
Pass Station [0, 2] | Rise 3:26:34.022926 (4.2 min) 3:30:44.588011 Fall
Pass Station [0, 2] | Rise 5:10:05.735912 (5.6 min) 5:15:44.510134 Fall
Pass Station [0, 2] | Rise 6:53:23.386572 (6.0 min) 6:59:23.893479 Fall
Pass Station [0, 2] | Rise 23:39:43.179954 (4.7 min) 23:44:25.704871 Fall
import numpy as np
import pyorb
import sorts
from sorts.propagator import SGP4
eiscat3d = sorts.radars.eiscat3d
prop = SGP4(
settings = dict(
out_frame='ITRS',
),
)
orb = pyorb.Orbit(
M0 = pyorb.M_earth,
direct_update=True,
auto_update=True,
degrees=True,
a=7200e3,
e=0.05,
i=75,
omega=0,
Omega=79,
anom=72,
epoch=53005.0,
)
print(orb)
t = sorts.equidistant_sampling(
orbit = orb,
start_t = 0,
end_t = 3600*24*1,
max_dpos=1e4,
)
states = prop.propagate(t, orb.cartesian[:,0], orb.epoch)
passes = eiscat3d.find_passes(t, states)
for txi in range(len(eiscat3d.tx)):
for rxi in range(len(eiscat3d.rx)):
for ps in passes[txi][rxi]: print(ps)
Total running time of the script: ( 0 minutes 0.653 seconds)