Operation

From SatNOGS Wiki

Scheduling your first test observation

Prerequisites

If you've run into any problems with those steps, check out the Troubleshooting page or ask for help in the community forum, the Matrix room, or on IRC at #satnogs on Libera Chat.

SatNOGS Network

SatNOGS Network Screen capture

  • Navigate your ground station page in the Network Environment (user name -> "My Profile" -> click on the name of your ground station).
  • Select the "Upcoming passes" tab.
  • Look for a pass with a "schedule" button that isn't greyed out, and click it. Ensure it is a good (high) pass of an operational satellite (check the color bar on the satellite)
  • In the "New Observation" page that comes up, click the "Calculate" button, then click "Schedule".
  • You should now see a page for that observation; in the "Waterfall" tab, you should see "Waiting for waterfall".
  • You can also schedule multiple observations at once for a single satellite via the "Observation new page".

Ground Station

Now SSH to your ground station computer and run these steps:

  • Follow the satnogs-client logs. Depending on your setup, this might be done with journalctl -f -u satnogs-client.service, or tail -F /var/log/supervisor/satnogs.log
  • Before the observation is scheduled to start, you should see your client wake up once per minute to check for new jobs:
Oct 02 00:16:02 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:02,477 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011
Oct 02 00:16:02 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:02,479 - satnogsclient - DEBUG - Sending message: [{"origin": "network", "transmitter": "uXJ8NQNcH8b9osRc
Oct 02 00:16:02 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:02,488 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2
Oct 02 00:16:59 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:59,615 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next r
Oct 02 00:16:59 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:59,661 - apscheduler.executors.default - INFO - Running job "post_data (trigger: interval[0:02:00], next 
Oct 02 00:16:59 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:59,668 - apscheduler.executors.default - INFO - Job "post_data (trigger: interval[0:02:00], next run at: 
Oct 02 00:17:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:17:00,906 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011
Oct 02 00:17:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:17:00,908 - satnogsclient - DEBUG - Sending message: [{"origin": "network", "transmitter": "uXJ8NQNcH8b9osRc
Oct 02 00:17:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:17:00,912 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2
  • At the scheduled time for the observation, you should see the client kick off the observation:
Oct 02 00:18:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:00,774 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011
Oct 02 00:18:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:00,776 - satnogsclient - DEBUG - Sending message: [{"origin": "network", "transmitter": "uXJ8NQNcH8b9osRc
Oct 02 00:18:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:00,781 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,022 - apscheduler.executors.default - INFO - Running job "spawn_observer (trigger: date[2017-10-02 00:
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,082 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:4533
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,109 - satnogsclient - DEBUG - Sending message: p
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,110 - satnogsclient - DEBUG - Received message: 0.000000
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 0.000000
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,111 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:4532
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,115 - satnogsclient - DEBUG - Sending message: P 188.276951189 -0.0155264223734
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,119 - satnogsclient - DEBUG - Received message: RPRT -1
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,143 - satnogsclient - DEBUG - Sending message: F 436038107
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,144 - satnogsclient - DEBUG - Received message: RPRT 0
  • After the observation is over, you should see the client submit the data to the SatNOGS network

In the SatNOGS Stage Environment, refresh the Observation page. You should now see a waterfall plot for your data.

If that all worked -- congratulations! You've just successfully completed your first SatNOGS observation.

If it didn't work, don't feel bad -- it can take a few attempts before you get it right. Have a look at the Troubleshooting page for tips, and don't forget to contact the community if you need help.

Rating observations

Idea.png
The main purpose of rating observations is to know if the satellite/transmitter is alive, if it transmits in the listed frequency/ies, and if the TLEs we have are accurate.

Observations are rated automatically by algorithm based on specific criteria that depend on Artifacts. There are 4 different statuses:

  • Unknown
  • Good
    • "Good" status means that algorithm was able to determine the presence of the satellite in one of the artifacts of the observation.
  • Bad
    • "Bad" status means that algorithm wasn't able to determine the presence of the satellite in one of the artifacts of the observation.
  • Failed
    • "Failed" status means that algorithm was able to determine that something went wrong during the observation. There are two cases that fall under this category:
      • Absence of artifacts: In this case there are no uploaded artifacts by the station in a defined time period.
      • Malformed artifacts: In this case there are uploaded artifacts but with malformed or unexpected format, for example Audio artifact duration is different than the scheduled one.
Idea.png
Improving algorithm for automated rating is a work in progress. If you find an inconsistency you can open an issue about it or fix it in SatNOGS Network repository

Vetting artifacts

Currently vetting of Artifacts is only implemented for Waterfall artifact.

Waterfall

Status

Once waterfall is posted back in the Network by SatNOGS Client, by default, would be unvetted. User can manually vet waterfall, in waterfall tab, using one of the next choices:

  • With Signal
    • You should vet waterfall as "With Signal" when it is clear from the waterfall that the observed satellite is present. Keyboard Shortcut 'g'.
  • Without Signal
    • You should vet waterfall as "Without Signal" when by examining the waterfall it is obvious that the observed satellite isn't present. Keyboard Shortcut 'b'.
  • Unknown
    • You should leave or vet waterfall as "Unknown" when by examining the waterfall it is not clear if there is or not presence of the observed satellite. Keyboard Shortcut 'u'.
Idea.png
The expected signal in the majority of the cases, should be in the center of the waterfall following a vertical straight line. Exceptions could be satellites that are recently deployed and we don't have accurate TLE or satellites that have misbehaving transmitter.
Idea.png
If you are unsure about an observation, click the "Discuss" button, near the top right of the observation's page; that will post a link to it on the Observations forum, where you can ask for feedback.
Click the "Discuss" button to post in our web forum. (Note: this will only appear in the SatNOGS Network.)

Examples

Below is a collection of waterfalls with possible results of observations:

You can see more in Taxonomy_of_Observations.

Network Permissions Matrix

User View and discuss observation Vet observation Delete future observation Schedule observation
Non Authenticated All None None None
Authenticated All None None None
Station Owner (Future) All None None None
Station Owner (Offline) All Own(stations or observations) Own(stations or observations) None
Station Owner (Testing) All Own(stations or observations) Own(stations or observations) Own(stations)
Station Owner (Online) All All Own(stations or observations) All(online stations)
Moderator All All All All
Admin All All All All

Examples:

  • Authenticated user can view and discuss on all the observation. User can not vet or delete an observation. User can not schedule observation in any station.
  • Station Owner with at least one online station can view and discuss on all observations. Online station owner can vet or delete observations on stations that owns. Online station owner can vet or delete observation that has scheduled. Online station owner can schedule observations on all online stations.