To facilitate successful observing runs, the LDT supports several methods for preparing and submitting observing target lists and telescope motion pattern requests.

Target List Catalog

Observer Target List Files

The LDT accepts target catalogs through a tool called the Observer Target List.  This is an interface that allows the user to send targets directly to the Telescope Control System from one of the observer computers ( dct-obs1 / dct-obs2 ).  Your Observer Target List file must be on the observer computer in order to use this UI (you may transfer your catalog via scp 1 , USB drive, carrier pigeon 2 , etc.).

The catalog files should be composed using a basic text editor (e.g. Notepad, vi, emacs, nano) and saved with the extension .tls.  The characters in the files must to be limited to the basic ascii text set (no smart quotes, hidden characters, or characters from an extended character set like ISO-Latin-1).  It is recommended that you use our target file validator tool prior to your observing night to ensure proper formatting.

A sample file containing Name, RA, DEC, muRA, muDEC, Magnitude, dRA, and dDec, is shown below.  Note that the target name appears in double quotes.  The telescope will accept both sidereal and non-sidereal track rates through the use of the dRA and dDec differential tracking rates – non-sidereal track rates should be provided in arcsec hr-1.  Proper motions muRA and muDEC should be in mas/yr where muRA is the angular measurement used by most catalogs (μα×cos(δ)).  The coordinates must to be in equinox J2000.0 (FK5/ICRS), as there is currently no option for submitting coordinates in other epochs.

#title=true ra=true dec=true epoch=false muRA=true muDec=true magnitude=true dRA=true dDec=true rotatorPA=false rotatorFrame=false 
"35671 1am NS"          01:00:09.4 +05:59:47 0.0 0.0 21.4  -2.75  -1.18 
"19122 1am"             01:29:15.3 +11:37:16 0.0 0.0 16.2   0.0    0.0 
"19122 1am NS"          01:29:15.3 +11:37:16 0.0 0.0 16.2 -28.46 -13.3 
"136199 Eris 1am"       01:41:13.9 -03:18:44 0.0 0.0 18.7   0.0    0.0 
"136199 Eris 1am NS"    01:41:13.9 -03:18:44 0.0 0.0 18.7  -1.36  -0.31 
"120348 1am"            02:44:50.7 -10:01:41 0.0 0.0 20.5   0.0    0.0 
"120348 1am NS"         02:44:50.7 -10:01:41 0.0 0.0 20.5  -3.16  -0.92

A full explanation of the functionality of the UI and the list format is given in the Observer Target List User Manual.

Observer Target User Interface Highlights

Once you have loaded in a .tls catalog file, the UI features four computed columns to assist with nighttime observing: current airmass, azimuth, elevation, and time of transit – all of which will be recalculated any time you resort your table.  You may edit any of the targets in your list from the UI by double clicking on the entry you wish to edit.  Furthermore, a "Test" line is provided for entering new targets on the fly, which may be used if you do not have many targets or did not have time to write a file prior to arriving at LDT.

Catalog files cannot be saved from the UI, so any changes made to the catalog list within the UI will be discarded when the UI is closed.

Use Cases

The Telescope Control System supports several tracking modes:

  • Sidereal tracking →  The telescope will track at the standard sidereal rate.  This is the default when dRA and dDec are either zero or unspecified.
  • Non-sidereal tracking at a constant offset rate → The telescope will track at a rate that is the sum of the sidereal rate plus a constant offset selected by the observer. This is most useful for tracking things like asteroids moving at slow to moderate rates, typically less than about 30 to 40 arcseconds per hour. Offset rates dRA and dDec are entered in arcseconds per hour.  The ephemeris tools at the Minor Planet Center and JPL Horizons will both provide rates in this format.
  • Ephemeris tracking → The telescope will track using a pre-generated ephemeris for a specific object.  This is most useful for objects that have larger non-sidereal motions like Near Earth Objects and comets. Ephemerides need to be pre-generated in a very specific format (see Ephemeris Data below) and the files loaded onto the TCS computer before they can be used.  Ephemerides can be generated using the tool embedded in the TCS that queries JPL's Horizons service (this is the most direct method), or a user can construct their own ephemerides and ask the TO to upload them to the TCS computer.  If the observer supplies the ephemeris, they MUST indicate whether their ephemeris is in ICRS/J2000 (FK5 on the TCS) or in Topocentric Apparent (APPT on the TCS).
  • Ephemeris plus non-sidereal offset rate tracking → This combines the previous two modes. The basic tracking follows an ephemeris and then on top of that an offset rate is added.  This can be a useful way to "split the difference" when tracking a moving object against a stellar background. By adding an offset rate, the telescope can be made to track at some apparent fraction of the moving object rate, redistributing the image smearing.

