SCULIB_BOLSELECT

interpret a list of selected bolometers

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 -

Warnings will be reported but good status returned if -

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.