SIMUL_LOGIN (Aug98)       furnace


simul_login --- procedure for pilot login to the simulator


This help file describes the PILOT STARTUP SEQUENCE FOR THE SIMULATOR or the METER-CUBE OVEN. (oven1v0)

The meter-cube furnace has 12 heater circuits and can read as many as 30 thermocouples. All of the software is identical to that for the large furnace.

These instructions assumes that crater (or dorado) is running and that the oven network is intact. These instructions also assume that the on-board VME computers are running. IRAF parameter defaults only work for oven0.

See user_login for information about non-pilot or remote logins.


Do not panic and reboot or logout too hastily. Rebooting normally takes 5 minutes, but it could take as long as 20 minutes depending on the condition of the disk. This login procedure will take at least 4 minutes if you are practiced. You might get into even more trouble than you already had.

Pilot2 should definitely not be running oven on the other workstation (crater or dorado) at the same time. This is not impossible, but it is rather dangerous --- you could destroy the other database if you make a mistake.

STEP 1: login to the console as pilot2.

The console login starts with a blank screen that says: "crater login:" or "dorado login:"

After entering the username and password, this should give you an openwindows screen with:

		- a console window (cmdtool)
		- a cpu meter (perfmeter)
		- purple xterm window with IRAF
		- green xterm window with IRAF
		- red xterm window with IRAF
		- blue xterm window with IRAF
		- a mailtool (for mail)
		- a clock
		- a mailtool (for ovenlog)
		- saoimage
	(roughly in that order)
It takes about 1 minute for all the windows to start.

STEP 2: change to the directory you plan to use.

(crater!/home/pilot and dorado!/home/pilot2 should be reserved for the large oven.) You must change directories in each of the windows. The meter cube normally operates from /home/pilot2/MCUBE/ on dorado.


cl> cd MCUBE/		(yes, MCUBE in caps)
Beware that changing directories does not change your uparm$ directory, so watch out for parameter conflicts with the large oven. The best way to be safe is to specify noven=1 on the command line for every task.

STEP 3: Load the external IRAF packages for the oven.

This step is no longer needed as the mirror tasks used to run the oven are loaded automatically when the pilot logs in.

However, you may still load the mirror package in each xterm window.


cl> mirror

The "mi>" prompt indicates that the mirror package is loaded. Type "?" for a list of the tasks in the active package (the last one loaded from the command line).


mi> ?
      alumc   ograph  ovenb   ovend   oveng   ovenr   tcmark  
      odisp   oven    ovenc   ovene   ovenp   ovenw   

If you have not loaded the mirror package, you can still get a list of the tasks in the package by saying "help mirror" or "help mirror op=dir".

STEP 4: Create shared memory segments if needed

Shared memory segments must be created and initialized first. Check these with "ipcs". There should be 1 segment for on-board computer v0, but other segments could exist for another oven.

