The TJO – OAdM robotic observatory: the scheduler

The TJO – OAdM robotic observatory: the scheduler
Josep Colomé*a, Kevin Casteelsa, Ignasi Ribasa, Xavier Franciscoa
a
Institut de Ciències de l’Espai (IEEC – CSIC)
ABSTRACT
The Joan Oró Telescope at the Montsec Astronomical Observatory (TJO – OAdM) is a small-class observatory working
under completely unattended control, due to the isolation of the site. Robotic operation is mandatory for its routine use.
The level of robotization of an observatory is given by its reliability in responding to environment changes and by the
required human interaction due to possible alarms. These two points establish a level of human attendance to ensure low
risk at any time. But there is another key point when deciding how the system performs as a robot: the capability to adapt
the scheduled observation to actual conditions. The scheduler represents a fundamental element to fully achieve an
intelligent response at any time. Its main task is the mid- and short-term time optimization and it has a direct effect on
the scientific return achieved by the observatory. We present a description of the scheduler developed for the TJO –
OAdM, which is separated in two parts. Firstly, a pre-scheduler that makes a temporary selection of objects from the
available projects according to their possibility of observation. This process is carried out before the beginning of the
night following different selection criteria. Secondly, a dynamic scheduler that is executed any time a target observation
is complete and a new one must be scheduled. The latter enables the selection of the best target in real time according to
actual environment conditions and the set of priorities.
Keywords: robotic observatory, telescope control system, unattended operation, software, scheduler
1. INTRODUCTION
The TJO – OAdM is a small-class observatory working under completely unattended control. It is located at an altitude
of 1570 m in the Montsec mountain range, 50 km south of the central Pyrenees and 50 km north of the city of Lleida
(Catalonia, Spain). It is endowed with a 0.8 m telescope, a classical 6.15 m dome, and a 2k × 2k back illuminated CCD
camera. It is also equipped with a set of sensors and support devices to continuously monitor the environment and the
system response. All this instrumentation is fully automated.
1
The observatory was designed to achieve a high level of robotic control. The latter is given by a reliable response to
environment changes and by low human interaction to control any routine process or possible alarms. These two points
establish the level of human attendance to ensure low risk at any time. Human attendance diminishes as robotization
level increases, and that includes all the processes involved in observatory operations. The logical and physical
architecture was designed and implemented to provide the capability of an automatic response to any triggered event. For
a detailed description of the architecture and the other important packages involved in the system control, we refer the
reader to the referenced documents1, 2.
The scheduler represents a fundamental element to fully achieve an intelligent response at any time. Its main task is the
mid- and short-term time optimization and it has a direct effect on the scientific return achieved by the observatory. In
the following sections we present a description of the scheduler developed for the TJO – OAdM as well as the most
important related packages.
2. GENERAL SCHEDULER DESIGN
Scheduling is a task allocation issue, where the execution is conditioned by one or more constraints. Research in this
field began in the mid-50s and has been developed in multiple areas3 given the horizontal nature of the applications. The
classic problem of scheduling is the job-shop problem (JSP), where N ideal tasks must be assigned to M identical
resources (machines, processors, etc.), while minimizing the total execution time.
* colome@ieec.cat
Studies on dynamic scheduling have been done in the recent years4. This case computes the best planning process while
introducing new tasks or new constraints and / or a change in the status of the initial constraints. In most cases there is no
single best approach to solve the planning system and, therefore, various mathematical algorithms should be considered5.
Astronomical observations require specific conditions for each particular case, such as the instrument to use, the sky
visibility or brightness conditions, the best time for the observation, etc. All this information, together with the scientific
objectives, is included in the proposals that astronomers submit to the observatories, for observation time requesting. A
priority is assigned to the approved proposals and this is used to select one of them in case other proposals could overlap
in time. Observations of the proposals must be scheduled for execution under the specified conditions, once accepted and
prioritized. This programming is carried out by the scheduler6, 7, this being a person skilled in the sorting criteria to
apply, an automatic system based on the use of computer algorithms or a combination of both.
Proposal scheduling for astronomical observations is an example of multi-objective problem, since different factors must
be optimized: to maximize the scientific return, minimize the time between executions, tune the exposure time for each
observation in terms of environmental conditions, etc. The solution to this problem is of inherent computational
complexity: the number of solutions grows exponentially with the number of targets and there is no algorithm that can
avoid the implicit or explicit enumeration of all solutions. Best scheduling of astronomical observations is included
within the class of problems NP-hard. There are many mathematical tools to solve the scheduling issue: from simple
heuristics to more complex genetic algorithms or neural networks. A.I.Gómez et al.8 published a good description of the
problem and possible solutions. A different approach to solving the problem is given by T.Granzer9, who analyzes
various solutions to use in robotic observatories. The advantages of using a dispatcher algorithm, based on the
calculation of the merit function for each observation, are presented in comparison with queue or optimal scheduling.
Dispatch scheduling is the one chosen to be used at the TJO – OAdM observatory for the short-term scheduling needs, as
described in section 6.
2.1 Scheduler features
The scheduler developed for the TJO – OAdM observatory has the following general features:
Scheduling cycle: long, mid and short term
Three scheduling levels are considered at the TJO – OAdM: long, mid and short term, the latter being responsible for the
dynamic response of the system. The problem to be solved by the scheduler can consist of thousands of observations per
cycle, although not all objects are visible at all times. The long-term planning defines the engineering tasks (maintenance
and calibration) and the selection of proposals for the entire cycle (six months), based on factors such as visibility above
the horizon or the moon phase, to compile the list of feasible operations to be executed. Oversubscription is permitted for
the full cycle in order to ensure the complete use of available time. We plan to develop a long-term scheduler to be
executed on simulation mode by the observatory staff and the TAC, although it is currently being performed by an expert
user that takes into consideration the TAC approved proposals and the observatory maintenance plan.
The mid-term scheduler selects the proposals suitable to be observed on the following night and it also performs an
ordered list of observation blocks, using queue scheduling algorithms.
The short-term or dynamic scheduler selects the next best candidate to be observed in almost real time. For a short-term
planning proposals are divided into blocks of observation (the sum of them complete the entire proposal) to be executed
during the actual night. The selection of an observation depends on external factors specified in the submitted proposal,
and it is the scheduler who decides the best observation based on immediate factors. Not all observations are executed
during the planned cycle as a consequence of using dynamic scheduling. The probability of a project to be carried out
depends on its scientific priority, but also the conditions for execution. Such priority may vary over time; it may be
greater as the conditions for observation become unfavorable.
An extended description of the mid- and short-term scheduling implemented is given in the next sections.
Fully integration of the scheduler in the general observatory control system
The nominal working flow of the TJO – OAdM control system1,2 implies processes with human intervention (submission
of proposals, proposal revision and verification, and data retrieval), and unattended ones. The unattended observation
operation includes: observatory startup and power down routines; selection of targets (described in this document);
hardware control for telescope, instrumentation and dome; data processing and storage; and, finally, housekeeping,
hardware and software application monitoring and control. Several software applications perform most of these
instrument and data flow control operations at the observatory. OpenROCS2 is the one that takes the role of the software
infrastructure and it also controls all the necessary routines that implement responses to identified events and alarms, as
well as all the applications running at the TJO – OAdM observatory. The software applications and OpenROCS compose
a software suite designed to reach the complete robotization of the observatory. The scheduler is integrated in this suite
and its routines are called every time their action trigger appears, according to the data flow management performed by
the OpenROCS software.
A particular software application, the proposal management tool, executes the storage in the database of all the proposal
constraints regarding the observation pattern definition and the results of the observations acquired (reduction, analysis
and quality control results, implemented in the data processing). It was designed and implemented in order to optimize
the execution of the scheduler selection algorithms, as can be seen in the following section.
Planning modes: manual, automatic and simulation
The optimal use of mid- and short-term schedulers is usually obtained when combined with unattended operation. Thus,
the sequence of tasks can toggle between observations of various proposals without the prejudice it would represent for
the astronomer if he/she was at the observatory. Under unattended control, dynamic schedulers maximize the efficiency
as the system response is faster and more standardized, optimizing the use of time of the observatory. Many robotic
observatories do not incorporate this feature in the control system and run a static sequence of observations, which is
aborted, but not modified, when environmental conditions change or there are errors in the system control. In this
scheme, a variable priority policy is not applied and this does not optimize the scientific return of the instrument. Two
examples of observatories that do apply dynamic schedulers are the Liverpool Telescope10 and the observatory
STELLA9. Mid- and short-term at the TJO – OAdM are also executed automatically and are included in the observation
manager module of the OpenROCS software suite. The use of dynamic schedulers opens also the possibility of
integrating the observatory into telescope networks, such as the Heterogeneous Telescope Network11, which will be
explored in the near future.
Simulation mode is also provided to users in order to check the observation patterns of their proposal, to compute the
required exposure time and evaluate its feasibility before submitting it to the observatory TAC.
Different observation types considered
The scheduler accommodates observations with a fixed starting time, as well as monitoring or periodic observations. It
also takes into account the observation of unexpected phenomena that can alter the short-term planning. The different
observation types considered are listed here:
Generic targets are those that can only be described in terms of astronomical characteristics or general location on the
sky. Separate targets should be defined and listed if the user plans to acquire observations at several locations within an
extended object. A generic target must be specified with its Equatorial coordinates. A Fixed target can be specified by its
name and coordinates, according to the catalogued values.
Time-Critical or Phase-Critical Observations: proposals may request that TJO – OAdM observations be made at a
specific date and time or phase, or within a range of specific dates or phases, when scientifically justified. Some
examples of such cases are: astrometric observations, observing specific phases of periodic variable stars, monitoring
programs, observations coordinated with observations by another observatory.
Special Calibration Observations: data from TJO – OAdM observations are normally provided to the Principal
Investigator (PI) after full calibration (raw images and master calibration frames are also supplied in case the PI
expresses the need to repeat the process). Baseline calibrations include bias, long exposure darks and flat images taken at
the beginning and at the end of the night. A set of standard stars is also observed on those nights in which a target that
requires such calibrations is likely to be scheduled. Projects may need to include special calibration observations if the
calibration requirements of the project are not addressed by the standard calibration program. A number of bias or dark
images can be specified for each observation and they will be taken just before or after the science image. And in case
predefined standard stars do not suit the user needs, different targets can be included as a proposal target. Any special
calibration observations required must be included in the total request for observing time, and must be justified
explicitly.
Observing time distribution based on the use of Observation Blocks and Target Groups
TJO – OAdM observing time is counted in terms of Observation Blocks (OBs). Each OB contains a series of one or
more exposures on a target, using the same or a different filter and following a defined sequence pattern. OBs are
grouped into larger units called Target Groups (TGs) that include all the OBs for a specific target according to the
number of iterations and the scheduling requirements. A specific target can have several TGs. Finally, a whole project is
composed of the sum of TGs for all targets in the proposal.
The processes in a target OB contain the following components: telescope pointing; dome pointing; target science
exposures; instrument overheads (i.e., the time required to read out the data); special calibration observations, which may
be required if the accuracy provided by the standard calibrations is inadequate for the goals of the project, etc.
OBs can be executed more than once towards the achievement of planned scientific objectives.
2.2 Block diagram
The scheduler package is integrated in the main data flow scheme (see Fig. 1), and needs to interact with several modules
in order to give a correct response any time it must compute a new planning.
Figure 1. Data flow at the TJO – OAdM
Once a user has entered the observation details in the database, through the web-based interface, and the observatory
staff has validated the data, the scheduler takes these data into consideration when selecting the targets suitable to be
observed during the coming night or when selecting the best target for the next image acquisition. The first process is
performed by the mid-term scheduler routine, whereas the second one is done by the short-term or dynamic scheduler.
Both mid- and short-term schedulers are described in the following sections.
The next step after the target selection is the execution of the observation process, which ends with the image processing
routines and the quality control. The latter decides whether the observation must be rescheduled or is deemed complete,
and updates the database accordingly.
Proposal and observation management, from the proposal submission to the data retrieval to user, including the scheduler
routines, compose the optimal set-up to achieve the unattended control optimization.
3. PROPOSAL MANAGEMENT
A description of how the system does the proposal management is given here: program preparation, databases, proposal
submission, etc. Several concepts used are inspired from other projects with advanced tools for similar purposes12, 13.
3.1 Program preparation
The following steps must be taken into account to calculate the resources required:
1. Define the pattern for an OB (instrument setup, number of exposures, exposure times, etc.) to execute on a
target
2. Define the number of iterations and the scheduling requirements for each OB
3. Repeat steps 1 and 2 for each target or for the same target if different OBs are required
4. Compute the time required for target acquisitions and instrument overheads
3.2 User interface for proposal submission and data retrieval
The only tool for the users to interact with the observatory is via a high-level software interface providing ways to access
the database. A web-based proposal management tool through which the users can propose their science programs (phase
1), prepare the observations if the program is approved (phase 2) and retrieve their data products upon successful
observation (phase 3) was designed and partially implemented. A short description is given below.
3.2.1 Users and calls for proposals
Scientists from research institutions around the world can submit a proposal to the TJO – OAdM's Time Allocation
Committee (TAC). There are biannual calls for proposals, which go out in March and September, four months before the
start of the semester in which the observations are to be taken. The TJO – OAdM semester dates are: 1st February to 31st
July (semester A) and 1st August to 31st January (semester B).
3.2.2 Phases for new proposal submission
A new proposal is submitted in two phases. In Phase 1, the proposers submit a scientific justification and observation
summary for peer review. The Telescope Allocation Committee (TAC) recommends a list of programs with associated
priorities to the TJO – OAdM observatory for preliminary approval and implementation. In Phase 2, investigators with
approved Phase 1 proposals must provide complete details of the observations in their proposed observing program. This
allows the TJO – OAdM to conduct a technical feasibility review, and to schedule and obtain the actual observations.
Programs are not approved fully until after submission of an acceptable Phase 2 program.
After submitting the proposal, the PI receives the automatically created proposal code and password. Using them, he/she
can access a specific web page which includes the information sent at this first phase and the submission status. The
proposer can use this page to track the evolution of the proposal (TAC considerations, Phase 2 data, etc.) and to access
the data and the images obtained. All this information is stored in the observatory database. This proposal web page is
accessed through the Status and Results section of the observatory web page.
Diagrams of the phase 1 and 2 roadmap submissions are shown in figures 2 and 3.
Phase1
A high level step-by-step guide to the Phase 1 proposal is explained below:
1.
Review the observatory constraints to determine if your observations are feasible (pointing constraints,
bright object constraints, etc.).
2.
Determine the required observing conditions to obtain the expected data precision. Sky brightness, seeing
and photometric conditions must be specified.
3.
Determine the observation type.
4.
Determine any observation constraints that could impact scheduling: flexible or observations that can be
carried out at any time during the semester when the conditions are appropriate; monitoring or observations
of an object required at a regular interval; fixed or observations only to be carried out at a specified time;
and, ephemeris or observation of a target at a particular phase of its periodic cycle.
5.
Determine the required exposure times to complete the observations for the proposal, taking into account
the following aspects: pointing and tracking performance of the TJO – OAdM; time required calculation,
using the TJO - OAdM exposure time calculator to determine the exposure time of each target and adding
the system overheads (acquisition time, time taken to slew the telescope and dome on target; readout time;
time to take special calibration images).
6.
Fill in the proposal information using the web page interface: general information, investigators, source
data (targets), observing conditions and observing time request.
7.
Submit the proposal.
Phase2
Phase 2 and a final revision by the TJO – OAdM staff is the last step before delivering the proposal data to the TJO –
OAdM scheduler system. Phase 2 is a transformation of an accepted Phase 1 proposal into a list of observations with the
detailed information needed for implementation and scheduling of the science program. Once submitted, the Phase 2
process follows the scheme shown in Fig. 3. The phase completion requires the fulfillment of Phase 2 proposal form,
using the user web page interface, according to the steps described below:
1.
2.
Fill in the remaining proposal information and the general observation constraints.
Define the observation strategy (or TG) for each target. A new TG code is generated every time a target is
selected. More than one strategy is possible for the same target, just selecting it again. A whole project is finally
composed of the sum of TGs for all targets in the proposal. Next steps specify a single TG:
a) Select a target from the list of objects submitted in Phase 1.
b) Select the instrument.
c) Define the list of observations included in the OB: it creates pattern specifications for the target
observation. It must include the following information for each entry: exposure, time, filter, binning,
repeats (number of exposures), and priority (to prioritize inside the same OB). A set like that shall be added
a non-limited number of times to complete all the required setups to fulfill the observations required. Once
the OB is completed the user must specify if it must be executed as a Non-interruptible Sequence OB,
which implies observations included in an OB must be done without gaps between them. Gaps between
exposures may still be necessary to allow time for activities which are necessary to set up for the next
exposure, such as readouts and reconfigurations.
d) Define the number of iterations: times the OB must be done.
e) Calibration images: the need of standard stars for absolute photometry must be also pointed out, in order to
include this requirement as a scheduling constraint. Extra bias and darks images are permitted. The number
of required images must be specified, and also the exposure time for the dark ones.
f) Priority: it compares the TG to prioritize inside the same proposal.
g) Define the scheduling requirements: no constraints, no scheduling constraints on the OB; between, range of
dates or phases that all exposures defined in the OB must be observed within (multiple Betweens are
possible); after observation by, any timing or phase requirements between OB and intended to capture
repeated visits with spacing of multiple minutes, hours, days or greater.
3. Define links with other TG to identify which TG must be scheduled if the current one is scheduled too. The
possible ways to do it are: non-Interruptible Sequence TG, once started it must continue until the last one is
done; after observation by, enter any timing requirements between TGs (during the same night, time interval);
no constraints.
Figure 2. Phase 1 scheme.
Figure 3. Phase 2 scheme.
3.2.3 Proposal validation
The observation data are validated by the observatory staff before being considered by the mid-term scheduler routine.
Validation includes the revision of the total time needed to perform all the TGs and other observation constraints defined
during the second submission phase that must agree with the proposal characteristics approved by the TAC.
3.2.4 Proposal data retrieval
All science and calibration data, as well as all the proposal related information, are placed in the TJO – OAdM database
and accessible through the observatory web page. Science data become immediately available to the proposal PI (Phase
3), who is notified automatically by e-mail. On average, the science data from TJO – OAdM flow through the production
pipeline and into the database within one day after observation by the telescope.
3.3 Proposal related data: storage in the observatory database
The TJO – OAdM database (DB) is structured using the relational model and is based on MySQL. Different levels are
defined according to the global control design and the specific applications that interact with each one. They are sorted
from high (Proposal and Project) to low (Selection and Observation) level of human interaction:
Proposal: it contains the general information of the proposal entered at the submission of Phase 1. Information
to be included: proposal identifier, PI data, list of targets and scientific justification, date of submission,
acceptance and finalization, and status. New entries are generated through the web user interface, a proposal
identifier is automatically created, the acceptance date is updated manually after the submission to the
observatory TAC and the date of finalization and status is updated automatically by the observatory control
system.
Project: specific information of the proposal entered at the submission of Phase 2 is entered on this level
through the web-based interface. It includes the detailed list of TGs and OBs and the number of present
successful observations. The latter is automatically updated by the observation manager, as described in the
following section.
Selection: table composed of a temporary list of targets extracted from the Project level according to their
possibility of observation following defined criteria (positive height above horizon at some point during the
night, night date included in the defined observation window, moon brightness fulfilling user requirements,
etc.). This list is generated by the mid-term scheduler application and is used as input information for the shortterm scheduler, the last step of the scheduling process.
Observation: the last level contains the entries generated by the application that manages Data Processing,
executed after each new observation. There is an entry per observation that includes: target identifiers, date and
time of observation, calibration and analysis status, storage directory and filenames, image quality report (file,
photometry, etc.), error flags and image quality code. This table is used for the observation manager to update
the level of a proposal completion and the status of each TG in the Proposal and Project levels, respectively.
A project is finished when the number of successful observations is equal to the number of the required iterations. When
all the projects included at the same proposal are executed, the proposal is considered as closed and a notification is
automatically sent to the proposal PI.
Several applications interact with the DB. In order to minimize errors while updating stored data, two mirrored DBs are
installed in on-site and off-site server computers. The on-site DB is only updated by the control system, whereas the offsite one is the only accessible by users for proposal submission and data retrieval. The detailed description of this logical
architecture is given in the referenced documents1, 2.
3.4 Proposal tool implementation
A web-based submission tool is implemented and running. It can be accessed through the observatory web page. It is
programmed using PHP, AJAX and MySQL queries for database interaction.
4. OBSERVATION MANAGER
The observation manager is the responsible for performing all the tasks related to scheduling and involved in the
observation process. It is invoked by two different applications (OpenROCS Events and Data Processing) and it executes
the automatic scheduler routines and the database update when necessary.
4.1 OpenROCS Events
The OpenROCS software manages the events generated by the system, including those controlling the routine
operations. Two of these event cases trigger the execution of the mid- and short-term schedulers. The first one is the
sunset time that is used as a reference to start several initialization processes. Actions triggered by this event are:
hardware initialization (telescope, dome and CCD), routine to register a set of calibration images and pre-selection of
science targets, performed by the mid-term scheduler. The event that triggers the execution of the short-term scheduler is
the end of an image acquisition, and starts the selection of the next observation (science target or calibration frame).
4.2 Data processing and database update
Data processing is executed any time a new image is acquired and the main purpose of the routine is reduction and
analysis of the image (based on the ICAT pipeline14) for photometric and astrometric data extraction, image quality
control, data archiving, final image storage and database registry (Observation level). The image quality control process
executes an evaluation of four different aspects for each image file: file quality (size, header keywords), image
photometric quality (star shape, instrumental magnitude, median FWHM), image astrometric quality (coordinate
solutions and pointing errors), observation pattern (fulfillment of user constraints) and environment quality (weather and
system conditions). Each one of the steps described is summarized in one digit and all together provide a four digit
binary code that is included in the image header as an image quality descriptor keyword. This code is then used for the
observation manager to modify the database, increasing the number of successful observations associated to the proposal
TG and updating the proposal completion level. If the image quality is not sufficient, image data are also stored in the
database, but the proposal information is not changed. The latter makes the scheduler routines take the proposal TG
again into consideration when computing the best observation.
5. MID-TERM SCHEDULER
The mid-term scheduler or pre-scheduler is responsible for selecting the TGs suitable for observation and also for
planning night observations before the night begins.
5.1 Pre-scheduler: selection criteria
The MySQL database (Project table) contains all TGs split in OBs, including both completed and pending ones. Those
TGs that have not been completed are selected by the pre-scheduler (see Fig. 4) and the rest are skipped. The calibration
frames are organized into a single proposal with three TGs, one for each image type (darks, bias, and flats in each filter).
This proposal is always active and defines the standard set of calibration images to acquire at the beginning and end of
the night. Additional calibration frames required by a particular proposal are treated in a different manner, as they are
considered together with the associated science targets of that proposal. Science targets are organized into individual
TGs based on project and OB definition (filter, exposure time, number of repetitions, etc.). Targets having fixed
observing times that fall between sunset and sunrise are selected by the pre-scheduler, as well as all the Flexible targets
(regardless of their visibility). Once selected, the list of targets is sorted to have a static queue that can be used any time
if the dynamic scheduler cannot be executed.
Figure 4. Interaction between the database (DB), the scheduler routines and the OpenROCS software.
5.2 Queue scheduling sorting factors and process
In order to compute the queue schedule above mentioned, the pre-scheduler applies several sorting criteria. Observation
window is the first computed parameter for the selection of TGs. Two different scenarios are considered:
Targets with fixed starting times are programmed first and checks are performed to see if they have the required
altitude and do not conflict with other fixed targets with the same priority. If there are conflicts, the first
programmed target is given priority and the conflicting target discarded.
Next, targets with flexible starting times fill in the gaps between the fixed targets. This part of the script starts at
the starting time (sunset) and steps up in 1 minute intervals, determining if any targets can be observed at the
given time and if they fit in the gaps between fixed targets. There are 10 priority levels and targets in level 10
are considered first.
This window must be computed for those proposals that require monitoring programs, based on time or phase intervals.
Airmass is another sorting factor. The altitude of each target is calculated at the current time step and at the end of its
observation period. The target is considered to be setting if the starting altitude is higher than the setting altitude. Thus,
targets which are setting at the beginning of the night are programmed first. Targets which are rising at the beginning of
the night are considered setting when they straddle their maximum altitude (because their setting altitude is just below
their rising altitude). Thus by considering setting targets first, most of the targets are programmed at their optimal
altitudes.
Next, the distance between the moon and the target is calculated and a determination of sky brightness is done based on
lunar phase and altitude. A decision whether to consider the target is made based on its altitude, lunar distance and sky
brightness compared to the user-defined requirements.
Once a target is considered, an attempt is made to insert it into the gaps between the already programmed observations. If
it is inserted successfully, the pre-scheduler goes on with the next target. If it cannot be inserted at the given time, an
attempt is made on all consecutive time steps while the user defined observing requirements are still met. If the current
time steps up to sunrise and the target still cannot be included, it is discarded.
After all the targets have been considered and the night observing list has been determined, a file containing the
observation sequence is generated fulfilling the TALON standard format and it is used to guide the unattended operation.
If there is enough time remaining before the start of the first target, the calibration images are programmed first. The
science targets are programmed next, followed by another round of calibration images at the end of the night.
5.3 Implementation at TJO
The pre-scheduler action is triggered by an OpenROCS event (a predefined time before sunset). The action consists of
three basic steps executed by the Python based pre-scheduler script (scheduler.py). The first step is reading the MySQL
database. The second step is the target selection and the queue scheduling computation. A second Python routine,
containing various astronomical and time-keeping calculations (astrocalc.py), is called many times by the pre-scheduler
routine to do various calculations. Finally, once the target list has been created, the pre-scheduler routine calls the
slsMaker2.3.c, the program that creates the telrun.sls file needed by TALON to execute the night observations in batch
mode. After the pre-scheduler has finished, OpenROCS detects a new telrun.sls has been created and proceeds to execute
the night observations.
6. SHORT-TERM SCHEDULER
6.1 Dynamic scheduler algorithm: dispatcher
The approach chosen to solve the dynamic selection of the observation to schedule is the use of a dispatcher6. This shortterm scheduling is executed each time a target observation is over and a new one must be scheduled. It is done in real
time according to current environment and user defined conditions. The application uses the observation list created by
the pre-scheduler as input information and executes an algorithm that calculates the figure-of-merit of each object. The
object with the highest merit value is then scheduled. A general definition of a merit function is:
where fi(t) functions and their associated weight describe the different effects that contribute to increase or reduce the
global merit m(t) per object. Among these effects, we consider:
Observation conditions: height above the horizon, moon brightness and distance from the moon, best
observation time in case observation is required not at the meridian crossing, required period between iterations,
distance from previous target, proposal priority.
Environment conditions: seeing, photometric quality.
Proposal history: term to ensure a balance between the observation time spent with different proposals that have
the same priority.
6.2 Sorting factors
The sorting factors used by the dispatch scheduler are very similar to those described in section 5.2 for the pre-scheduler,
with the addition of those factors that depend on the current observation conditions: seeing and photometric sky quality.
The current seeing is determined from two inputs: the on-image seeing determined from the mean FWHM of stars in the
previous images, and the direct seeing measurements obtained from the Robotic Differential Image Motion Monitor
(RoboDIMM15) located in the observatory. On the other hand, the on-the-fly data processing described in section 4.2
gives a determination of the current photometric sky quality for the previous images. The seeing and the photometric sky
quality values are compared with the user's requirements and a decision is made regarding whether to observe the target.
Targets that require very good seeing and/or photometric sky quality will be given higher priority when these measured
values fulfill the requirement.
6.3 Implementation at TJO
At the present time the short-term scheduling is handled by the same queue scheduling routine used by the pre-scheduler.
If for any reason the observations are interrupted throughout the night (due to weather, power cuts, etc.), the queue
scheduler routine can be called when OpenROCS determines that conditions are right to resume observations. The
MySQL database is then consulted and the rest of the night is planned based on the selection and sorting criteria
explained in section 5. This works fine at present, but has important limitations: it is time consuming to compute a new
schedule and the process does not take into account present seeing and photometric quality. Currently, the dynamic
dispatch scheduler is under development and will be implemented in the near future.
7. CONCLUSIONS
We have described the observation management performed at the TJO – OAdM through two main software packages:
the proposal management tool and the observation manager. Other applications strongly linked to the observatory task
planning have been briefly described: the OpenROCS control system, the data processing routine and the database. All
these software tools implement the necessary structure to have a correct system behavior when scheduling the tasks to
perform.
Both the mid- and short-term schedulers used, which are key elements of the observation manager package, have also
been described. The observatory is currently working with a simple queue scheduler for the dynamic response, which is
not the optimal solution. The observatory will start offering observation time to the international community in the
coming months and the number of submitted proposals can potentially grow fast. In this situation, the use of a queue
scheduler would represent a big drawback. Because of that, efforts towards the implementation of a dispatch scheduler
are ongoing.
Acknowledgments: We wish to thank all those who have contributed to the development of this project. The OAdM16
project is supported by the Catalan government and owned by its local official institution: the Consorci del Montsec.
Research institutes and universities have actively contributed with scientific and technical supervision and manpower to
the development of the project: the Institute for Space Studies of Catalonia (IEEC), the University of Barcelona (UB),
the Technical University of Catalonia (UPC), the Spanish Research Council (CSIC) and the Joan Oró Foundation (FJO).
REFERENCES
[1] Colomé, J., Ribas, I., Fernández, D., Francisco, X., Isern, J., Palau, X. and Torra, J., "OAdM robotic observatory:
solutions for an unattended small-class observatory," Proc. SPIE 7019, 70192K-1 - 70192K-12 (2008).
[2] Colomé, J., Francisco, X., Ribas, I., “The TJO – OAdM robotic observatory: the OpenROCS system and the dome
control”, Proc.SPIE, in press (2010)
[3] Verderame, P.M. et al.: “Planning and Scheduling under Uncertainty: A Review Across Multiple Sectors”,
Ind.Eng.Chem.Res., vol.49, p.3993-4017 (2010)
[4] Mora, M. et al.: “A survey on the dynamic scheduling problem in astronomical observations”,
https://csrg.inf.utfsm.cl/twiki4/pub/ACS/SchedulingPaperIfipai/mmora-msolar.pdf
[5] Pinedo, M.: “Scheduling: Theory, Algorithms, and Systems”, Prentice Hall, Englewood Cliffs (NJ); ISBN:
0137067577 (1995)
[6] Swanson, K., Bresina, J., and Drummond, M.: “Robust Telescope Scheduling”, Proc. In i-SATRAS 94 (1994)
[7] Johnston, M.D.: “Spike: AI scheduling for NASA's Hubble Space Telescope,” Sixth Conference on Artificial
Intelligence Applications, v.1, p.184-190 (1990)
[8] Gómez de Castro, A.I., Yáñez, J.: “Optimization of telescope scheduling: Algorithmic research and scientific policy”,
Astronomy & Astrophysics, v.403, p.357 – 367 (2003)
[9] Granzer, T.: “What makes and automated telescope robotic?”, AN, v.325, n.6-8, p.513-518 (2004)
[10] Fraser, S.N., Steele, I.A.: “Robotic telescope scheduling: The Liverpool Telescope experience”, Proc. SPIE, v.5493,
p.331-340 (2004)
[11] HTN: http://www.telescope-networks.org/wiki/index.php/Main_Page
[12] Liverpool Telescope: http://telescope.livjm.ac.uk/Info/PropInst/
[13] HST: http://www.stsci.edu/hst/proposing/docs/proposingOverview
[14] Colomé, J., Ribas, I., “ICAT: a General Purpose Image Reduction and Analysis Tool for Robotic Observatories”,
Astronomical Data Management, 26th meeting of the IAU, Special Session 6, (2006), SPS6, #11
[15] Aceituno, J.: “A new Robotic DIMM for Calar Alto Observatory”, CAHA Newsletter 04b, (2004)
[16] OAdM: http://www.oadm.cat