Added minimum priority limit
parent
15d6b17739
commit
d1d950717a
|
@ -84,12 +84,12 @@ def main():
|
|||
default=datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S"))
|
||||
parser.add_argument("-d",
|
||||
"--duration",
|
||||
help="Duration to schedule [hours; default 1.0]",
|
||||
help="Duration to schedule [hours; default: 1.0]",
|
||||
type=float,
|
||||
default=1.0)
|
||||
parser.add_argument("-m",
|
||||
"--min-horizon",
|
||||
help="Minimum horizon [default 0.0]",
|
||||
help="Minimum horizon [degrees; default: 0, maximum: 90]",
|
||||
type=float,
|
||||
default=0.)
|
||||
parser.add_argument("-z",
|
||||
|
@ -105,7 +105,7 @@ def main():
|
|||
parser.add_argument("-w",
|
||||
"--wait",
|
||||
help="Wait time between consecutive observations (for setup and slewing)" +
|
||||
" [seconds; default: 0, max 3600]",
|
||||
" [seconds; default: 0, maximum: 3600]",
|
||||
type=int,
|
||||
default=0)
|
||||
parser.add_argument("-n",
|
||||
|
@ -119,6 +119,12 @@ def main():
|
|||
" KgazZMKEa74VnquqXLwAvD|. Priority is fractional, one transmitter " +
|
||||
"per line.",
|
||||
default=None)
|
||||
parser.add_argument("-M",
|
||||
"--min-priority",
|
||||
help="Minimum priority. Only schedule passes with a priority higher" +
|
||||
"than this limit [default: 0.0, maximum: 1.0]",
|
||||
type=float,
|
||||
default=0.)
|
||||
parser.add_argument("-l",
|
||||
"--log-level",
|
||||
default="INFO",
|
||||
|
@ -152,7 +158,18 @@ def main():
|
|||
wait_time_seconds = args.wait
|
||||
else:
|
||||
wait_time_seconds = 3600
|
||||
min_horizon_arg = args.min_horizon
|
||||
if args.min_priority < 0.0:
|
||||
min_priority = 0.0
|
||||
elif args.min_priority > 1.0:
|
||||
min_priority = 1.0
|
||||
else:
|
||||
min_priority = args.min_priority
|
||||
if args.min_horizon < 0.0:
|
||||
min_horizon_arg = 0.0
|
||||
elif args.min_horizon > 90.0:
|
||||
min_horizon_arg = 90.0
|
||||
else:
|
||||
min_horizon_arg = args.min_horizon
|
||||
cache_dir = "/tmp/cache"
|
||||
schedule = not args.dryrun
|
||||
search_transmitters = args.search_transmitters
|
||||
|
@ -271,7 +288,7 @@ def main():
|
|||
|
||||
# Get passes of priority objects
|
||||
prioritypasses, normalpasses = get_priority_passes(passes, priorities, favorite_transmitters,
|
||||
search_transmitters)
|
||||
search_transmitters, min_priority)
|
||||
|
||||
# Priority scheduler
|
||||
prioritypasses = sorted(prioritypasses, key=lambda satpass: -satpass['priority'])
|
||||
|
|
8
utils.py
8
utils.py
|
@ -305,7 +305,7 @@ def find_passes(satellites, observer, tmin, tmax, minimum_altitude, min_pass_dur
|
|||
return passes
|
||||
|
||||
|
||||
def get_priority_passes(passes, priorities, favorite_transmitters, search):
|
||||
def get_priority_passes(passes, priorities, favorite_transmitters, search, min_priority):
|
||||
priority = []
|
||||
normal = []
|
||||
for satpass in passes:
|
||||
|
@ -325,9 +325,11 @@ def get_priority_passes(passes, priorities, favorite_transmitters, search):
|
|||
* float(satpass['good_count']) / max_good_count
|
||||
else:
|
||||
satpass['priority'] = (float(satpass['altt']) / 90.0) * satpass['success_rate']
|
||||
normal.append(satpass)
|
||||
return (priority, normal)
|
||||
|
||||
# Add if priority is high enough
|
||||
if satpass['priority'] >= min_priority:
|
||||
normal.append(satpass)
|
||||
return (priority, normal)
|
||||
|
||||
def get_groundstation_info(ground_station_id):
|
||||
|
||||
|
|
Loading…
Reference in New Issue