Auto scheduling

You need to pull the latest for the updates. The auto-scheduler is separate from the other SatNOGS parts.

1 Like

Uhm, those changes are OK, but are not providing the possibility to select good passes and using a minimum horizon. My expectation is to select those passes that reach a certain minimum elevation, and from those passes, the auto-scheduling schedules the observation with the given minimum horizon value, or the station default value for minimum horizon. Essentially, I like to schedule good passes of NOAA satellites, and then, use a low minimum horizon for a long period to collect data. I am not interested in low passes of such satellites.

I think the implementation needs a separate option. Something like a --min-elevation or --min-above-horizon option that would filter the satellite passes that do not reach such elevation above horizon. And from there on, keep using the --min-horizon as currently implemented.

I am confused. How are your --min-elevation option and the implemented --min-horizon option different?

The option --min-horizon sets the value for the ground station minimum horizon, which can be different from the one configured by the station’s owner. The new option I propose is for filtering the satellite passes. When a satellite pass does not reach --min-elevation (or --min-above-horizon), then, it will not be scheduled. That allows selecting good passes.

This is exactly what the --min-horizon option does. This option sets the minimum_altitude variable, which otherwise uses the ground station minimum horizon.

This value is then used in two ways.

  1. Only passes with a maximum elevation exceeding the minimum_altitude are considered, with the additional check that the pass must be longer than 2 minutes (min_pass_duration from settings.py).
    See Files · master · librespacefoundation / SatNOGS / satnogs-auto-scheduler · GitLab.

  2. The pass starts and ends at the minimum_altitude, unless the -z option is used to schedule a pass at zero altitude. See schedule_single_station.py · master · librespacefoundation / SatNOGS / satnogs-auto-scheduler · GitLab.

Does that clarify the implementation?

1 Like

Yes. Let me rephrase as well, in case you see improvements in usability of the options:

  1. The --min-horizon is to specify which satellite passes to select. That means, they have to exceed the value given. And this option also means that the start and end of the pass would be set at that min-horizon value. And a minimum duration of 2 minutes is required for a valid pass.
  2. The user can add the -z option so that the scheduling would start/end at zero altitude.

If the user likes to select passes that reach the minimum horizon (high values to filter good passes), and also be able to specify a custom value for the start/finish of that observation (pass low values to allow time to gather the data for those passes), then, at the moment it is not possible. That is why I though on a new option.

So if I understand you correctly, you’d like to give an altitude value to the -z option. So something like -m 30 -z 10 would only schedule passes with a maximum elevation above 30 degrees, and it would schedule those passes for the time they are above 10 degrees elevation. Is that what you are interested in?

Correct. The -z option seems a bad name, as it is connected to zero altitude, but otherwise so is it.

1 Like

Let me chime in here with an auto scheduled pass image;

image

This pass is typically what I am seeing with the auto schedule set at -m 30.
My station is set for minimum of 10 elevation.
So the auto scheduler cuts off a lot of the pass.
I think this is what @pleira is talking about?

2 Likes

Thanks @thebaldgeek and @pleira!

I added the -r option to set an elevation for the satellite rise and set. I kept the -z option as some people may be using that. Currently, -z overrides whatever was set with -r.

Let me know if it works as expected. You’ll need to pull the latest changes.

Also note that users can now set the rise/set elevation higher than the culmination elevation. I don’t see why anyone would do that, but I also don’t think it breaks anything.

Fantastic!
Just pulling the update now. Lets see how we go.
I am going to run -r 10 -m 40

1 Like

Can confirm the -r is working well.
image

Here is an auto scheduled pass. Exactly as needed.

Thanks very much for your work. Greatly appreciated.
Its good to keep my station busy without the mindless clicking on the scheduling page.

3 Likes

Hello,

I’d been able to install and use successfully the satnogs-auto-scheduler, thank you for such a tool.

However, after the run no passes has been scheduled.

At the end of the run I get the following message:

2019-08-12 16:57:23,187 - root - INFO - Authentication failed

Now, at the ./.env/env-dist I did setup the id/password I’m using to log at the network.satnogs.org site and where my station is defined.

Reviewing past messages there are references to use the “old” network.satnogs.org but I have no way to know whether my id is using the old or the new authentication method (¿how could I know?).

I do have a working id defined at the network-dev.satnogs.org site but no station defined there.

So I would like to ask what should I actually use to operate schedule_single_station.py

  • ¿Add some option or feature to the run to define the authentication method?

  • ¿Move my station to the development environment?

  • ¿Get somehow an id from the previous (older) authentication methods?

  • ¿Other?

Thanks in advance.

73 de Pedro, LU7DID (ID=499)

1 Like

You need to setup the username/password in the .env file (not in .env/env-dist).

Thank you.

Now the .env file has the following data:

NETWORK_USERNAME = ‘lu7did’
NETWORK_PASSWORD = ‘********’

Actual password used instead of “*****…”, and executing the command

python /home/pi/satnogs-auto-scheduler/schedule_single_station.py -s 499 -d 1.2 -P priorities_499.txt -T -f -l INFO

