Difference between revisions of "Operation"
(Add "Scheduling your first observation" section) |
(→Prerequisites) |
||
(31 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
− | + | __TOC__ | |
− | + | ==Scheduling your first test observation== | |
− | + | === Prerequisites === | |
− | |||
− | + | *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" | ||
− | + | 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 | + | === 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. | + | *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> | <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
Contents
Scheduling your first test observation
Prerequisites
- You've set up your SatNOGS client successfully
- You've created an account on the Network, 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 the community forum, the Matrix room, or on IRC at #satnogs on Libera Chat.
SatNOGS Network
- 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
, ortail -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
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 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.
- "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:
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'.
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.