130 likes | 286 Views
SONG – Stellar Observations Network Group - The robotic software for the SONG network. S.Frandsen 1 , Eric Weiss 1 , J. Skottfelt 2 , M.F. Andersen 1 , F.Grundahl 1 , K. Harpsøe 2 and A.N. Sørensen 2 1) Danish AsteroSeismology Centre, University of Aarhus
E N D
SONG – Stellar Observations Network Group - The robotic software for the SONG network S.Frandsen1, Eric Weiss1, J. Skottfelt2, M.F. Andersen1, F.Grundahl1, K. Harpsøe2 and A.N. Sørensen2 1) Danish AsteroSeismology Centre, University of Aarhus 2) Niels Bohr Institute, Copenhagen University Charleston, September 2011
Overall software design drivers: • Optimize the design for longlived, stable operation and • for easy network operation: • Stable operating platform • Virtual servers • Database driven operations • Public domain reliable tools The 200 inch Hale telescope started operating in 1949
Network and database topology The table ’central’ Is replicated out to all active sites The tables journalxx are replicated from each site to the central database Linux = Debian Database = PostgreSQL
Role of the databases • At each site storage for all interesting instrumental parameters • Transfer of all informations by automatic replication from all sites to the central database • Automatic replication of all Observing Requests (ORs) entered in the central database to all sites. • Source of information for all web pages reporting the status of the network (the weatherpage for instance). • Note that replication of database tables only take place in one direction from or to the central database. • In addition SONG have replicating file systems, so that all data and files are present both on a remote and on a central file system. The files are automatically synchronized. • The bottom line: under normal operation all network communication is automatic Each instrument has its own table (shelf)
Elements of the software system • Daemons (top level, bottom levels) • Scripts that combine commands • Drivers for instruments • Operating system Daemons are programs that run continuosly waiting for commands or just watching and reacting on parameters in the system Drivers are programs or modules that can be called to control the hardware Scripts are Python or shell programs that combine commands
Observing Requests An observing request is entered via a web form or can be uploaded. Once it is submitted robotic operation takes over and the status can be monitored on the OR web pages. When done the data can be seen and downloaded by the observer.
Examples of driver code The programs that make the wheels turn round and the cameras take images. • preslittable : program that controls all motors and lamps for the spectrograph in the container • weatherserver: collects all weather information from the three weather units and stores them at regular intervals in the database • tcontrol: measures temperatures using up to 16 sensors and controls the enclosure for the spectrograph to a few hundreds of a degree • and many more The SONG site has three CCD cameras, three guide cameras and three web cameras for the time being.
Examples of scripts • observing scripts: started by the ORscheduler in order to make an observation. It receives only the ID of the OR and then collects the parameters from the database entry. The necessary commands are then executed with the selected parameters and a status returned to the ORscheduler. • error scripts: when the error daemon receives an error message it will search for a corresponding error handling script in a lookup table. The script will attempt to correct the problem. The scripts can be modified without stopping the error daemon. • calibration scripts: flat fields and other frames need to be obtained regularly. We have scripts that can produce all the needed frames. These scripts can be scheduled to run at regular intervals by entries in the database at the central server.
Examples of daemons • Low level: • tcsd - receives all commands to the TCS system and validates and schedules them in the correct order. • ……. • High level: • ORscheduler - this daemon reads all ORs in the database and selects and execute the selected OR, if conditions are right • monitor – checks weather and instrument conditions and opens and closes the dome, side ports, mirror covers according to a safe set of rules • errord – handles all errors that cannot be resolved by the individual driver programs or scripts
A little bit of ongoing astronomy Radial velocities of an eclipsing binary systems detected by Kepler. Ideal as a SONG target , V~10.8 Mp = 1.7+-0.3 Msun , Rp = 11.8 +-0.6 Rsun , Porb = 408 days
The RV solutions Ms/Mp = 0.84