Here are several procedures used to observe. A typical observing sequence using these procedure is :
@PR:DEFINE ! If needed @PR:Source_1 ! Define parameters for source_1 @PR:OBSERVE ! Observe source_1 @PR:Source_2 ! Define parameters for source_2 @PR:OBSERVE ! Observe source_2 etc...
The PR:DEFINE.OBS procedure contains all general definitions used in the setup, startup and observation procedure
! PR| DEFINE.OBS define general variables !------------------------------------------------------------------------ if run_window then @pr:x_obs endif DEFINE CHARACTER NAME*12 /GLOBAL ! source name DEFINE CHARACTER CALIBRATOR_1*12 /GLOBAL ! main calibrator DEFINE CHARACTER CALIBRATOR_2*12 /GLOBAL ! suppleant DEFINE CHARACTER CALIBRATOR_3*12 /GLOBAL ! innovation g016 DEFINE CHARACTER CALIBRATOR_B*12 /GLOBAL ! RF Passband calibrator DEFINE REAL LOW_LIMIT /GLOBAL ! DEFINE REAL SUN_LIMIT /GLOBAL ! DEFINE REAL LST_DEFLIM /GLOBAL ! ! RECEIVER is the receiver that should be pointed on source ! POINT-RECEIVER is the receiver used for pointing scans ! FOCUS-RECEIVER is the receiver used for focus scans DEFINE INTEGER RECEIVER /GLOBAL DEFINE INTEGER POINT_RECEIVER /GLOBAL DEFINE INTEGER FOCUS_RECEIVER /GLOBAL DEFINE INTEGER N_SCANS /GLOBAL ! Number of scans per source DEFINE INTEGER N_SUBSCANS /GLOBAL ! Number of subscans per scan DEFINE INTEGER N_DUMPS /GLOBAL ! Number of dumps DEFINE INTEGER N_BAND /GLOBAL ! Number of subscans for RF DEFINE INTEGER N_MOSAIC /GLOBAL ! Number of mosaic positions DEFINE INTEGER N_SHARE /GLOBAL ! Share several sources DEFINE INTEGER STOP_ALARM /GLOBAL ! 1 stop alarm ; 0 set ala 200 DEFINE INTEGER I_CAL /GLOBAL ! Current calibrator DEFINE INTEGER N_CALIBRATORS /GLOBAL ! Share several sources DEFINE INTEGER N_SUBS_CAL[3] /GLOBAL ! Nb subscans / calibrator scan DEFINE INTEGER N_SCANS_CAL[3] /GLOBAL ! Nb scans / calibrator DEFINE INTEGER N_SOURCES /GLOBAL DEFINE CHARACTER NAME_SOURCE*12[20] /GLOBAL DEFINE INTEGER N_SCANS_SOURCE[20] /GLOBAL DEFINE LOGICAL CHANGE_SPECTRAL /GLOBAL DEFINE CHARACTER TYPE_SOURCE*6 /GLOBAL DEFINE INTEGER FSWI_SCANS_CAL /GLOBAL ! Nb scans /calibrator in FSWI DEFINE INTEGER FSWI_SUBS_CAL /GLOBAL ! Nb subscans /calibrator in FSWI DEFINE INTEGER FSWI_SCANS /GLOBAL ! Nb scans /source in FSWI DEFINE INTEGER FSWI_SUBS /GLOBAL ! Nb subscans /source in FSWI DEFINE LOGICAL FSWI_CAL /GLOBAL ! Do or not a Fast-Switch ! !------------------------------------------------------------------------ ! Global variables for auto_snap procedure ! DEFINE INTEGER NUMBER_SOURCES /GLOBAL DEFINE INTEGER N_RF_PASSBAND /GLOBAL DEFINE INTEGER N_SNAP /GLOBAL DEFINE REAL LST_INTERVAL /GLOBAL DEFINE CHARACTER SNAP_NAME*12 /GLOBAL DEFINE LOGICAL NO_RF /GLOBAL DEFINE LOGICAL DO_RF_PASSBAND /GLOBAL DEFINE LOGICAL INIT_SNAP /GLOBAL LET N_RF_PASSBAND 3 LET LST_INTERVAL 2. LET N_SNAP 2 !---------------------------------------------------------------------- ! Pointing session or Baseline measurements ! SYMBOL P_COMMAND "POINT" SYMBOL A_COMMAND "AUTO 4 TWEAK" SYMBOL PC "@ PR:PHASE-ALL" ! Phase calibration SYMBOL LAST "@ PR:PHASE-LAST" ! Last phase calibration SYMBOL BC "@ PR:BAND" ! Bandpass calibration SYMBOL GM "@ PR:GAIN" ! Image Gain measurement SYMBOL OLD "@ pr:setup-type 1" ! Switch to OLD procedures = ../OLD SYMBOL NEW "@ pr:setup-type 2" ! Switch to NEW procedures = ../PRO ! !---------------------------------------------------------------------- ! RDI solves for focus and/or pointing ! DEFINE LOGICAL SOLVE_FOCUS SOLVE_POINT /GLOBAL DEFINE CHARACTER POINT_SOURCE_1*12 /GLOBAL ! main Pointing source DEFINE CHARACTER POINT_SOURCE_2*12 /GLOBAL ! next choice DEFINE CHARACTER FOCUS_SOURCE_1*12 /GLOBAL ! main Pointing source DEFINE CHARACTER FOCUS_SOURCE_2*12 /GLOBAL ! next choice DEFINE REAL T_FOCUS LAST_FOCUS /GLOBAL DEFINE REAL T_POINT LAST_POINT /GLOBAL DEFINE LOGICAL DO_FIVE /GLOBAL ! !--------------------------------------------------------------------- ! Start with default values ! @ pr:defaults !
The setup procedure configures the correlator, select the observing frequency, and leaves the system ready for receiver tuning.
!---------------------------------------------------------------------- ! ! PR:SETUP-Z023.OBS ! Setup procedure for project "Z023" ! ! - Date: Wed May 21 12:17:48 MET 1999 !------------------------------------------------------------------------ SET\END ! Finish previous observation @ PR:defaults ! Restore defaults parameters ! SET\PROJECT Z023 !**! Specify project number for further ! SYMBOL GO "@ pr:observe-all Z023" !* ! data processing CATA SOU inter_base:iram.sou !* ! CATA PHA inter_base:phase-pdb.sou !* ! LET RECEIVER 1 !* ! Observing reference: receiver 1 ! LET LOW_LIMIT 15. !* ! Low elevation limit 15 degrees SAY "Project 'PROJECT' starting" ! ! SYMBOL NAME "M2-56 EQ 2000 23:56:36.081 70:48:17.4 LSR -27" !**! Source ! LET N_SOURCES 1 !* ! use SYMBOL NAME if N_SOURCES.EQ.1 LET N_SUBSCANS 60 !* ! Scan length (in seconds) LET N_SCANS 20 !* ! Number of scans on SOURCE (20 minutes) ! LET CALIBRATOR_1 "1928+738" !* ! 2nd phase calibrator LET CALIBRATOR_2 "0224+671" !* ! 3rd phase calibrator (if necessary) LET CALIBRATOR_3 "......." !* ! 3rd phase calibrator (if necessary) LET N_CALIBRATORS 1 ! 2 (RL) !* ! Use 2 phase calibrators every N_SCANS LET N_SUBS_CAL 45 !* ! Scan length on calibrator (in seconds) LET N_SCANS_CAL 3 !* ! Nb scans on each calibrator (3 scans) LET N_MOSAIC 3 !* ! No mosaic mode IF (N_MOSAIC.NE.0) THEN DEFINE REAL X_MOSAIC[N_MOSAIC] Y_MOSAIC[N_MOSAIC] T_MOSAIC[N_MOSAIC] /GLOBAL LET X_MOSAIC -11 0 11 !* ! LET Y_MOSAIC 0 0 0 !* ! LET T_MOSAIC 7 7 7 !* ! ENDIF ! LET SOLVE_POINT YES ! LET SOLVE_FOCUS YES ! LET FOCUS_RECEIVER 1 !* ! Focussing on receiver 1 LET POINT_RECEIVER 1 !* ! Pointing on receiver 1 LET POINT_SOURCE_1 "1928+738" !**! 1st pointing source LET POINT_SOURCE_2 "0224+671" !* ! 2nd pointing source LET FOCUS_SOURCE_1 "1928+738" !**! 1st focusing source LET FOCUS_SOURCE_2 "0224+671" !* ! 2nd focusing source ! LET CHANGE_SPECTRAL .FALSE. !* ! .TRUE. if need to switch to broad_band ! SPECTRAL 1 20 350 /RECEIVER 1 !**! Define software correlator configuration SPECTRAL 2 80 350 /RECEIVER 1 !**! Define software correlator configuration SPECTRAL 3 160 350 /RECEIVER 1 !**! Define software correlator configuration SPECTRAL 4 160 350 /RECEIVER 2 !**! Define software correlator configuration SPECTRAL 5 160 278 /RECEIVER 2 !**! Define software correlator configuration SPECTRAL 6 160 422 /RECEIVER 2 !**! Define software correlator configuration ! LINE CO(10) 115.271 USB LOW 350 /REC 1 !**! Define observing frequency LINE CO(21) 230.538 LSB LOW 350 /REC 2 !**! Define observing frequency ! IF (N_SOURCES.GT.1) THEN SOURCE 'NAME_SOURCE[1]' /TYPE OBJ ! ELSE SOURCE 'NAME' /TYPE OBJ ! ENDIF LOAD /FREQUENCY ! Load frequency, but don't move antenna now CENTER_LO2 ! ! SET SHOW OFF ! Make sure any changes in the spectral configuration will be detected: SET\LOCK ! TYPE PR:CLEAN.OBS SAY "Project Z023 Type: Mapping / Category: Dual frequency" !**! SAY " " SAY " Tuning Receiver 1: USB, tuning SSB" !**! SAY " Tuning Receiver 2: DSB, tuning DSB" !**! SAY " Observing on Receiver: "'RECEIVER' ! SAY " Receiver Stability (1.3mm): 2-3 (Average)" !**! SAY " " ! ! Insert here any other instructions to the operator/astronomer ! SAY "Frequency sent, receivers may be tuned" SAY "Execute all observations by typing GO" SAY " " SAY "Type END when project is finished" SAY " " SYMBOL PROCEED /INQUIRE "Type RETURN to remove this page: " SET SHOW ON SET SHOW ON
The procedure PR:OBSERVE.OBS is used to perform standard observations
! PR:OBSERVE Project_Number [LST_limit]
!
! Check the required project has been specified
IF (PROJECT.NE."&1") THEN
SAY "Wrong project 'PROJECT', expected &1"
RETURN
ENDIF
!
DEFINE CHARACTER ARG*12
LET ARG "&2"
IF (ARG.NE." ") THEN
LET LST_LIMIT &2
ELSE
LET LST_LIMIT LST()+12.
ENDIF
SOURCE 'NAME' /TYPE OBJ
IF (ELEV(0).LT.LOW_LIMIT) THEN
SAY "Source not up, retry later"
RETURN
ENDIF
IF (LST().GE.LST_LIMIT) THEN
LET LST_LIMIT = LST_LIMIT+24.
ENDIF
!
SET INTEGRATION N_DUMPS
FOR/WHILE (ELEV(0).GE.LOW_LIMIT).AND.(LST().LE.LST_LIMIT)
! Normal phase calibration
@ PR:PHASE-CAL
!
! Now Source observation
SET SCAN N_SCANS
SET SUB N_SUBSCANS
SOURCE 'NAME' /TYPE OBJECT
LOAD
BANDPASS
CALIBRATE
START ! Start N_SCANS
NEXT
!
! Last phase calibration
@ PR:PHASE-LAST
! And says project is finished
@ PR:END
The procedure PR:PHASE-CAL.OBS is used to perform standard phase calibrations, selecting one of the two phase calibrators:
SOURCE 'CALIBRATOR_1' /TYPE PHASE
SET SUB 60
SET SCANS 4
IF (ELEV(0).GE.LOW_LIMIT).AND.(LST().LE.LST_LIMIT)-
.AND.(DSUN.GT.SUN_LIMIT) THEN
LOAD
BANDPASS
CALIBRATE
START
ELSE
SOURCE 'CALIBRATOR_2' /TYPE PHASE
IF (ELEV(0).GE.LOW_LIMIT).AND.(LST().LE.LST_LIMIT)-
.AND.(DSUN.GT.SUN_LIMIT) THEN
LOAD
BANDPASS
CALIBRATE
START
ENDIF
ENDIF
The procedure PR:PHASE-LAST.OBS is similar, but does not check the time limit and accepts lower elevation:
SOURCE 'CALIBRATOR_1' /TYPE PHASE
SET SUB 60
SET SCANS 4
IF (ELEV(0).GE.LOW_LIMIT).AND.(DSUN.GT.SUN_LIMIT) THEN
LOAD
BANDPASS
CALIBRATE
START
ELSE
SOURCE 'CALIBRATOR_2' /TYPE PHASE
IF (ELEV(0).GE.5.0).AND.(DSUN.GT.SUN_LIMIT) THEN
LOAD
BANDPASS
CALIBRATE
START
ENDIF
ENDIF
The procedure PR:END.OBS just notify the system that the project is complete :
IF (PROJECT.NE." ") THEN
NOTE "Project 'PROJECT' complete"
DELETE/SYMBOL GO
LET PROJECT " "
ENDIF