Satnogs-auto-scheduler priority examples

Hi all,

can anyone explain how to setup the priorities_NNN.txt file for scheduling only certain modes or sats ?

The priorities_37.txt example files reported in:

is not that clear to me:

awk ‘{if ($3>=80) print $0 }’ ${TRM_FILE} | grep -e “FSK” | awk ‘{printf("%s 1.0 %s\n",$1,$2)}’ > ${PRIO_FILE}
awk ‘{if ($3>=0) print $0 }’ ${TRM_FILE} | grep -e “BPSK1k2” | awk ‘{printf("%s 1.0 %s\n",$1,$2)}’ >> ${PRIO_FILE}
awk ‘{if ($3>=0) print $0 }’ ${TRM_FILE} | grep -e “BPSK9k6” | awk ‘{printf("%s 1.0 %s\n",$1,$2)}’ >> ${PRIO_FILE}
awk ‘{if ($3>=80) print $0 }’ ${TRM_FILE} | grep -e “MSK” | awk ‘{printf("%s 1.0 %s\n",$1,$2)}’ >> ${PRIO_FILE}

this lines are probably for filtering modes… but then there is a:

sort -n -k 4 ${TRM_FILE} | grep -e “DUV” | awk ‘{printf("%s 1.0 %s\n",$1,$2)}’ >> ${PRIO_FILE}

what is that for ? why here we are referencing another mode (DUV) ???

A couple of examples for scheduling only one sat (eg: ISS) or all sats using one mode (eg: CW) will be appreciated…

  thanks 

        Giampaolo

I’d recommend making your own script using priorities.sh as a template.

Just search your transmitter file (/tmp/cache/transmitters_1099.txt) for the ISS’s NORAD ID 25544 for available transmitters for your station/antenna.

grep 25544 /tmp/cache/transmitters_2134.txt

    25544 dPuSJJPpqqMuFTGNBLw77u 47 1033 2171 FSK
    25544 eozSf5mKyzNxoascs8V4bV 54 5190 9564 FM
    25544 GoiXuPtD6bXcQbY9vwxEFi 64 396 614 PSK
    25544 kGUAAw2FAT8MJ7cxCEUZJ5 0 0 31 FM
    25544 LX6y6kzNaamd2Z3XPa2GuC 1 1 68 AM
    25544 yPvKr7jdJZLHsHukp8dDQF 2 101 3609 AFSK

For all CW satellites in all bands

STATION_ID=2134
TRM_FILE="/tmp/cache/transmitters_${STATION_ID}.txt"
PRIO_FILE="cw.txt"
 
 awk '{if ($3>=10) print $0 }' ${TRM_FILE} | grep -e "CW" | awk '{printf("%s 1.0 %s\n",$1,$2)}' > ${PRIO_FILE}

then

 ./schedule_single_station.py -s 2134 -P ./cw.txt -M 1.0 -m 15 -d 1 -n -f
2022-06-10 11:21:54,251 - auto_scheduler.satnogs_client - INFO - Requesting information for ground station 2134
2022-06-10 11:21:54,745 - auto_scheduler.satnogs_client - INFO - Ground station information retrieved!
2022-06-10 11:21:54,766 - root - INFO - Finding all passes for 429 satellites:
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 429/429 [00:02<00:00, 161.50it/s]
2022-06-10 11:21:57,428 - auto_scheduler.satnogs_client - INFO - Requesting scheduled passes for ground station 2134
2022-06-10 11:21:58,116 - auto_scheduler.satnogs_client - INFO - Scheduled passes for ground station 2134 retrieved!
2022-06-10 11:21:58,117 - root - INFO - Found 1 scheduled passes between 2022-06-10 15:31:54 and 2022-06-10 16:31:54 on ground station 2134
2022-06-10 11:21:58,117 - root - INFO - 5 passes selected out of 99, 1971 s out of 3187 s at 61.841% efficiency
2022-06-10 11:21:58,117 - root - INFO - GS   | Sch | NORAD | Start time          | End time            | Duration |  El | Priority | Transmitter UUID       | Mode       | Satellite name 
2022-06-10 11:21:58,117 - root - INFO - 2134 |   N | 43138 | 2022-06-10T15:31:55 | 2022-06-10T15:38:19 | 0:06:24  |  33 | 1.000000 | iijuqxdAHNgnoK9BsziQjT | CW         | {'name': 'STEP CUBE LAB'}
2022-06-10 11:21:58,117 - root - INFO - 2134 |   Y | 99511 | 2022-06-10T15:39:19 | 2022-06-10T15:47:02 | 0:07:43  |  52 | 1.000000 | W245eMtup8MjQzkpKLvDqf |            | 
2022-06-10 11:21:58,117 - root - INFO - 2134 |   N | 51031 | 2022-06-10T15:57:00 | 2022-06-10T16:03:35 | 0:06:34  |  29 | 1.000000 | 7gbWReTpLJRuMaPnq3uEtu | CW         | {'name': 'NO-116'}
2022-06-10 11:21:58,117 - root - INFO - 2134 |   N | 47963 | 2022-06-10T16:09:57 | 2022-06-10T16:16:00 | 0:06:03  |  22 | 1.000000 | QX6hcT3CU7KHUAeRfcRiHV | CW         | {'name': 'DO-111'}
2022-06-10 11:21:58,117 - root - INFO - 2134 |   N | 43805 | 2022-06-10T16:18:56 | 2022-06-10T16:25:02 | 0:06:05  |  20 | 1.000000 | 35TsLzACK4hUeqgP5oWZ4j | CW         | {'name': 'Al Farabi 2'}
2022-06-10 11:21:58,117 - root - INFO - Done.

