OBS E executes just a single command at a time. After finishing that command, the program issues an OBSE > prompt and waits for the next command.
OBS E uses the SIC command interpreter to scan and parse the command line. Therefore, the SIC command syntax has to be followed when entering OBS E commands. All features of SIC, such as command-line editing, defining loops, command procedures or symbol definitions are available through SIC and are not a particular feature of OBS E . For details, see the SIC manual. For a quick reference, see in the Appendix.
Every OBS E command line has the following syntax:
An executable command in OBS E is called a VERB, an option in the SIC syntax is called an ADVERB, and the arguments of each are called parameters and are used to set values needed by the command (VERB). Thus, the syntax for an OBS E command line can also be written as :
Rules for OBS E command lines:
Parameters belonging to either a VERB or an ADVERB have to be separated by blanks. If blanks are part of a single parameter of type string, this parameter has to be enclosed in double quotes ("), or else a new parameter will be considered to start at the blank. The sequence of occurrence determines the parameter sequence p1 ... etc. An asterisk * can be used as a place holder for a parameter in the sequence, the value of which does not have to be modified. You can type more or less parameters than specified for the VERB or ADVERB. Surplus parameters are discarded by OBS E , while fewer parameters may cause branches in OBS E , depending on the VERB or ADVERB. For example,
OBSE > CORRECTIONS F will only update the azimuth pointing correction. OBSE > CORRECTIONS F F will only update the azimuth and elevation pointingcorrections.
In OBS E , a command is called a VERB. There are VERBS which just save, restore or display parameter values. After such VERBS have been executed, control is returned to OBS E immediately. There are VERBS that initiate observing functions such as pointing, focus, etc., and these will return to OBS E only after starting that measurement.
The telescope operator at the 100-m RT controls the execution of an observation by means of switches and buttons on the control desk. One of his responsibilities is the starting of the next observation by pressing the LOAD button.
By pressing the AUTO button, he can select an observing mode, in which the actual LOAD command can be issued by a command from the observers terminal. This observing mode is called the automatic mode, and OBS E works best when the telescope is operated in the automatic mode.
The automatic mode is activated or resumed only after the operator has started an observation manually by physically pressing the LOAD button and the associated scan has started. A light in the AUTO button on the control desk indicates that the automatic mode is engaged and the observing program can be started from OBS E .
To allow automatic observations with OBS E , the AUTO button on the operator's console has to be set. This is done in the following manner :
IMPORTANT:
This sequence is needed at a new start of the OBS E program, and
after any release of the AUTO button. Otherwise OBS E will not
start automatically.
KILL and CANCEL, however, will not terminate the automatic observing
mode.
The observing (astronomical drive) program of the 100-m RT executes just one observation at a time, until the observation is finished or cancelled. Then the parameters for the next program can be loaded and the next observation can be started. The drive program stores the astronomical data automatically in raw data format, that actually allows to use multiple frontends and backends. For information about the current observation a pen recorder is controlled by the drive program. For continuum observations the pen recorder outputs the signal (with position marks) and the calibration extracted from combinations of continuum channels and phases. An on-line display of the data of the last fully accumulated subscan is generated from the raw data by use of an off-line data reduction package. A high priority task, called OBSERVE, inspects the state and progress of the drive program. Whenever new procedures begin, whenever raw data for a complete subscan are available or when an observation is cancelled it sends command lines to the off-line data reduction packages in much the same way as the user does for later reduction. In this process the raw data are converted into the preferred data structures of the reduction programs which is convenient for further data analysis. For calibration observations the MPI reduction package TOOLBOX automatically returns the calibration results which can be used for pointing and focusing through OBS E commands. OBSERVE displays the progress of the current observation on one of the screen sections (see OBS E display) and keeps a description of the actual observing states in a common section available to OBS E . OBS E interpretes the actual observing states whenever it is requested to start a new observation.
The astronomical drive program can only execute one observation at a time. It internally uses a single passive option field. OBS E has to coordinate the user commands with the drive program. Especially in the case of executing sequences of observing commands through SIC command files the observations have to be serialized. The coordination occurs in a synchronization state, called WAIT. The verb WAIT is only used inside the command procedures that start the observations, but should not be used in routine observations.
VERBS, which initiate an observation, set up all relevant observing procedures, and also set up the backend(s) and frontend(s). Calibration measurements, cross-scans and ON-OFF observations will be started immediately.
In the case of point-raster, or scanned-raster maps, the relevant VERB just sets up the observing procedure and the backend(s) and frontend(s). The observer himself has to issue a separate START command. The advantages of this solution are that one can inspect whether all parameters are set as intended (through the SHOW_CURRENT commands) before either starting a long observation, restarting a section of a map from a certain subscan, or shifting the whole map with the SET_DEFAULT OFFSETS command either to a different map center or for observing with an offset in the axial focus.
In both cases, either the simple observing commands or the START command lead to the WAIT state. OBS E waits until OBSERVE reports that the drive program is ready for starting a new observation, i.e it is idling. In case of an already running observation, OBS E displays a message, remains waiting and no prompt occurs. Any input is held in the type ahead buffer and executed later. If you want to cancel the current observation you have to force OBS E out of the WAIT state by typing < CTRL-C > and after some QUITs to reach the OBSE input level possibly KILL or CANCEL.
Once the drive program is idle, OBS E loads the new observing program, sends the appropriate message, saves the new observing mode and waits for the information, that the drive program has executed actually the LOAD command. If the drive program is in manual mode, the LOAD command is ineffective and the message ``Try the Load button'' appears after about three seconds. When the drive program has executed a LOAD, OBS E leaves the wait state. At that instant the telescope is still slewing to the start position and the scan has not begun. For all observing commands except ST_ONLINE, the velocities and offsets of the currently executing program are now reset in the passive option field. Any further manual load (or OBSINP LOAD command) will result in an additional (normally unwanted) measurement.
If you are at the OBSE > prompt level and no observation is in progress, there will be a delete event flag set, but there will be no influence on the drive program. OBSERVE however will react to the delete flag with a message.
If you are at the OBSE > prompt level and an observation is in progress, KILL and CANCEL stop the observation immediately, CANCEL S(oft) will finish the current subscan and then cancel the observation. Only with CANCEL S the subscan will finish normally and the data will be available to the reduction packages.
If you are in the WAIT state and do not see the OBSE prompt, either executing a SIC observing program command or having sent the next observing command and OBS E is in the wait state, you have to send a < CTRL-C > to get out of the wait state. Then you can send KILL, CANCEL or CANCEL S. All three will cancel the current observation, the first two immediately, the other after completion of the current subscan. In all cases a pause is generated by SIC and a prompt of OBSE with a numerical level occurs. Typing a C (for continue) lets you continue the loop, typing Q (for quit) until the regular prompt occurs lets you terminate the loop and return control to your next command or verb. Your input after the pause determines actually whether you continue or terminate.
KILL stops the observation. In contrast, CANCEL allows you to continue with the next observing command. During SIC-Loops, CANCEL stops a (previous) scan, but allows you to continue the loop with the next scan, while KILL terminates the loop and sets an error flag. The observer can then leave the loop with QUITs.
If CANCEL occurs due to an error condition detected by the drive program, or by the intervention of the operator, the reaction of the wait state of OBS E is the same as if a CANCEL had been typed.
Almost all VERBS need ADVERBS to set values or select options. Each ADVERB is related to at least one VERB, while some ADVERBS relate to more than one VERB.
For every parameter, OBS E keeps 3 values:
Assuming the system default scan length for pointing is 200 arcsec:
OBSE > POINTING will scan for 200 arcsec. OBSE > SET_DEFAULT LENGTH_PT 210 will set the default to 210 arcsec. OBSE > POINTING will now scan for 210 arcsec. OBSE > POINTING/LEN 190 will scan for 190 arcsec. OBSE > POINTING will scan for 210 arcsec, since the default is adopted. OBSE > POINT/LEN 190/DEF will scan for 190 arcsec and setthe default. OBSE > POINTING will scan for 190 arcsec, the new default is used. OBSE > STANDARD LENGTH_PT will reset the default to200 arcsec. OBSE > STANDARD POINTING will reset all parameters tothe system defaults, including < c_mode > ,and those for the adverbs TIME_PT, ORIENTATION, SUB_PT and LENGTH_PT. A reminder: OBSE > STANDARD $POINTING will only reset the observing mode < c_mode >
NOTE: The SHOW_CURRENT command requires enough characters that a unique minimum match is granted, either for the name of the ADVERB or VERB to be given, or for just a VERB's parameters that a $-sign is placed in front of the VERB name. If the minimum match is ambiguous, all possible candidates are listed, and the input should be repeated with sufficient number of characters in the name.
VERBS that will initiate observing programs automatically in OBS E set the frontend/backend configuration for the execution of the program. These VERBS have unique names and the choice of continuum or spectral line setup is performed automatically.
The parameters of the frontend set-ups are specified with C_MODE and L_MODE, and the parameters for the backends by CONTBACKEND and AUTOCORREL. The most-recent use of C_MODE sets the current values for continuum observations, while the use of L_MODE does the same for line observations. The SHOW_CURRENT command permits you to see what values are currently being used. If just one parameter should be changed for the next observing sequence, C_MODE or L_MODE has to be used for this change.
EXAMPLES :
IMPORTANT:
If you use the verbs SET_DEFAULT or STANDARD on
C_MODE or L_MODE or CONTBACKEND or AUTOCORREL,
or use the verbs C_MODE or L_MODE or CONTBACKEND or AUTOCORREL itself,
the current values for that setup command are overwritten. Especially if
you specify one adverb's parameter at a time, previously entered current
values for all the other adverbs are reset (unlike at the IRAM 30m-MRT OBS).
If the current values should be retained from now on, use the /DEFAULT
option, which transfers the current parameters to the default
values.
EXAMPLE:
This simple procedure performs two scans, one
observation with a negative offset to the radial focus (SFC2), the
other with the same but positive offset. The verb is given as the
second parameter.The offsets are relative
to the last determined optimum value SFC2 for the radial focus.
Commonly such type of
observations are made during line measurements to eliminate
baseline-effects due to the telescope-structure (especially from
the secondary focus). In that case the verb PSWITCH as
< name of procedure > is normally used. The call from the OBS E command level
to this procedure (also called a SIC-macro) would be:
@ DEFOCUS < focus offset > < name of verb >
The macro file has the name 'DEFOCUS.PRO' with the following contents:
! If no parameter is given in the call, give information about
! the input-parameters.
if ("'&1'".eq."''") then
say " Two Observations with SFC2+offset and SFC2-offset"
say " -------------------------------------------------"
say " 1. parameter: focus-offset "
say " 2. parameter: name of verb"
say " if not given, PSWITCH is assumed"
return
endif
! Test for second parameter. If not given, take PSWITCH
if ("'&2'".eq."''") then
SYMBOL verb$$ = 'pswitch'
else
SYMBOL verb$$ = '&2'
endif
! Now set the focusoffset to the upper value and make an observation
! with the verb given as second parameter.
let foc = &1 /new real
SET OFFSETS * * 'foc' * *
verb$$
! Do the same with the lower focus value.
let foc = foc*(-1)
SET OFFSETS * * 'foc' * *
verb$$
! Reset the offset, delete parameters and definitions
! and leave the procedure.
SET OFFSETS * * 0 * *
DELETE /SYMBOL verb$$
return
There exists a special procedure called SYNCHMESS,
which is useful in writing
macros. If one has to wait for the end of a running observation before
the next commands in the macro-file should be read,
this procedure is called. If this command is encountered in the procedure-file,
the OBS E -program stops reading until the observation
is finished. During the wait-state
an information is typed out at the terminal telling you
" Observation in Progress ". If the observation is finished,
OBS E continues reading the next commands in the macro-file.
The commandline in the macro-file has to be:
EXAMPLE:
This procedure shows the use of SYNCHMESS making pointings with rotation of
the position angle.
OBSINP OPOS 0 D* POINTING ! observation to find corrections CORR F F ! automatically waits for end of observation POINTING ! calibration measurement ! Now wait for end of measurement otherwise the new angle is taken @ MPI$OBS:SYNCHMESS OBSINP OPOS 180 D* POINTING ! observation to find corrections CORR F F ! automatically waits for end of observation POINTING ! calibration measurement ...
OBS E uses the DEC screen management facilities and distributes information for you on 5 ``virtual'' displays. Four of the displays are shown on the screen of the ``OBSERVER'' terminal, the other one on the terminal adjacent to the left of it. Using a terminal or terminal-window with 40 lines or more will put all ''virtual'' displays on one terminal-screen or -window. The display is refreshed automatically at the start of an observing command. With the command
Display 1 (upper left) is used by OBSERVE and shows you the progress of the observation. Idle means no observing program is loaded. This is the message that is displayed at the start of OBSERVE by the operator. When you send an observation command, you see the message Waiting for SCAN. Once the first subscan is started OBSERVE reports about the start and end of each individual subscan and possible on-line fits to the data. It also displays when a scan is cancelled by either an error, by the operator or by a KILL or a CANCEL OBS E command.
Display 2 (upper right) is used during the starting of an observing program. OBS E might have to wait for the end of the previous observation. Then it loads a program and waits until it has started successfully. Messages about the changes in this particular synchronization state are displayed for your information.
Display 3 uses some 10 line in the middle of your screen. It is used for error messages when you set up procedures with undefined or out of range parameters, it is also used to display the parameters on your request (SHOW_CURRENT). You can also display how your command is expanded into OBSINP primitives by the SIC symbol PROTOCOL and suppress it by NOPROTOCOL.
Display 4 is the scrolling region of a few lines with the OBS E prompt. This section is also used when you use the recall features of the SIC interpreter.
Display 5 (on the other terminal) shows the parameters like the source name and position, the observing frequency, the observing command that is selected (or being executed) and the integration or scanning times for an individual subscan. It shows the pointing and focus fit values from the last calibration measurements.
NOTE: If you refresh the screen while a scan is still in progress, and have prepared already a new observation, some of the parameters (source name, source position) refer to the next observation.
\ \ and
leave a blank between entries for the help tree.
During the execution of a VERB, or one of your own observing procedures, an erroneous command line can occur. The program then returns with a reverse-video prompt containing the level number, e.g. OBSE_3 > . If you cannot correct the problem and continue using the SIC CONTINUE command, then erase the incorrect line after the prompt and enter QUIT. Repeat QUIT until you get the normal video OBSE > prompt and correct the procedure by editing (using a SIC DCL command to go to DCL), or replace the incorrect parameter.
In the start up, OBS E receives a SIC error recovery ON ERROR PAUSE. In the case of a fault occurring, this command returns control to you as the interactive user, when you are executing a command procedure. KILL or an operator intervention during the execution of an observation (no OBSE > prompt) will set the error flag, and SIC prompts with its current execution level, e.g. OBSE_4 > . Type QUITs until you reach the regular OBSE > prompt. If you wish to complete the execution of the loop, enter CONTINUE for the loop to continue the execution with the next command in the loop. CANCEL will terminate the current observation, but will continue the command procedure, as will KILL followed by CONTINUE.
If there is no prompt, you are most probably in the WAIT state, the command has to wait until the previous observation is finished. Look at the messages in the upper right part of the display. In the upper left part OBSERVE informs which subscan is currently executed. If you want to cancel the current observation, you have to enter a < CTRL-C > and then type either KILL, CANCEL or CANCEL S. If you don't type one of these 3 commands, the current observation will continue, but the next one does not start until you repeat the command.
NOTE: The Appendix contains a full list of VERBS and their related ADVERBS. In the index a reference to commands is entered in capital letters, a reference to general definitions is entered in regular letters.