Description:
Interpret a character
string containing a list of bolometers, put number of bolometers to be used in N_BOL_SELECT,
channel and ADC of selected bolometers in BOL_SELECT_CHAN and BOL_SELECT_ADC
respectively. BOL_ENABLED entries will also be set .TRUE. for bolometers that have been
selected. The number of sub-instruments involved is returned in N_SUB, and the names of the
sub-instruments are given in SUB_INSTRMNT. The Nasmyth coords of the point on the
focal plane to be treated as the axis of the instrument will be returned in CENTRE_DU3,
CENTRE_DU4.
The given string can either be ALL, in which case all bolometer channels will be selected, or be a list of
words specifying parts of the 144 channel array. Each word in such a list must be separated from the
others by ’,’, and the words can select bolometers by type - SHORT, LONG, P1100, P1300, P2000,
SHORT_DC, LONG_DC, P1100_DC, P1300_DC, P2000_DC, or by channel number, either individually
or as a range, specified by ADC letter and channel number e.g. a3. Allowed ADCs are A-I and
channels 1-16.
Repeated words in the list will be ignored, as will repeated selections of the same bolometer by
different routes.
The instrument sections returned in SUB_INSTRMNT will be arranged in the order SHORT, LONG,
P1100, P1300, P2000.
CENTRE_DU3, CENTRE_DU4 will be set equal to ARRAY_CENTRE_DU3, ARRAY_ CENTRE_DU4 if
the first word in the selection is SHORT, LONG, SHORT_DC or LONG_DC. They will be set to the
offsets of the bolometer concerned if the first word in the selection is P1100, P1300, P2000 or a
bolometer name like A7. If either of the coordinates ends up being set to the ’bad’ value, they will be
reset to zero and a warning message output.
Errors will be reported and bad status returned if -
-
there are too many words in BOLOMETERS
-
BOLOMETERS is empty
-
if when bolometers are selected by type no detectors of the desired type are found in the
database
-
if the type selected refers to a single bolometer (P1100, P1300, P2000, SHORT_DC, LONG_DC,
P1100_DC, P1300_DC, P2000_DC) more than bolometer of the required type is found in the
database
-
if bolometers are selected by ID, e.g. a15, the ID or range of IDs is bad
Warnings will be reported but good status returned if -
-
any selected bolometer has undefined attributes (type, calib, dU3, or dU4)
-
CENTRE_DU3, CENTRE_DU4 are set to ’bad’ values (they will be reset to 0 too)
Invocation
CALL SCULIB_BOLSELECT (BOLOMETERS, BOL_TYPE, BOL_CALIB, BOL_DU3,
BOL_DU4, BOL_QUAL, BOL_ENABLED, NUM_CHAN, NUM_ADC, ARRAY_CENTRE_DU3,
ARRAY_CENTRE_DU4, BOL_SELECT_CHAN, BOL_SELECT_ADC, N_BOL_SELECT, MAX_SUB,
SUB_INSTRMNT, N_SUB, CENTRE_DU3, CENTRE_DU4, STATUS)
Arguments
BOLOMETERS =
CHARACTER()
(Given)
list of bolometer selections
BOL_TYPE (NUM_CHAN, NUM_ADC)
=
CHARACTER()
(Given) type of bolometer
BOL_CALIB (NUM_CHAN, NUM_ADC)
= REAL (Given)
target calibrator values for bolometers
BOL_DU3 (NUM_CHAN, NUM_ADC) = REAL
(Given)
Nasmyth dU3 offset of bolometer from field centre
BOL_DU4 (NUM_CHAN,
NUM_ADC) = REAL (Given)
Nasmyth dU4 offset of bolometer from field centre
BOL_QUAL
(NUM_CHAN, NUM_ADC)
= INTEGER (Given) quality of bolometers
BOL_ENABLED
(NUM_CHAN, NUM_ADC)
= LOGICAL (Returned) .TRUE. if bolometer was selected
NUM_CHAN = INTEGER (Given)
number of channels per A/D
NUM_ADC = INTEGER
(Given)
number of A/D cards
ARRAY_CENTRE_DU3 = REAL (Given)
the DU3 offset
of the centre to be used for either array
ARRAY_CENTRE_DU4 = REAL (Given)
the
DU4 offset of the centre to be used for either array
BOL_SELECT_CHAN (NUM_CHAN
NUM_ADC)
= INTEGER (Returned) channel numbers of selected bolometers
BOL_SELECT_ADC (NUM_CHAN
NUM_ADC)
= INTEGER (Returned) A/D card numbers of selected bolometers
N_BOL_SELECT
= INTEGER (Returned)
total number of bolometers selected
MAX_SUB = INTEGER
(Given)
maximum number of sub-instruments
SUB_INSTRMNT (MAX_SUB) =
CHARACTER()
(Returned)
names of instrument sections being used
N_SUB = INTEGER (Returned)
the number
of sub-instruments being used
CENTRE_DU3 = REAL (Returned)
the DU3 of the instrument
’centre’
CENTRE_DU4 = REAL (Returned)
the DU4 of the instrument ’centre’
STATUS =
INTEGER (Given and returned)
global status
Notes:
The routine will not work properly if the
input BOLOMETERS string is more than 400 characters long.
Copyright
Copyright
©1995,1996,1997,1998,1999 Particle Physics and Astronomy Research Council. All Rights Reserved.