_____________________
The basic operation of the program is to record for each
CAGET cycle (which it actually gets from the OBSCOM history,
not CAGET), what the timestamp was, the project associated
with the scan, the number of tracking antennas, the
integration time and whether the source was marked as a
calibrator. These data are accumulated into the file
AT$LOG:CANDID.DAT.
_____________________
At the end of each AEST day, these data are processed and a
summary of time expenditure is generated for each project
that operated during that day. This information is
datestamped with the day in question and appended to the end
of a log file called AT$LOG:CANDID.LOG. Later, a
postprocessor will be able to read that extended log and
generate ATCA downtime and utilisation reports .
_____________________
The name CANDID means, of course, "unbiased; not censorious;
frank", and it is hoped that this program will, at last,
give us a better representation of the downtime at the ATCA.
Until now, we have relied on the sketchy reports of the
observers; often underestimated or ignored. For those who
want to make it an acronym, try: Compact Array Non-Downtime
Intelligent Detector (feel free to come up with something
better).
_____________________
Some "trigger" code has been left in, but commented out.
This allows the programmer to test the processing
functionality without having to wait for an AEST day cahnge.
Call sequence:
program candid
implicit none
include 'array$inc:array_gs.inc'
include 'caobs$inc:caobs_status.inc'
Creation date:
7-Nov-1995
Author: Derek McKay
File: CANDID.FOR
decode_maskFunction:
Converts the mask into the number of antennas tracking and a calcode. Normally the calcode is blank, but may be set to "C" if the cycle was marked as a calibrator field. The working copy of the antenna mask is called "mask", the original is left in its pristine state as "ref_mask".
Call sequence:
subroutine decode_mask(ref_mask,calcode,num_ants)
implicit none
integer
- ref_mask, ! Input. Encoded cycle mask
- num_ants ! Returned. Number of tracking antennas
character*(*)
- calcode ! "C" if a calibrator
Creation date:
8-Nov-1995
Author: Derek McKay
File: CANDID.FOR
get_projectFunction:
This routine returns the project ID based on the extension of the current RPFITS file.
Call sequence:
character*80 function get_project()
implicit none
include 'caobs$inc:caobs_status.inc'
Creation date:
8-Nov-1995
Author: Derek McKay
File: CANDID.FOR
get_time_stamp()Function:
This routine derives a time stamp for data to go inot the log files. Basically, it ends up as a number in the range 0000 - FFFF (hexadecimal) that corresponds to the range 0 - 86399 (seconds), i.e. one day. The resolution is about 1.3 seconds, which is fine considering that integration cycles are typically of 10 or 15 seconds each.
Call sequence:
integer function get_time_stamp()
implicit none
Creation date:
8-Nov-1995
Author: Derek McKay
File: CANDID.FOR
open_fileFunction:
This routine opens a new file for the cycle utililisation log. If one already exists for that day, the routine opens it for appending.
Call sequence:
character*80 function open_file(new)
implicit none
logical new ! TRUE if we should be opening a new file
Creation date:
8-Nov-1995
Author: Derek McKay
File: CANDID.FOR
process_fileFunction:
Processor for analysing UTIL datafiles
Call sequence:
logical function process_file(datestamp)
implicit none
character*(*) datestamp
Creation date:
8-Nov-1995
Author: Derek McKay
File: CANDID.FOR
utl$doc:for_html.dat.
Last updated 14-OCT-1996.