satnogs-cruft/scripts/spacecruft-sched-obs

73 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
# Schedule observations.
# Run from cron typically
# Run thusly:
# spacecruft-sched-obs [station ID]
# Example:
# spacecruft-sched-obs 1133
#
# Add a crontab like this to automajically schedule:
# m h dom mon dow command
# 02 * * * * /home/jebba/devel/spacecruft/satnogs-cruft/scripts/spacecruft-sched-obs 1152
# 18 * * * * /home/jebba/devel/spacecruft/satnogs-cruft/scripts/spacecruft-sched-obs 1133
STATION="$1"
# Where the scheduling python script resides.
SCHEDDIR="/home/jebba/devel/spacecruft/satnogs-auto-scheduler"
# List of satellite priorities.
PRIORITIES="/home/jebba/devel/spacecruft/satnogs-cruft/conf/satnogs-priorities.conf"
# In hours:
DURATION=3
LOG_LEVEL="ERROR"
WAIT=0
MIN_CULMINATION=20
MIN_RISESET=20
MIN_PRIORITY=0
cd $SCHEDDIR
source .env
./schedule_single_station.py \
--duration="$DURATION" \
--log-level="$LOG_LEVEL" \
--wait="$WAIT" \
--min-riseset="$MIN_RISESET" \
--min-culmination="$MIN_CULMINATION" \
--priorities="$PRIORITIES" \
--min-priority="$MIN_PRIORITY" \
--station="$STATION"
exit 0
-s STATION, --station STATION
Ground station ID
-t STARTTIME, --starttime STARTTIME
Start time (YYYY-MM-DD HH:MM:SS) [default: now]
-d DURATION, --duration DURATION
Duration to schedule [hours; default: 1.0]
-m MIN_CULMINATION, --min-culmination MIN_CULMINATION
Minimum culmination elevation [degrees; ground station
default, minimum: 0, maximum: 90]
-r MIN_RISESET, --min-riseset MIN_RISESET
Minimum rise/set elevation [degrees; ground station
default, minimum: 0, maximum: 90]
-z, --horizon Force rise/set elevation to 0 degrees (overrided -r).
-f, --only-priority Schedule only priority satellites (from -P file)
-w WAIT, --wait WAIT Wait time between consecutive observations (for setup
and slewing) [seconds; default: 0, maximum: 3600]
-n, --dryrun Dry run (do not schedule passes)
-P PRIORITIES, --priorities PRIORITIES
File with transmitter priorities. Should have columns
of the form |NORAD priority UUID| like |43017 0.9
KgazZMKEa74VnquqXLwAvD|. Priority is fractional, one
transmitter per line.
-M MIN_PRIORITY, --min-priority MIN_PRIORITY
Minimum priority. Only schedule passes with a priority
higherthan this limit [default: 0.0, maximum: 1.0]
-T, --allow-testing Allow scheduling on stations which are in testing mode
[default: False]
-l [LOG_LEVEL], --log-level [LOG_LEVEL]
Set the logging output level. ['CRITICAL', 'ERROR',
'WARNING', 'INFO', 'DEBUG']