SCULIB_READBOLS

read bolometer data from a name file

Description:

This routine reads bolometer data from an ASCII file named in FILE. The format of the file is assumed to be:-

proc SET_BOLS
{ flat field data file written by SCUDR
{ Tues Apr 20 18:09:20 1993
{ observation run number 6
{ long-wave array
SETBOL name type du3 du4 calib theta a b qual day run ref
" ditto for other long-wave array bolometers "
{ short-wave array SETBOL name type du3 du4 calib theta a b qual day run ref
" ditto for other short-wave array bolometers "
{ P1100
SETBOL name type du3 du4 calib theta a b qual day run ref
{ P1300
SETBOL name type du3 du4 calib theta a b qual day run ref
{ P2000
SETBOL name type du3 du4 calib theta a b qual day run ref
end proc

where:-

<name > is the name of a bolometer (e.g. a16), case insensitive
<type > is the type of the bolometer, e.g. SHORT, LONG, P1100, P1300, P2000
<du3 > is the Nasmyth DU3 coordinate of the bolometer
<du4 > is the Nasmyth DU4 coordinate of the bolometer
<calib > is the flat-field value of the bolometer
<theta > is the angle between x axis an ‘a’ axis of fitted ellipse
<a > is the semi-length of the ‘a’ axis
<b > is the semi-length of the ‘b’ axis
<qual > is the quality of the bolometer; 0=good, 1=bad
<day > is the date when the information was measured, in days from 1 Jan
<run > is the number of the run when the information was measured
<ref > is the name of the reference bolometer

Values for bolometers that are not specified in the file will be set to default values; ’BAD’ for strings, 0 for all other values except BOL_QUAL which will be 1.

Errors will be reported and bad status returned if:-

Each line in the file will be converted to upper case. Characters to the right of a { character in a line will be treated as comments and ignored.

Invocation

CALL SCULIB_READBOLS (FILE, NUM_CHAN, NUM_ADC, BOL_TYPE, BOL_DU3, BOL_DU4, BOL_CALIB, BOL_THETA, BOL_A, BOL_B, BOL_QUAL, BOL_DAY, BOL_RUN, BOL_REF, STATUS)

Arguments

FILE = CHARACTER() (Given)
the name of the file
NUM_CHAN = INTEGER (Given)
number of channels per ADC
NUM_ADC = INTEGER (Given)
number of ADC cards
BOL_TYPE (NUM_CHAN, NUM_ADC) = CHARACTER() (Returned)
the type of bolometer; SHORT, LONG, P1100, etc.
BOL_DU3 (NUM_CHAN, NUM_ADC) = REAL (Returned)
the DU3 Nasmyth coordinate of the bolometer
BOL_DU4 (NUM_CHAN, NUM_ADC) = REAL (Returned)
the DU4 Nasmyth coordinate of the bolometer
BOL_CALIB (NUM_CHAN, NUM_ADC) = REAL (Returned)
the target calibration of the bolometer
BOL_THETA (NUM_CHAN, NUM_ADC) = REAL (Returned)
angle between x axis and ‘a’ axis of fitted ellipse (radians)
BOL_A (NUM_CHAN, NUM_ADC) = REAL (Returned)
half length of ‘a’ axis of fitted ellipse
BOL_B (NUM_CHAN, NUM_ADC) = REAL (Returned)
half length of ‘b’ axis of fitted ellipse
BOL_QUAL (NUM_CHAN, NUM_ADC) = INTEGER (Returned)
the bolometer quality
BOL_DAY (NUM_CHAN, NUM_ADC) = DOUBLE PRECISION (Returned)
the date when the bolometer was measured
BOL_RUN (NUM_CHAN, NUM_ADC) = INTEGER (Returned)
the run when the bolometer was measured
BOL_REF (NUM_CHAN, NUM_ADC) = CHARACTER() (Returned)
the name of the reference bolometer used
STATUS = INTEGER (Given and returned)
global status

Copyright

Copyright ©1995,1996,1997,1998,1999 Particle Physics and Astronomy Research Council. All Rights Reserved.