Programs auxiliary
to the allsky search of EXPLORER data
Saving backup copies
Despite all normal measures taken to ensure smooth unattended running of
the search program sometimes there happen instances of a damage of
the control file, jobi*.mat, which may lead to the loss of even a few days
of computer work prior to the damage plus the time till the discovery
of such a crash.
The program SafeCopy.exe (written in Fortran, which is true also
for other
two programs described on this page) is a tool intended to regularily save
a backup copy of the jobi*.mat file, a working file created periodically
by the main search program. In case the file is old or erratic SafeCopy,
after restoring the file if necessary, can also restart the main search
program.
This small utility is conveniently run with the aid of OS scheduling
facility and/or with a batch file. E.g. Windows can be set to run a batch
calling this program alone every 2 (faster PCs) to 12 hours (PCs with
a slower clock). The program may also be included in another batch that
starts the search whenever a PC is reset (i.e.
with each start of OS) to make sure that after a power failure or other
abrupt reset of the PC the AllSky search program will not find an invalid
jobi*.mat file (which would be disastrous). To run the program just issue
the following DOS command:
SafeCopy [filename path file_age]
where the 'file_age' is expressed in minutes since the last
modification of the 'filename'. If no command line arguments
are given they are assumed to be: 'jobi*.mat c:\candidatessi -720'.
The program SafeCopy.exe first copies the 'filename' and analyses this
temporary file (note that the work on a temporary copy seems safer then
with the original which is used also by the main program) to check if
it is of correct length (i.e. 352 bytes),
it is readable,
it has in its header the word 'MATLAB'.
If all seems OK a new backup copy is saved in the 'path' directory
and a counter in the SafeCopy.log file is increased by one.
If any of the conditions is not met, the progam repeats the checking
a number of times (currently set to 15) and if the erratic condition
persists, it finally substitutes 'filename' with a previously copied
version.
When restoration from the backup copy takes place, this program
appends a separate info line to the log file. In this case, and also
if the 'filename' seems correct but has been created more than
'file_age' minutes ago, the program checks if the main AllSky search
program (a job*.exe) is running. To this end it calls the following
DOS command: 'pv -u -q job* > pv--tmp.log' (the pv
command executes a process viewer utility
PrcView,
v 3.5.1.12b), and then searches thus created .log file for a process
whose name begins with 'JOB'.
The absence of such a process means the main program is not running
so a batch named 'RunJob.bat' may be executed, if desired, and a record
added to the log file. For nondedicated PCs the absence of JOB* process
may indicate an intentional state of affairs (a user might have
stopped it to run some more demanding program, e.g. a game) and
automatic restart would then be unwelcome. Therefore there is
a possibility to switch off the option of restarting the main
program; this is done by setting a negative value for the command
line parameter 'file_age'.
There is another use of the mentioned freeware utility, the PrcViewer.
If our search program is run as a background process it considerably
slows down other applications which may be annoying for users of PCs
with clocks below say 1 GHz. The remedy lies in setting a lower
priority for our program, unfortunately not all OS allow for this.
The PrcViewer can do this for us even under Windows 98. Again,
the priority change (usually from 'Normal' to 'Idle') can
accompany each start of the search program.
Plotting progress maps
The executable Progress.exe plots progress of computing in the AllSky
search based on numerical data in the files 'jobiasci.dat'
and 'jobiascS.dat' (containing data for northern and southern sky hemisphere,
respectively). These .dat files consist of tabular information on starting and
current (m,n) point being analysed by each of the computers employed in
the search. All points between these two are transformed into sky coordinates
(declination and right ascension or galactic latitude and longitude) and
are plotted on a planar projection of the celestial sphere. The plots made
for chosen projection are output into two postscript format files, one for
each hemisphere. Thus the program must be executed twice to obtain two plots
in each of the two coordinate frames (equatorial and galactic). An output
plot may look like this:
These postscript files are then converted (outside of the discussed program,
e.g. with the GSView postscript viewer) to a binary format and later merged
with corresponding sky maps. These mergers are presented on our
main page and here.
Analysing PC performance in AllSky search
The program PC-ty.exe plots progress and performance of computing in
the AllSky search
for individual PCs: cell number and speed versus time. Detections groupped
at the same time (due to DOS time stamp of a file being given with 1 minute
resolution) can be depicted as error bars proportional to number of detections.
These drawings are based on analysis of DOS listings of files ss*.mat from
the 'candidatessi' directory. Up to 10 list files, one file per PC, can be
supplied for analysis in one run upon prompting by this program with results
presented on one plot, each PC data in different color. For speed determination
the listing should preferably be ordered in time. If simple DOS command
'dir ss*>file.lst' not suffices the user may try 'dir ss*|sort /+29 >file.lst'
(perhaps a little editing will be still needed, however it is not absolutely
necessary). The plot in PostScript format is placed in a file named after
the name of the last list file analysed (any extension being replaced by .ps).
The program options are:
Scale - the size of postscript output figure is multiplied by this value
(a negative value means portrait orientation of the output).
Days - draw speed averaged over at least this interval in days; no speed
plot is drawn if nonpositive value is entered.
mDet - if set to > 0 the program draws number of multiple detections
(as error-like bars); set to 0 for continuous line plot and >1 for
the postscript symbol number (e.g. 264 for x).
The program starts with Scale, Days and mDet set to 1.000, 1.0 and 0, respectively.
When a quick lookup of a single PC is desired, one may conveniently use the mouse
to drag and drop the .lst file onto the PC-ty.exe in Windows explorer and then
press a few times the ENTER key to accept the options suggested.
In addition to the graphs the .ps file contains also numerical summary of total
number of sky cells analysed, candidate signals found and time span over which
the analysis was performed. Further, for each of PCs the highest signal to noise
ratio, highest speed of computation and efficiency of computer power usage (i.e.
average speed expressed in percents of the highest speed) is given.
The above figure is an example of a plot drawn with Scale=0.75, Days=1
and mDet=1, and
made for two PCs employed during search on the (already finished) northern
hemisphere. One of the PCs is an Athlon 1333 MHz (shown in red), on which
the search was run as a background process during normal daily usage of the PC, and the other, a dedicated one shown in blue, is a Pentium IV 1700 MHz. One can easily appreciate the striking differences in
performance. Note however also that the maximum speeds achieved in this
example are roughly proportional to the processor clocks.
In fact all the analysis carried out with this program should be taken rather
lightly since it does not take into account computation time before the first detected candidate nor after the last one. Furthermore any possible clock jumps
would distort the speed estimates.