The telescope control system supports two basic frames of reference (this is NOT the same thing as the coordinate system reference frame for RA,Dec etc.):

  • Target frame → most common case for imaging.  The detector will be kept oriented in the RA/Dec on-sky frame of reference.  The zero point of this frame has the line North-South aligned with the instrument fiducial. For an imager, the detector columns are the normal fiducial. Instrument rotation angles will be measured from North through East.
  • Fixed frame → Often used for spectroscopic observations of point source objects. The instrument fiducial direction is typically aligned along the slit for a slit spectrograph. The zero point for this frame has the instrument fiducial aligned with the vertical direction. There is a 180º ambiguity. For example, for the DeVeny spectrograph, setting the frame to Fixed and the instrument angle to 180º will align the slit vertically, which is also aligned with the parallactic angle.  For guiding, the TO will need to select the guide mode for Fixed frame, which accounts for the lack of instrument rotation compensation.

The system can be used in any combination of the Tracking Mode plus Frame. For example, spectra of a main belt asteroid could be taken with the the telescope tracking using a non-sidereal offset rate and the frame set to Fixed to allow for holding the slit at the parallactic angle.

Ephemeris Data

The LDT supports using ephemerides for tracking non-sidereal objects (rather than using an Object Target List with a constant non-sidereal tracking rate).  An ephemeris of this type consists of the location of the object at specified times, and the TCS simply interpolates its pointing based on these data points.  The LDT TCS has a built-in interface for the JPL Horizons system, and your TO can generate ephemerides directly on the TCS control computer.  Some observers, however, prefer to create their own ephemeris files.  The pages linked below describe both options.

Ephemeris Data Information – Information for Observers

Using the TCS Horizons Interface – Information for TOs

Telescope Motion Pattern Data


A slew or dither pattern file can be used to slew the telescope between targets, dither, change exposure times, change filters & the number of exposures.  If a user wishes to simply cycle through a series of filters (without moving the telescope), the input file can be very brief and only include exposure time and filter names. Not all exposure options are allowed in the pattern file, so it is recommended that the user takes one test image with the desired parameters such as binning factor so these values are cached and will be used while the pattern is running.

These pattern files need to be on the observer machines ( dct-obs1 / dct-obs2 ) because they will be input into the LOUI.  All of the caveats for creating Observer Target Lists (above) apply here, such as using a basic text editor (e.g., vi or emacs) and avoiding extended character sets.  You may transfer your pattern files to the observer machines via USB drive or scp, as desired, or even create them directly on the observer machine during the observing session.


