Clarified culmination and rise/set elevations

merge-requests/43/head
cgbsat 2019-08-07 14:55:50 +00:00
parent b818f4e1af
commit d7f9f09018
1 changed files with 29 additions and 13 deletions

View File

@ -88,13 +88,18 @@ def main():
type=float, type=float,
default=1.0) default=1.0)
parser.add_argument("-m", parser.add_argument("-m",
"--min-horizon", "--min-culmination",
help="Minimum horizon [degrees; ground station default, minimum: 0, maximum: 90]", help="Minimum culmination elevation [degrees; ground station default, minimum: 0, maximum: 90]",
type=float,
default=None)
parser.add_argument("-r",
"--min-riseset",
help="Minimum rise/set elevation [degrees; ground station default, minimum: 0, maximum: 90]",
type=float, type=float,
default=None) default=None)
parser.add_argument("-z", parser.add_argument("-z",
"--horizon", "--horizon",
help="Don't respect station horizon (schedule 0 to 0 elevation)", help="Force rise/set elevation to 0 degrees (overrided -r).",
action="store_true") action="store_true")
parser.add_argument("-f", parser.add_argument("-f",
"--only-priority", "--only-priority",
@ -252,20 +257,31 @@ def main():
observer.lat = str(ground_station['lat']) observer.lat = str(ground_station['lat'])
observer.elevation = ground_station['altitude'] observer.elevation = ground_station['altitude']
# Set minimum altitude for pass elevation # Set minimum culmination elevation
if args.min_horizon is None: if args.min_culmination is None:
minimum_altitude = ground_station['min_horizon'] min_culmination = ground_station['min_horizon']
else: else:
if args.min_horizon < 0.0: if args.min_culmination < 0.0:
minimum_altitude = 0.0 min_culmination = 0.0
elif args.min_horizon > 90.0: elif args.min_culmination > 90.0:
minimum_altitude = 90.0 min_culmination = 90.0
else: else:
minimum_altitude = args.min_horizon min_culmination = args.min_culmination
# Set minimum rise/set elevation
if args.min_riseset is None:
min_riseset = ground_station['min_horizon']
else:
if args.min_riseset < 0.0:
min_riseset = 0.0
elif args.min_riseset > 90.0:
min_riseset = 90.0
else:
min_riseset = args.min_riseset
# Use minimum altitude for computing rise and set times (horizon to horizon otherwise) # Use minimum altitude for computing rise and set times (horizon to horizon otherwise)
if not args.horizon: if not args.horizon:
observer.horizon = str(minimum_altitude) observer.horizon = str(min_riseset)
# Minimum duration of a pass # Minimum duration of a pass
min_pass_duration = settings.MIN_PASS_DURATION min_pass_duration = settings.MIN_PASS_DURATION
@ -290,7 +306,7 @@ def main():
satellites.append(satellite(tle, uuid, success_rate, good_count, data_count, mode)) satellites.append(satellite(tle, uuid, success_rate, good_count, data_count, mode))
# Find passes # Find passes
passes = find_passes(satellites, observer, tmin, tmax, minimum_altitude, min_pass_duration) passes = find_passes(satellites, observer, tmin, tmax, min_culmination, min_pass_duration)
priorities, favorite_transmitters = read_priorities_transmitters(priority_filename) priorities, favorite_transmitters = read_priorities_transmitters(priority_filename)