Example (that's OK)

mi> !ipcs
IPC status from crater as of Thu Jun  6 18:25:12 1991
T     ID     KEY        MODE       OWNER    GROUP
Message Queues:
Shared Memory:
m    300 0x00000110 --rw-r--r--    pilot2    other

If shared memory segments do not exist, the oven task will create and initialize (fill with zeros) them. The shared memory segments can only be created by the pilot. Run the oven task for the v0 computer as shown below. (use the blue window) Before you "exit" from oven, use the "Database" menu to "Read parameters from disk". If you know that you have "good" parameters in the v-computers, you could "Read parameters from oven" instead. "Read parameters from disk" should always work, but could give you clock settings that are hours or even days old.


mi> oven noven=1 ncomp=0	(Exit)
If an oven task crashes, use flpr to flush the process cache before restarting. unlearn resets the default parameters for the task. oven.readonly must be "no" to modify shared memory segments or the database file. And oven.remove must be "no" to make a permanent shared memory segment.


mi> unlearn oven
mi> oven.readonly=no
mi> oven noven=1 ncomp=0

STEP 5: Start the data and parameter daemons.

But, don't start background jobs if they are already running! Check by using:


mi> !ps -aux | grep pilot2 
Oven tasks appear as "/usr/iraf/mirror/bin.sparc/x_mirror.e" The cls in your xterm windows appear as "/usr/iraf/bin.sparc/cl.e" Background tasks will have an "N" in the STAT column. Note that each background daemon has an associated cl. If you only want to check for the oven daemons, you can say:


mi> !ps -aux | grep mirror		(shows all mirror tasks)
mi> !ps -ax | grep N			(shows all background tasks)
If you aren't sure, kill all pilot background jobs and start clean. Each demon also has an associated background cl task. To kill tasks, use the Unix command:


mi> !kill -9 xxxx
Where xxxx is the PID number displayed by ps. PID in this case means Process IDentifcation, not Proportional, Integral, Derivative.

Always use care when killing tasks. It is particularly unproductive to kill the window you are working in. It is also recommended that you kill or spawn tasks when the clock is between 30 and 45 seconds after the minute. This avoids starting or stopping tasks while they are communicating. Try to use the IRAF kill command whenever possible. Killing a demon may cause its associated cl task to go into a loop and use a lot of CPU time.

Advanced users who are interested in a rapid kill may wish to try furnace.killer from J. Hill's scopes package.

For a brief description of the daemon's function type: help ovenp

Now you are ready to start the daemons in the blue window (border):


mi> ovenp noven=1 ncomp=0 &
mi> ovenb noven=1 ncomp=0 &
	(if you are coldstarting, turn on VME computer here)
mi> ovend noven=1 ncomp=0 &
mi> oven  noven=1 ncomp=0
The blue window will now continue the oven program talking to the shared memory segment for v0. If the v0 computer is functioning, you should get fresh data each minute. If the v0 computer has been off, reboot it here.

For a brief description of the daemon's function type: help ovenp

Hints: Beware of parameter database synchronization problems after wierd scenarios. One possible problem occurs if the vX computers booted before the oven daemons were running. Download parameters to the oven (and double check clock parameters).

STEP 6: Start the error daemons.

You are never really secure unless you have your error daemons running.

Start these four daemons in the red window (border):


mi> ovene noven=1 ncomp=0 offset=10 & 
mi> oveng noven=1 & 
mi> oven noven=1 ncomp=0 offset=14
Set the oven program in the red window to read the error log.

To verify which background tasks are running in a particular xterm window, use the IRAF command:


mi> jobs
    [1] 1473:50  Running   ovenb & 
    [2] 1473:38  Running   ovenp & 
    [3] 1407:02  Running   ovend & 

STEP 7: Start the oven cron task.

Start the cron task in the purple window (border):


mi> ovenc &
ograph and odisp should now display data at appropriate intervals. To stop the cron task or another daemon, use the IRAF kill command in the relevant window: kill x (where x is the job number [1-4])

Other useful commands:

To check the communication links, use "!netstat -f inet".

To remove a shared memory segment, use "!ipcrm -m xxx".

To make a hardcopy of a window, use "!xwd |xpr -device ps |lpr". If the window is white on black use "!xwd |xpr -device ps -rv |lpr" to reverse it. (These commands are usually aliased to "hc" and "hr".

To logoff from the console, select "Exit" from the Rootmenu and then confirm your selection when prompted. (The oven pilot should never need to logoff, except for software changes or workstation failure.)


Data files are huge as they are in the large oven (10 MB per day).


oven, ovenb, ovenp, ovend, ovene, oveng, ovenw, ovenc, ovenr


pilot_login, pilot_short, user_login


jobs, kill, spy, lpar, unlearn, flpr, prc, cursors, help


xterm, ps, grep, ipcs, ipcrm, openwin, kill, w, netstat, X11, pstat, saoimage