Slew-dither pattern files must begin with a metadata line (starting with a #) indicating which fields are present in the file.  Options include:

  • title: This will be treated the same as the "Object name" in the LOUI's [LMI / DeVeny / NIHTS ] Control view.
  • RA and DEC: Only J2000.0 coordinates are allowed.
  • exposureTime: The exposure time in seconds. This must be present.
  • numExposures: If this is not specified, it will default to 1.
  • filter: If this is not specified, it will default to whatever filter is in place at the time the sequence starts.
  • muRA, muDEC, and epoch: the proper motion (in mas/yr) to be applied and the corresponding epoch. Note that muRA is really α×cos(δ)); this is the form that most catalogs (and SIMBAD) provide.
  • dRA and dDEC: any non-sidereal rates that need to be applied for tracking. The units are arcseconds per hour.
  • rotator PA: By default the rotator PA is set to 0, but there may be occasions where the user would like a non-standard orientation.
  • rotator Frame: Either Target or Fixed. "Target" frame causes the Cassegrain rotator to compensate for the apparent field rotation caused by the Alt-Az mount, and is usually used for imaging.  "Fixed" frame maintains the same instrument angle with respect to the horizon, and is usually used for spectroscopy.
  • xi and eta: Rather than provide RA and DEC, it is possible to simply specify tplane offsets from the current position. The offsets are in arcseconds, and will be performed as an "absolute" offset from the initially commanded telescope position.
  • comment: This character string will be to added the image FITS header. The comment must be enclosed by double quotes.
  • commandOption: This determines if the command is a "slew" (moving to another target) or a "dither" (small offset on the same target to compensate for bad pixels on the detector).

The input is not fixed width and there is some validation when loaded. The first 2 lines are meta data and have to be present in the exact form stated above. The boolean value (true or false) for each parameter tells the loading function what to expect and what to validate. All the input lines have to follow the format indicated by the meta data, in other words each line of the input file should have the same number of parameters.  The example below is a dither pattern. 

#title=false ra=false dec=false exposureTime=true numExposures=true filter=true muRA=false muDec=false epoch=false dRA=false dDec=false rotatorPA=false rotatorFrame=false xi=true eta=true comment=true
60.0  1 SL-g   0.0   0.0  "Centered SDSSg"
120.0 1 SL-r   0.0   0.0  "Centered SDSSr"
120.0 1 SL-i   0.0   0.0  "Centered SDSSi"
60.0  1 SL-g  15.0  30.0  "dXi,Eta = 15,30 SDSSg"
120.0 1 SL-r  15.0  30.0  "dXi,Eta = 15,30 SDSSr"
120.0 1 SL-i  15.0  30.0  "dXi,Eta = 15,30 SDSSi"
60.0  1 SL-g  33.0  -5.0  "dXi,Eta = 33,-5 SDSSg"
120.0 1 SL-r  33.0  -5.0  "dXi,Eta = 33,-5 SDSSr"
120.0 1 SL-i  33.0  -5.0  "dXi,Eta = 33,-5 SDSSi"
60.0  1 SL-g   0.0   0.0  "Centered SDSSg"
120.0 1 SL-r   0.0   0.0  "Centered SDSSr"
120.0 1 SL-i   0.0   0.0  "Centered SDSSi"
60.0  1 SL-g -30.0  15.0  "dXi,Eta = -30,15 SDSSg"
120.0 1 SL-r -30.0  15.0  "dXi,Eta = -30,15 SDSSr"
120.0 1 SL-i -30.0  15.0  "dXi,Eta = -30,15 SDSSi"
60.0  1 SL-g  -5.0 -33.0  "dXi,Eta = -5,-33 SDSSg"
120.0 1 SL-r  -5.0 -33.0  "dXi,Eta = -5,-33 SDSSr"
120.0 1 SL-i  -5.0 -33.0  "dXi,Eta = -5,-33 SDSSi"
60.0  1 SL-g   0.0   0.0  "Centered SDSSg"
120.0 1 SL-r   0.0   0.0  "Centered SDSSr"
120.0 1 SL-i   0.0   0.0  "Centered SDSSi"

It may be helpful to end dither scripts with a (0,0) (xi,eta) offset, and an exposure time of zero.  In this case, the telescope will move back tot he commanded position and no exposure will be taken.  Otherwise, the last offset values will stay in and alter the pointing of the telescope until explicitly cleared.

It is important to remember that the order of the data columns has to match exactly with the order of the meta data.

More Slew-Dither Pattern Examples


Slew-Dither Pattern files are executed within the instrument LOUI.  Select the "Slew-Dither Pattern" tab in the right half of the LOUI window.