-n means display results but not schedule. The outputs above is my station 2134, update with your station ID accordingly

The scheduler is installed via the following methode.

Here a script that I use to schedule multiple satnogs stations via cron.

#!/usr/bin/env bash
#

GSSCH="${HOME}/satnogs/sas"
GS=(431 1466 1696 2173 2176)
GSC=
LOGLEVEL="${1:-WARNING}"

echo "#-------------------------------------------------------------------------------"
echo "#"
echo "#  Running satnogs-auto-schedular: $(date)"
echo "#"

for ID in "${GS[@]}"
do
  if [ ! -z "${ID}" ]; then
    echo "#  Schedule Circular obs for Ground Station: ${ID}"
    echo "#"
    "${HOME}"/satnogs/virtenv/bin/python \
    "${GSSCH}"/schedule_single_station.py -s "${ID}" \
    -d 1.5 -f -P "${HOME}"/satnogs/etc/priority_"${ID}".txt \
    -r 20 -m 25 -l "${LOGLEVEL}"
  else
    echo "#  No Circular Ground Stations"
    echo "#"
  fi
done

for ID in "${GSC[@]}"
do
  if [ ! -z "${ID}" ]; then
    echo "#  Schedule Cardinal point obs for Ground Station: ${ID}"
    echo "#"
    "${HOME}"/satnogs/virtenv/bin/python \
    "${GSSCH}"/schedule_single_station.py -s "${ID}" \
    -d 1.5 -f -P "${HOME}"/satnogs/etc/priority_"${ID}".txt \
    -r 25 -m 35 -b 200 -e 340 -l "${LOGLEVEL}" -T
  else
    echo "#  No Cardinal Ground Stations"
    echo "#"
  fi
done

echo "#"
echo "#  Done running satnogs-auto-schedular: $(date)"
echo "#"
echo "#-------------------------------------------------------------------------------"

An example priority_xxxx.txt file:

22825 0.1 fPpLQQAPMEHEcgK59hfaRA # EYESAT-1
30776 0.8 rjz4x8XfpQCvmM8qgArr9Z # FALCONSAT-3
# 37855 0.8 vYCZHtGQcfFqzT9fNTT6ei # EXP-1
39090 0.8 p7t87ZPTo5NTCxpY5P2bm5 # STRaND-1
39433 0.8 FXqQ5sidda2BwQHejix7Q8 # HUMSAT-D
# 39446 0.1 MeaPQ3CNsoHtXVZADFMvbc # UWE-3
39469 0.8 da9uCaUD8QmVECEeSp9iee # MCubed-2
40012 0.1 TfCk7i5Hmy2PEFd2kXvFjh # UniSAT-6
40014 0.8 NSXo8tGxmxpTUMsmSH34FF # BugSAT-1
40379 0.8 PMnr7eXunTq4zsS3WnbqxV # GRIFEX
# 41168 0.8 XsKJgznKU3tFxKKVsNRXGY # ATHENOXAT
41460 0.8 JLNq6FzBfaCvK7H5neMKiC # AAUSAT-4
42775 0.8 eNbJ9EXdQntFCmyMkA9dcv # AALTO-1
# 42790 0.8 AX8jbngoyxRsg58hKJxo42 # VZLUSAT-1 AFSK
42790 0.8 LVJfPNYASyQ3PUBvcpxLwn # VZLUSAT-1 CW
# 42792 0.8 iWkJWKys6FuiVgeguHL993 # ROBUSTA-1B
43199 0.8 MBfYJtqVLfZYtvpZ3mPvsb # SHAONIAN-XING
43616 0.8 GyJY8KwQgLxtQuFHFpcmk5 # ELFIN-B
43721 0.7 6L2qTXePZyNaFbLjNEyyaj # FACSAT-1
43738 0.8 zRVLBvJShk7Az3hE2Xa5eY # INNOSAT-2
43790 0.8 NwAjXMKwWFyQkeSz9Qn9RS # EAGLET-I
43793 0.8 etjM6oKkFxcm6pSQoYPRFo # CSIM-FD
43880 0.8 84i7RcGzy3QTCzM9GaRYmP # UWE-4
43908 0.8 oXe5XCa53jwWzCac5W75Bm # LUME-1
44083 0.8 fMLhy2PqSLaB8bQaTUkDXL # ASTROCAST 0.2
44103 0.8 TGP8nqLVquNWuYYytpbQ7A # AISTECHSAT-3
44365 0.8 BPCnonMHkQ2hdnPeN48g3L # PAINANI-1
44406 0.8 o5eiLkcaNbq6BX3gv6TB2c # LUCKY-7
46276 0.8 Qw2TVGZwgGffwVK5af7ukU # UPMSAT-2
46493 0.8 kFVFhBsSUHDC6SvuTkCcYn # DEKART
47438 0.8 5Q7KzwBcVDEmnSGNx8s9e4 # UVSQ-SAT
47926 0.8 2bccMFRDzckUGgXDMKSMR8 # TAUSAT-1
47945 0.8 ZTqzyXXsuhvotFW3ku4okj # UNISAT-7
47951 0.1 inuDxWAeEPU3avKeQZzBFJ # CubeSX-Sirius-HSE
47952 0.8 etxVG5sC2U68VFR3iSNehr # CubeSX-HSE
47960 0.8 Je3wDxy9S5BMKEkjQohiU4 # Orbicraft-Zorkiy
49017 0.8 5yKC4pdPgg5RTj2Wt5vrHD # IT-SPINS
49069 0.7 bgXVHYMujAEqBRPAKCDoRG # LEDSAT
49263 0.8 a5nA6sjzKTeqPgxoWQ4TyE # CUTE
49402 0.8 8qsv5m7tUfr45SJGb6LuNS # KOSEN-1
50466 0.8 SqMaeqweB8LkyaBcExhxQT # XW-3
51074 0.8 4sqnvQtUKndaBwezq9C6yx # DELFI-PQ
51085 0.8 7RKVacYwn9iHxWwDpqKhQs # VZLUSAT-2
# 51439 0.1 4RhwziCw3TxXgAowJWNCPe # GASPACS decayed
51657 0.9 UhN6iobrvypm6gfFFKvoKK # INSPIRESat-1
51658 0.8 J5x8dFUFR2uFSxbSFBtppi # INS-2TD
52191 0.8 A6kVsL6zNSBW7XhWEobRFC # SUCHAI-3
99399 0.8 QEuBJciJ7hdd9eLGZFEYoP # FORESAIL-1

crontab entry:

#
*/30 * * * * ${HOME}/bin/scheduler.sh > ${HOME}/logs/scheduler.log 2>&1
4 Likes

Hi satcolintel5 and PE0SAT

thanks a lot for the support... I'll try ASAP.

            Giampaolo
1 Like

What are the third, fourth and fifth fields in the transmitters_xxx file? How should they be used?

Thanks

The third (if you start numbering from 1) is the id of the transmitter (a satellite can have multiple transmitters, so priorities are for transmitters, not for satellites).

Anything from the # onwards is ignored by the software so there is no fourth or fifth field. You can add anything here to help you remember what the line is about. In the example above, it is used to tell a human reading the priorities file which satellite the line belongs to (since humans often think in terms of satellites instead of transmitters).

1 Like