Difference between revisions of "Operation"

From SatNOGS Wiki
(Add "Scheduling your first observation" section)
(Prerequisites)
 
(31 intermediate revisions by 10 users not shown)
Line 1: Line 1:
== Scheduling your first test observation ==
+
__TOC__
  
Assumptions:
+
==Scheduling your first test observation==
  
* You've set up your [[Raspberry Pi 3|SatNOGS client successfully]]
+
=== Prerequisites ===
* You've created an account on the [https://network-dev.satnogs.org/ Stage Environment], created a ground station, and it's showing up as "online"
 
  
(If you've run into any problems with those steps, check out the [[Troubleshooting]] page or ask for help in [https://community.libre.space/ the forums], [https://riot.im/app/#/room/#satnogs:matrix.org the SatNOGS Matrix room], or on IRC at #satnogs on Freenode.)
+
*You've set up your [[Raspberry Pi|SatNOGS client successfully]]
 +
*You've created an account on the [[Network]], created a ground station, and it's showing up as "online"
  
In the SatNOGS Network web page:
+
If you've run into any problems with those steps, check out the [[Troubleshooting]] page or ask for help in [https://community.libre.space/c/satnogs the community forum], [https://riot.im/app/#/room/#satnogs:matrix.org the Matrix room], or on IRC at #satnogs on Libera Chat.
  
* Navigate your ground station page in the Stage Environment (user name -> "My Profile" -> click on the name of your ground station).
+
=== SatNOGS Network ===
* Select the "Upcoming passes" tab.
+
[[File:Satnogs-network-cap.png|800px|SatNOGS Network Screen capture]]
* Look for a pass with a "schedule" button that isn't greyed out, and click it.
+
 
* In the "New Observation" page that comes up, click the "Calculate" button, then click "Schedule".
+
*Navigate your ground station page in the [https://network.satnogs.org Network Environment] (user name -> "My Profile" -> click on the name of your ground station).
* You should now see a page for that observation; in the "Waterfall" tab, you should see "Waiting for waterfall".
+
*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 [https://network.satnogs.org/observations/new/ "Observation new page"].
 +
 
 +
=== Ground Station ===
  
 
Now SSH to your ground station computer and run these steps:
 
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 <code>journalctl -f -u satnogs-client.service</code>, or <code>tail -F /var/log/supervisor/satnogs.log</code>
+
*Follow the satnogs-client logs. Depending on your setup, this might be done with <code>journalctl -f -u satnogs-client.service</code>, or <code>tail -F /var/log/supervisor/satnogs.log</code>
* Before the observation is scheduled to start, you should see your client wake up once per minute to check for new jobs:
+
*Before the observation is scheduled to start, you should see your client wake up once per minute to check for new jobs:
 +
 
 
<pre>
 
<pre>
 
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,477 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011
Line 30: Line 37:
 
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,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
 
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
 +
</pre>
 +
 +
*At the scheduled time for the observation, you should see the client kick off the observation:
  
</pre>
 
* At the scheduled time for the observation, you should see the client kick off the observation:
 
 
<pre>
 
<pre>
 
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,774 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011
Line 48: Line 56:
 
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,144 - satnogsclient - DEBUG - Received message: RPRT 0
 
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,144 - satnogsclient - DEBUG - Received message: RPRT 0
 
</pre>
 
</pre>
* After the observation is over, you should see the client submit the data to the SatNOGS network
+
 
 +
*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.
 
In the SatNOGS Stage Environment, refresh the Observation page.  You should now see a waterfall plot for your data.
Line 55: Line 64:
  
 
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.
 
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 ==
 +
{{Message|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'''
 +
**"Unknown" status means that algorithm wasn't able to determine automatically how to rate the observation. In this case user needs to give feedback by [[#Vetting artifacts| vetting the artifacts of the observation]].
 +
*'''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.
 +
 +
{{Message|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 [https://gitlab.com/librespacefoundation/satnogs/satnogs-network 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'.
 +
 +
{{Message|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.}}
 +
 +
{{Message|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 [https://community.libre.space/c/observations the Observations forum], where you can ask for feedback.
 +
[[File:Observation_with_discuss_button_highlighted.png|thumb|frame| 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:
 +
 +
<gallery heights="400px" widths="200px">
 +
File:Waterfall_20657_2017-10-15T10-07-51.png|'''With Signal''': Satellite is visible (bars-bursts of data in the middle). ''Note that the tangent-shaped lines are local noise''
 +
File:Waterfall_20534_2017-10-15T07-21-24.png|'''Without Signal''': Typical empty waterfall with no visible signals.
 +
File:Waterfall 20499 2017-10-15T07-17-32.png|'''With Signal''': Although drifting, satellite is clearly visible around the center.
 +
File:Waterfall 20506 2017-10-15T06-47-36.png|'''With Signal''': Faint CW signal around center-left. ''Note you might have to expand image to notice it''
 +
File:Waterfall_20571_2017-10-15T05-25-56.png|'''With Signal''': Clearly visible FM transmission. ''Note that the swinging lines are terrestrial noise''
 +
File:Waterfall 20483 2017-10-15T05-12-49.png|'''With Signal''': Straight line in the center bottom is a satellite. ''Note transmission on left bottom is the same satellite on a different frequency''
 +
File:Waterfall_145037_2018-05-26T15-18-18.png|'''With Signal''': Packets clearly seen in the middle of the observation. ''Note transmission starting middle bottom then moving to left and back to right *is* a space object (satellite). It is not the one we are tracking though (different TLE, thus this type if curve).''
 +
</gallery>
 +
 +
You can see more in [[Taxonomy_of_Observations]].
 +
 +
== Network Permissions Matrix ==
 +
 +
{| class="wikitable" style="text-align:center"
 +
|-
 +
! scope="col" |User
 +
! scope="col" |View and discuss observation
 +
! scope="col" |Vet observation
 +
! scope="col" |Delete future observation
 +
! scope="col" |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.
 +
 +
[[Category:Operate]]
 +
[[Category:Hardware]]
 +
[[Category:Software]]

Latest revision as of 15:49, 15 June 2021

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.