The initial action is to "Load Pattern File" which will present a dialog box for selecting the input file. The default extension is *.txt  but the dialog box allows selection of other types even though they are dimmed.  The "Execute" button will be enabled after the input has been processed and validated.  The validation can cause either an error or a warning.  The input file will not be loaded if the code detects an error such as wrong syntax for an input line.  A warning on the other hand will generate a pop-up message informing the user that an issue may exist but it will still load the file after the dialog box has been dismissed.  Example of a warning is a pattern file with filter=true and having the same filter position for every line.  The Validate Input List tool may be used ahead of time to determine whether a given pattern file will cause errors in the LOUI.

If the pattern file contains filter=true, there will be one extra column which is the amount of filter throw for each move starting from OPEN,OPEN position. Please remember that the LMI filter wheels move in one direction only so a large filter throw can be avoided by re-ordering the lines in the input file. A filter throw larger than half the way around will cause the font color to change to dark red as a reminder to the user.

Pressing the "Execute" button starts the process and there will be no further interaction with the user unless the user wishes to abort the process.  The TCS (slew or offset) and filter move commands are asynchronous and are issued concurrently. Both commands have to be completed before the exposure command is initiated.  The process checks for the TCS in position flag, the AOS settled flag and the DOME in position flag to determine that the TCS move command is completed.  The filter move command completion is based on the responses from the OMS cards.  On rare occasions, the filter move operation overshoots the desired filter and settles in the next filter detent.  Unlike the LMI Camera Control view, the code in this function does not check that we are at the desired filter, but rather only checks for completion of the move command.

After the exposure is complete and readout has started, the action will proceed to the next row and the appropriate row in the table is highlighted. There will be a message in place of the iteration number when the pattern is complete.

The process can only be aborted by pressing the abort button within the view.  Using other abort buttons or stop series buttons will have unforeseen results. The abort stops the loop but it may not stop the last exposure.  If you desire to stop this exposure after aborting the Slew-Dither Pattern sequence, you may safely abort the exposure in the usual instrument control tab.

If a Slew-Dither Pattern sequence is aborted for any reason (including automatic aborts by the system), it is necessary to reload the original pattern file from disk and start it from the aborted row.  This is accomplished by putting the relevant row number in the text box right below the loop count.  If loop count is greater than 1, the next loop begins at row 1.

It is absolutely essential that you do not attempt to interact with the filter wheel or otherwise change any of the exposure parameters using the LMI Camera Control view once the pattern has started. Very Bad Things May Result! Do NOT expect the filters shown on the LMI Camera Control view GUI to reflect what is going on with the instrument once the pattern is activated—instead, the Slew/Dither Pattern view will show what filters are in use.

It is important to remember that things can go wrong and the pattern execution should be monitored carefully.  This function is NOT intended as a robotic operation where a series of action can be run unattended.


Guiding may turn off when an offset command is received by the TCS. Guided offsets are supported but there are limitations that the user needs to be aware of. Please consult with the operator if you plan to use guided offsets.

Another special case is when exposure time is set to 0. In this case the command will not be sent to LOIS. This can be used for resetting the system back to an initial state by issuing 0 offsets and moving the filter wheels without any exposure.

The filter moves are synchronous and the secondary filter wheel will always be homed.

After a pattern file has run, the execute button will not be re-enabled. If for some reason the user needs to run the same pattern file, it will have to be loaded again.

 The code does not check whether the filter is at the desired location so if a filter move fails in a way that it goes to the wrong filter but the detent is good, the pattern will continue with the exposure. If the detent is bad, there will be an automatic abort and a dialog box will pop up explaining what happened.

Target rejection by TCS is NOT caught and the pattern will continue with the execution of the commands assuming that TCS is at the right coordinates after TCS gets in position

There is no way to pause in the middle of a series so a pause command will take effect at the end of the series. One should also remember that we cannot resume at an arbitrary row. The code will resume at the point that it had paused.

Other Resources

We provide a list of Object Data and Finder Chart Generators

  1. scp mytargetlist.tls observer@dct-obs1:~/Desktop/TargetLists/. 
  2., and

  • No labels