After a nice code push, scheduling observation functionality is now complete in SatNOGS Network website. The website is now able to dynamically calculate and schedule observation windows given a satellite for all available Ground Stations. The functionality works like this:
The observer enters the New Observation page. After selecting a Satellite and associated Transponder desired, the observer selects the timeframe for the observation. The timeframe selection is constrained in the future with maximum width being 8 hours (this could change as we scale the Network). After hitting 'Calculate Observation' the system returns a proposed Timeline of the observation, that includes the Ground Stations to be used and their individual observational windows. For this calculation we use PyEphem library and input the Ground Station locations, Satellite TLE, and timeframe desired.
Once the proposed timeline is reviewed and/or modified the observer can schedule the observation by hitting 'Schedule Observation'. This creates the Observation in our database as planned, together with its associated individual observations for the Stations.
The Stations, through the Client, query the Network API frequently for scheduled individual observations.They then execute them on time, and push back the recorded data to Network, for further analysis by the Observers (making them also publicly available!)
Optimization of the Scheduling functionality will be further pursued. Ideas like deduplication of overlapping (more than 50%) individual observations, and accounting for horizon constrains are already in the works, and will be evaluated (in terms of their efficiency) as the Network scales up.
Check our code here and a live dev website here.
(requires registration for testing the New Observation functionality. Feel free to abuse!)
You can check a sceencast of the workflow in SatNOGS Network below: