|Home > Astronomy > Site Quality > Atmospheric Seeing at ING > Software of RoboDIMM|
The Software for RoboDIMM
The decision to outsource (subcontract) the software for RoboDIMM was in line with the "off-the-shelf" philosophy of the RoboDIMM project. It is also understandable because good quality software is the most critical and labour intensive component.
Collaboration with the contracted company, StarTel (Netherlands), has proved very successful. A fully functional program was delivered on time and StarTel keeps regular contact to offer improvements to the system and to gain ever more experience. See the links for contact details.
An important part of the subcontracting process was agreeing which functions the software should have and which it would not, mainly decided by RoboDIMM's operational procedure. The implementation is outlined in main features below, followed by a simplified description of the most important processes, each linked from the tables on the right.
Note: The programs were written in C++ on a RedHat Linux (PC) platform.
The main program for automatic monitoring. A collection of routines that control each of the processes essential to measuring the seeing. The robot runs some processes continuously in the background (Time keeping and Logging), while others are executed in sequence: from Finding the star and measuring CCD frames, to parking the telescope safely at the end of the night.
Administrates telnet sessions, setting up a command prompt by which the user can either start automatic monitoring (the 'Robot' program) or send commands to run sub-routines of that program ('manual' mode). The server also writes status messages, logs and sends warning emails to the user.
The Robot requires the server to be running, but the user normally exits it at the end.
Not essential to running the monitor, but makes it easier for the user by bringing together all the important control functions and status information. Controls the Robot through a telnet session, including command buttons. Continually updates display of the 4 seeing measurements, telescope parameters, targets available, the latest image available from the CCD and the currently active sub-process.
Once checked by the filter routine, the measurements and relevant simultaneous data are stored in a database on the RoboDIMM PC.
The database records the following data: UT at midpoint of seeing sample, the catalog number for the star, its listed V magnitude, the mean peak counts of thbbe horizontal and vertical image pairs, the telescope observing elevation, the CCD readout subwindow width, its height, the 4 FWHM measurements (hL, hT, vL, vT), the number of images sampled, the number used to measure motion statistics, the profile shape index and a validity flag.
The database can be queried using PostgresQL.
This runs continuously in the background, ensuring that the PC and telescope keep accurate time by connecting with the ING time service computer and internet time services. This is essential for accurate telescope pointing as well as time-stamping each measurement in the database.
When the program starts, it writes the updated UT and ST to the telescope onboard memory. It also writes the current telescope position to memory, by assuming this is at north pole park position, i.e. RA=ST, Dec=0. Start up and shutdown of the observing procedure are scheduled according to the calculated times for sunrise and sunset.
The program choses to abandon one target and slew to the next based on the calculated airmass, which again depends on time keeping.
The program regularly updates which targets from its catalogue file (the SAO catalog) are available to it, i.e. within a certain (configurable) distance of zenith and within a (configurable) magnitude range.
By default the magnitude range is V=2 to 4, but if a star is lost during observations, the program assumes it is due to cloud and switches to magnitude range V= -0.9 to 3 ('cloudy profile').
The currently available stars are assigned a priority that depends both on the amount of time they are above the zenith distance limit (their 'uptime') and their (catalogued) magnitude. A longer uptime generally assigns greater priority than a brighter magnitude, but in 'cloudy profile' the stars are listed in strict order of descending magnitude.
To further increase time spent taking seeing measurements,
the same object is observed until its zenith distance becomes greater than
the set limit (30 degrees). Then the telescope is moved to whichever star
is is at the top of the prioritised list as updated at that time.
Thus a star is usually followed for typically 3 hours, from near its lowest
limit in the east, through the meridian to its lowest point in the west.
In fact, several processes use CCD exposures in different ways: locating the star and focusing the telescope use full-frame readout, while the CCD is windowed to take the sample images for seeing measurement. All processes use the SExtractor program to extract star centroids from the (FITS) images and to measure (by index) the shape (ellipticity) of the stellar patches. The output from SExtractor is used to filter out bad images - e.g. the 10ms exposures in the seeing sample must each return exactly 4 centroids to be counted as valid.
The seeing sample takes 200 images (the number is configurable) and the process currently lasts typically 2.5 minutes, depending on the window size. The window size and position are adapative and depend on the mean bulk image motion (as opposed to the differential motion). These in turn are affected by the amount of wind buffeting and the telescope tracking (drift).
If no star image is returned by SExtractor, the program initiates a standard spiral search pattern, known as a Mosaic. This consists in moving the telescope by a step size just smaller than the field size (2.8 × 3.8 arcminutes approx.) first in one axis and then the other, taking a series of exposures at each position, until a star image is found. The immediate search is carried out in areas adjacent to the intial position, and then spirals out to include areas adjacent to these. If the telescope park position was correct at the beginning of the night, this results in the star being found within a few minutes.
If no star is found even after the search area reaches
its set maximum size, a warning is emailed to the user and the telescope is
The four star images formed by RoboDIMM are in the shape
of a cross (+). The centroid data returned by SExtractor for each valid exposure
are used to calculate distances between the horizontal and vertical image
pairs. The distances in x and y directions on the CCD are calculated separately,
giving a total of four distance measurements for which the variance is calculated.
These variances consistute two estimates each of "transverse" and "longitudinal"
image motion, which are used to calculate corresponding estimates of seeing
FWHM. More detail.
|Top | Back|