Priorities are set for CW APT and SSTV modes in order to limit the scope of the search, the results are

2019-08-12 18:00:11,560 - root - INFO - Requesting information for ground station 499
2019-08-12 18:00:12,881 - root - INFO - Ground station information retrieved!
2019-08-12 18:00:13,089 - root - INFO - Finding all passes for 473 satellites:
100%|##########| 473/473 [00:48<00:00, 10.63it/s]
2019-08-12 18:01:02,099 - root - INFO - Requesting scheduled passes for ground station 499
2019-08-12 18:01:06,073 - root - INFO - Scheduled passes for ground station 499 retrieved!
2019-08-12 18:01:06,086 - root - INFO - Found 5 scheduled passes between 2019-08-12 21:00:11 and 2019-08-12 22:12:11 on ground station 499
2019-08-12 18:01:06,091 - root - INFO - 6 passes selected out of 79, 2453 s out of 4238 s at 57.873% efficiency
2019-08-12 18:01:06,092 - root - INFO - GS | Sch | NORAD | Start time | End time | El | Priority | Transmitter UUID | Mode | Satellite name
2019-08-12 18:01:06,094 - root - INFO - 499 | 1 | 27844 | 2019-08-12T20:56:12 | 2019-08-12T21:02:19 | 14 | 1.000000 | mqQF9JxmD4KB6MqTVXqQBQ | |
2019-08-12 18:01:06,096 - root - INFO - 499 | 1 | 27848 | 2019-08-12T21:06:47 | 2019-08-12T21:14:20 | 17 | 1.000000 | aBHGFxMopeCscUYRyiYdXC | |
2019-08-12 18:01:06,097 - root - INFO - 499 | | 42759 | 2019-08-12T21:17:04 | 2019-08-12T21:25:16 | 39 | 1.000000 | qPbeGpVSxXnJ4YMfBRfG92 | CW | ZHUHAI-1 02 (CAS-4B)
2019-08-12 18:01:06,098 - root - INFO - 499 | 1 | 35935 | 2019-08-12T21:31:13 | 2019-08-12T21:37:41 | 16 | 1.000000 | WjSuDmnkX32dASG7NqajhU | |
2019-08-12 18:01:06,099 - root - INFO - 499 | 1 | 40911 | 2019-08-12T21:46:21 | 2019-08-12T21:49:50 | 70 | 1.000000 | HReEBxwoWJDuuvF5CfiyET | |
2019-08-12 18:01:06,101 - root - INFO - 499 | 1 | 33499 | 2019-08-12T21:57:46 | 2019-08-12T22:06:50 | 46 | 1.000000 | MquDcKUEW6mR3VP3M2vAdQ | |
2019-08-12 18:01:08,104 - root - INFO - Authentication failed

Which seems to still having a problem of authentication.

Thank you for any advice.

73 de Pedro, LU7DID

Just for a sanity check, what does
ls -la of /home/pi/satnogs-auto-scheduler show?

Thank you.
pi@mucrux:~ $ ls -la /home/pi/satnogs-auto-scheduler
total 136
drwxr-xr-x 3 pi pi 4096 Aug 12 18:34 .
drwxr-xr-x. 25 pi pi 4096 Aug 12 18:35 …
-rw-r–r-- 1 pi pi 248 Aug 12 18:00 .env
drwxr-xr-x 8 pi pi 4096 Aug 12 13:16 .git
-rw-r–r-- 1 pi pi 79 Aug 12 13:16 .gitignore
-rw-r–r-- 1 pi pi 33893 Aug 12 13:16 LICENSE
-rw-r–r-- 1 pi pi 2641 Aug 12 13:16 README.md
-rw-r–r-- 1 pi pi 185 Aug 12 13:16 env-dist
-rwxr-xr-x 1 pi pi 1828 Aug 12 18:33 planSatNOGS.sh
-rw-r–r-- 1 pi pi 3465 Aug 12 14:48 priorities_37.txt
-rw-r–r-- 1 pi pi 1485 Aug 12 18:33 priorities_499.txt
-rw-r–r-- 1 pi pi 61 Aug 12 13:16 requirements.txt
-rwxr-xr-x 1 pi pi 15980 Aug 12 13:16 schedule_single_station.py
-rw-r–r-- 1 pi pi 522 Aug 12 13:16 settings.py
-rw-r–r-- 1 pi pi 597 Aug 12 14:31 settings.pyc
-rw-r–r-- 1 pi pi 932 Aug 12 13:16 setup.cfg
-rw-r–r-- 1 pi pi 15041 Aug 12 13:16 utils.py
-rw-r–r-- 1 pi pi 11813 Aug 12 14:31 utils.pyc

the .sh file is a simple script calling the python scheduler.

73 de Pedro, LU7DID

Most likely you do not have the old authentication. @fredy or @pierros may be able to help you with this.

1 Like

Thank you, I’ll be waiting for @fredy or @pierros’s help on this one.

73 de Pedro, LU7DID

I’ve just sent you a pm.

1 Like