$ VLBDDT.001 $---------------------------------------------------------------------- $! RUN file for software verification using simulated data $# Run POPS $----------------------------------------------------------------------- $; Copyright (C) 1996-1997 $; Associated Universities, Inc. Washington DC, USA. $; $; This program is free software; you can redistribute it and/or $; modify it under the terms of the GNU General Public License as $; published by the Free Software Foundation; either version 2 of $; the License, or (at your option) any later version. $; $; This program is distributed in the hope that it will be useful, $; but WITHOUT ANY WARRANTY; without even the implied warranty of $; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the $; GNU General Public License for more details. $; $; You should have received a copy of the GNU General Public $; License along with this program; if not, write to the Free $; Software Foundation, Inc., 675 Massachusetts Ave, Cambridge, $; MA 02139, USA. $; $; Correspondence concerning AIPS should be addressed as follows: $; Internet email: aipsmail@nrao.edu. $; Postal address: AIPS Project Office $; National Radio Astronomy Observatory $; 520 Edgemont Road $; Charlottesville, VA 22903-2475 USA $----------------------------------------------------------------------- $--------------------------------------------------------------- $ $ This procedure runs software verification tests $ using simulated data. Primary reliance is on $ tasks DTSIM and DTCHK. $ A. Kemball, NRAO Nov. 1996 $ $ Define all variables. $ PROC VARDEF STRING*48 ZOUTFL, ZVER, GVER; STRING*5 ZTASK; STRING*4 ZOPTYP; SCALAR ZOUTDI, GDOPOL; FINISH; $ $ Main active procedures $ PROC SETINP $ Set input file to present output file name INNAME = OUTNAME; INCLASS = OUTCLASS; INSEQ = OUTSEQ; INDISK = OUTDISK; RETURN; FINISH; PROC SETFIL $ Set output/input to standard test file name OUTNAME = 'VLBDDT-SYS'; OUTCLASS = 'UVDDT'; OUTSEQ = 1; OUTDISK = ZOUTDI; SETINP; INTYP = 'UV'; RETURN; FINISH; PROC SETCLB $ Set default CALIB parameters CALSOUR = ' '; QUAL = -1; CALCODE = ' '; SELBAND = -1; FREQID = -1; TIMERANG = 0; BCHAN = 0; ECHAN = 0; ANTENNAS = 0; DOFIT = 0; SUBARRAY = 0; UVRANGE = 0; WTUV = 0; DOCALIB = -1; FLAGVER = 0; DOBAND = -1; SMOOTH = 0; CLR2N; INVERS = -1; NCOMP = 0; NMAPS = 0; CMETHOD = ' '; CMODEL = ' '; SMODEL = 0; CLRON; REFANT = 0; SOLINT = 0.0; APARM = 0; SOLTYPE = ' '; SOLMODE = ' '; SOLCON = 0; CPARM = 0; SNVER = 0; ANTWT = 0; GAINERR = 0; BADDISK = 0; RETURN; FINISH PROC SETSPT; $ Set default SPLIT parameters SOURCES = ' '; QUAL = -1; CALCODE = ' '; TIMERANG = 0; STOKES = ' '; SELBAND = -1; SELFREQ = -1; FREQID = 1; BIF = 1; EIF = 0; BCHAN = 1; ECHAN = 0; SUBARRAY = 1; DOCALIB = -1; GAINUSE = 0; DOPOL = -1; BLVER = -1; FLAGVER = 0; DOBAND = -1; BPVER = 0; SMOOTH = 0; OUTCL = 'SPLIT'; OUTSEQ = 0; OUTDISK = ZOUTDI; DOUVCOMP = 1; APARM = 0; CHANSEL = 0; BADDISK = 0; RETURN; FINISH; PROC CLB_1 $ CALIB_1: single channel RR, phase, L1 solution type VERSION = GVER; TASK 'DTSIM'; SETFIL; INFILE 'RUNSYS:DTSIM.CALIB_1'; GO 'DTSIM'; WAIT 'DTSIM'; SETCLB; SOLINT = 0.2; SOLMODE = 'P'; SOLTYPE = 'L1'; APARM(1)=2; VERSION = ZVER; GO 'CALIB'; WAIT 'CALIB'; VERSION = GVER; TASK 'DTCHK'; INEXT = 'SN'; INVERS = 1; OPCODE = 'TABC'; OPTYPE = 'PHAS'; APARM 0, 0, 5e-4, 5e-3; PRTLEV = 0; TIMERANG = 0; COMMENT = 'CALIB_1: SINGLE CHANNEL RR PHASE/L1'; GO 'DTCHK'; WAIT 'DTCHK'; SETFIL; ZAP; RETURN; FINISH; PROC CLB_2 $ CALIB_2: single channel RR, amp & phase, L1 solution type VERSION = GVER; TASK 'DTSIM'; SETFIL; INFILE 'RUNSYS:DTSIM.CALIB_2'; GO 'DTSIM'; WAIT 'DTSIM'; SETCLB; SOLINT = 0.2; SOLMODE = 'A&P'; SOLTYPE = 'L1'; APARM(1)=2; VERSION = ZVER; GO 'CALIB'; WAIT 'CALIB'; VERSION = GVER; TASK 'DTCHK'; INEXT = 'SN'; INVERS = 1; OPCODE = 'TABC'; OPTYPE = 'PHAS'; APARM 0, 0, 5e-4, 5e-3; PRTLEV = 0; TIMERANG = 0; COMMENT = 'CALIB_2: SINGLE CHANNEL RR AMP & PHASE/L1'; GO 'DTCHK'; WAIT 'DTCHK'; OPTYPE 'AMP'; APARM 2e-5, 5e-4, 0; GO 'DTCHK'; WAIT 'DTCHK'; SETFIL; ZAP; RETURN; FINISH; PROC CLB_M $ All CALIB tests IF ((ZOPTYP = '1') ! (ZOPTYP = 'ALL')) THEN CLB_1; END; IF ((ZOPTYP = '2') ! (ZOPTYP = 'ALL')) THEN CLB_2; END; RETURN; FINISH; PROC SETBP $ Set default BPASS parameters USERID = 0; CALSOUR = ' '; QUAL = -1; CALCODE = ' '; UVRANG = 0; TIMERANG = 0; STOKES = ' '; SELBAND = -1; SELFREQ = -1; FREQID = 1; BIF = 1; EIF = 0; BCHAN = 1; ECHAN = 0; SUBARRAY = 1; ANTENNAS = 0; CLR2N; INVERS = 0; NCOMP = 0; SMODEL = 0; DOCALIB = -1; GAINUSE = 0; DOPOL = -1; FLAGVER = 0; SOLINT = -1; BPVER = 0; SMOOTH = 0; ANTWT = 0; BPASSPRM = 0; CHANSEL = 0; CLR3N; BADDISK = 0; RETURN; FINISH; PROC BPA_1 $ BPASS_1: test BPASS, then BP removal using SPLIT VERSION = GVER; TASK 'DTSIM'; SETFIL; GO 'DTSIM'; WAIT 'DTSIM'; VERSION = ZVER; TASK 'INDXR'; INFILE = ''; SETFIL; CPARM = 0; GO 'INDXR'; WAIT 'INDXR'; VERSION = ZVER; TASK 'BPASS'; SETFIL; SETBP; BPASSPRM(10) = 1; BPASSPRM(5) = 1; GO 'BPASS'; WAIT 'BPASS'; VERSION = ZVER; TASK 'SPLIT'; SETFIL; SETSPT; DOBAND 1; BPVER = 0; GO 'SPLIT'; WAIT 'SPLIT'; VERSION = GVER; TASK 'DTCHK'; INNAME = 'SRC_1'; INCLASS = 'SPLIT'; INSEQ = 1; INEXT = ' '; INVERS = 0; OPCODE = 'UVUN'; OPTYPE = 'AMP'; APARM 1e-2, 2e-2, 0; PRTLEV = 0; TIMERANG = 0; GO 'DTCHK'; WAIT 'DTCHK'; OPTYPE = 'PHAS'; APARM = 0.0, 0.0, 1e-3, 0.1, 0; GO 'DTCHK'; WAIT 'DTCHK'; SETFIL; ZAP; INNAME = 'SRC_1'; INCLASS = 'SPLIT'; INSEQ = 1; ZAP; RETURN; FINISH; PROC BPA_M $ All BPASS tests IF ((ZOPTYP = '1') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BPASS_1: non-VLBA, full Stokes, 128 channel'; INFILE = 'RUNSYS:DTSIM.BPASS_1'; REFANT = 4; BPA_1; END; IF ((ZOPTYP = '2') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BPASS_2: VLBA, full Stokes, 128 channel'; INFILE = 'RUNSYS:DTSIM.BPASS_2'; REFANT = 4; BPA_1; END; RETURN; FINISH; PROC BPX_A $ Test BP removal (AC data) VERSION = GVER; TASK 'DTSIM'; SETFIL; GO 'DTSIM'; WAIT 'DTSIM'; VERSION= ZVER; TASK 'INDXR'; INFILE = ''; SETFIL; CPARM = 0; GO 'INDXR'; WAIT 'INDXR'; FOR I = 1 TO 7 VERSION = ZVER; TASK 'SPLIT'; SETFIL; SETSPT; DOBAND = I; BPVER = 1; APARM(5) = 2; GO 'SPLIT'; WAIT 'SPLIT'; VERSION = GVER; TASK 'DTCHK'; INNAME = 'SRC_1'; INCLASS 'SPLIT'; INSEQ = 1; INEXT = ' '; INVERS = 0; OPCODE = 'UVUN'; OPTYPE = 'AMP'; APARM = 1.003, 0.02, 0; TIMERANG = 0; GO 'DTCHK'; WAIT 'DTCHK'; INDISK = ZOUTDI; INNAME = 'SRC_1'; INCLASS = 'SPLIT'; INSEQ = 1; ZAP; END; SETFIL; ZAP; RETURN; FINISH; PROC BPX_B $ Test BP removal (XC data) VERSION = GVER; TASK 'DTSIM'; SETFIL; GO 'DTSIM'; WAIT 'DTSIM'; VERSION= ZVER; TASK 'INDXR'; INFILE = ''; SETFIL; CPARM = 0; GO 'INDXR'; WAIT 'INDXR'; FOR I = 1 TO 7 VERSION = ZVER; TASK 'SPLIT'; SETFIL; SETSPT; DOBAND = I; BPVER = 1; APARM(5) = 0; GO 'SPLIT'; WAIT 'SPLIT'; VERSION = GVER; TASK 'DTCHK'; INNAME = 'SRC_1'; INCLASS 'SPLIT'; INSEQ = 1; INEXT = ' '; INVERS = 0; OPCODE = 'UVUN'; OPTYPE = 'AMP'; APARM = 0.003, 0.02, 0; TIMERANG = 0; GO 'DTCHK'; WAIT 'DTCHK'; INDISK = ZOUTDI; OPTYPE = 'PHAS'; APARM = 0.0, 0.0, 0.001, 0.04, 0; GO 'DTCHK'; WAIT 'DTCHK'; INNAME = 'SRC_1'; INCLASS = 'SPLIT'; INSEQ = 1; ZAP; END; SETFIL; ZAP; RETURN; FINISH; PROC BPX_M $ All BP removal tests IF ((ZOPTYP = '1') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BP_1: non-VLBA; std; AC' INFILE = 'RUNSYS:DTSIM.BP_1'; BPX_A; END; IF ((ZOPTYP = '2') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BP_2: non-VLBA; std; XC' INFILE = 'RUNSYS:DTSIM.BP_2'; BPX_B; END; IF ((ZOPTYP = '3') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BP_3: non-VLBA; poly; AC' INFILE = 'RUNSYS:DTSIM.BP_3'; BPX_A; END; IF ((ZOPTYP = '4') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BP_4: non_VLBA; poly; XC' INFILE = 'RUNSYS:DTSIM.BP_4'; BPX_B; END; IF ((ZOPTYP = '5') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BP_5: VLBA; std; AC' INFILE = 'RUNSYS:DTSIM.BP_5'; BPX_A; END; IF ((ZOPTYP = '6') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BP_6: VLBA; std; XC' INFILE = 'RUNSYS:DTSIM.BP_6'; BPX_B; END; IF ((ZOPTYP = '7') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BP_7: VLBA; poly; AC' INFILE = 'RUNSYS:DTSIM.BP_7'; BPX_A; END; IF ((ZOPTYP = '8') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BP_8: VLBA; poly; XC' INFILE = 'RUNSYS:DTSIM.BP_8'; BPX_B; END; RETURN; FINISH; PROC SETFRN $ Set default FRING parameters CALSOUR 'SRC_1'; QUAL = -1; CALCODE = ' '; SELBAND = -1; SELFREQ = -1; FREQID = -1; TIMERANG = 0; BCHAN = 1; ECHAN = 0; ANTENNAS = 0; DOFIT = 0; SUBARRAY = 0; UVRANGE = 0; WTUV = 0; DOCALIB = -1; GAINUSE = 0; FLAGVER = 0; DOBAND = -1; BPVER = 0; SMOOTH = 0; CLR2N; INVERS = 1; NCOMP = 0; NMAPS = 0; SMODEL = 0; CLRON; REFANT = 0; SEARCH = 0; SOLINT = 1; APARM = 0,0,0,0,0,1,0; DPARM = 0; SNVER = 0; ANTWT = 0; BADDISK = 0; RETURN; FINISH; PROC FRN_1 $ FRING_1: No model; delay & phase; no noise' VERSION = GVER; TASK 'DTSIM'; SETFIL; INFILE = 'RUNSYS:DTSIM.FR_1'; GO 'DTSIM'; WAIT 'DTSIM'; SETFIL; SETFRN; DPARM(4) = 2.0; REFANT = 4; VERSION = ZVER; GO 'FRING'; WAIT 'FRING'; VERSION = GVER; TASK 'DTCHK'; INEXT = 'SN'; INVERS = 1; OPCODE = 'TABC'; OPTYPE = 'DELA'; APARM = 0, 0, 0, 0, 0.001, 0.01; PRTLEV = 0; TIMERANG = 0; COMMENT = 'FRING_1: No model; delay & phase; no noise'; GO 'DTCHK'; WAIT 'DTCHK'; OPTYPE = 'PHAS'; APARM = 0, 0, 0.003, 0.02, 0; GO 'DTCHK'; WAIT 'DTCHK'; SETFIL; ZAP; RETURN; FINISH; PROC FRN_M $ All FRING fringe-fitting tests IF ((ZOPTYP = '1') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'FRING_1: No model; delay & phase; no noise'; INFILE = 'RUNSYS:DTSIM.FR_1'; FRN_1; END; RETURN; FINISH; PROC SETBLG $ Set default BLING parameters CALSOUR = 'SRC_1'; QUAL = -1; CALCODE = ' '; STOKES = ' '; TIMERANG = 0; ANTENNAS = 0; BASELINE = 0; SUBARRAY = 0; SELBAND = -1; SELFREQ = -1; FREQID = -1; BIF = 0; EIF = 0; BCHAN = 0; ECHAN = 0; UVRANGE = 0; DOCALIB = -1; GAINUSE = 0; FLAGVER = 0; DOBAND = -1; BPVER = 0; SMOOTH = 0; CLR2N; INVERS = 0; NCOMP = 0; NMAPS = 0; CMETHOD = ' '; CMODEL = ' '; OPCODE = ' '; SOLINT = 1; INFILE = ' '; APARM = 0; DPARM = 0; DOUVCOMP = -1; BADDISK = 0; RETURN; FINISH; PROC SETBLP $ Set default BLAPP parameters INVERS = 1; SOURCES = ' '; STOKES = ' '; SELBAND = -1; SELFREQ = -1; FREQID = -1; TIMERANG = 0; ANTENNAS = 0; SUBARRAY = 0; REFANT = 0; ANTWT = 0; OPCODE = 'SOLV'; GAINVER = 0; GAINUSE = 0; BADDISK = 0; RETURN; FINISH; PROC BLG_1 $ BLING_1: No model; delay and phase; no noise VERSION = GVER; TASK 'DTSIM'; SETFIL; INFILE = 'RUNSYS:DTSIM.FR_1'; GO 'DTSIM'; WAIT 'DTSIM'; VERSION = ZVER; TASK 'INDXR'; INFILE = ''; SETFIL; CPARM = 0; GO 'INDXR'; WAIT 'INDXR'; SETFIL; SETBLG; VERSION = ZVER; GO 'BLING'; WAIT 'BLING'; VERSION = ZVER; TASK 'BLAPP'; SETFIL; SETBLP; REFANT = 4; GO 'BLAPP'; WAIT 'BLAPP'; VERSION = GVER; TASK 'DTCHK'; INFILE = 'RUNSYS:DTSIM.FR_1'; INEXT = 'SN'; INVERS = 1; OPCODE = 'TABC'; OPTYPE = 'DELA'; APARM = 0, 0, 0, 0, 0.5, 5.0; PRTLEV = 0; TIMERANG = 0; COMMENT = 'BLING_1: No model; delay & phase; no noise'; GO 'DTCHK'; WAIT 'DTCHK'; OPTYPE = 'PHAS'; APARM = 0, 0, 1.75, 13.0, 0; GO 'DTCHK'; WAIT 'DTCHK'; SETFIL; ZAP; RETURN; FINISH; PROC BLG_M $ All BLING fringe-fitting tests IF ((ZOPTYP = '1') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'BLING_1: No model; delay &phase; no noise'; INFILE = 'RUNSYS:DTSIM.FR_1'; BLG_1; END; RETURN; FINISH; PROC SETCLC $ Set default CLCOR parameters SOURCES = ' '; STOKES = ' '; SELBAND = -1; SELFREQ = -1; FREQID = -1; BIF = 0; EIF = 0; TIMERANG = 0; ANTENNAS = 0; SUBARRAY = 0; GAINVER = 0; OPCODE = ' '; CLCORPRM = 0; BADDISK = 0; RETURN; FINISH; PROC DPL_A (GDOPOL) $ Test DOPOL calibration VERSION = GVER; TASK = 'DTSIM'; SETFIL; GO 'DTSIM'; WAIT 'DTSIM'; VERSION = ZVER; TASK 'INDXR'; INFILE = ''; SETFIL; CPARM = 0, 0, 2.0/60.0; GO 'INDXR'; WAIT 'INDXR'; VERSION = ZVER; TASK 'TACOP'; SETFIL; INEXT = 'CL'; INVERS = 1; NCOUNT = 1; OUTVERS = 0; KEYWORD = ' '; KEYVALUE = 0; KEYSTRNG = ' '; GO 'TACOP'; WAIT 'TACOP'; VERSION = ZVER; TASK 'CLCOR'; SETCLC; SETFIL; OPCODE = 'PANG'; GAINVER = 2; CLCORPRM = 1,0; GO 'CLCOR'; WAIT 'CLCOR'; VERSION = ZVER; TASK 'SPLIT'; SETFIL; SETSPT; DOPOL = GDOPOL; DOCALIB = 1; GAINUSE = 2; GO 'SPLIT'; WAIT 'SPLIT'; VERSION = GVER; TASK 'DTCHK'; INNAME = 'SRC_1'; INCLASS = 'SPLIT'; INSEQ = 1; INEXT = ' '; INVERS = 0; OPCODE = 'UVUN'; OPTYPE = 'AMP'; APARM = 8e-5, 1e-4, 0; PRTLEV = 0; TIMERANG = 0; GO 'DTCHK'; WAIT 'DTCHK'; OPTYPE = 'PHAS'; APARM = 0, 0, 0.6e-4, 0.08, 0; GO 'DTCHK'; WAIT 'DTCHK'; SETFIL; ZAP; INNAME = 'SRC_1'; INCLASS = 'SPLIT'; INSEQ = 1; ZAP; RETURN; FINISH; PROC DPL_M $ All DOPOL tests IF ((ZOPTYP = '1') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'DOPOL_1: Lin. polzn. model; VLBI; DOPOL=1'; INFILE = 'RUNSYS:DTSIM.DOPOL_1'; DPL_A(1); END; IF ((ZOPTYP = '2') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'DOPOL_2: 2nd-order. polzn. model; VLBI; DOPOL=2'; INFILE = 'RUNSYS:DTSIM.DOPOL_2'; DPL_A(2); END; IF ((ZOPTYP = '3') ! (ZOPTYP = 'ALL')) THEN COMMENT = 'DOPOL_3: 2nd-order. polzn. model; VLBI; DOPOL=3'; INFILE = 'RUNSYS:DTSIM.DOPOL_2'; DPL_A(3); END; RETURN; FINISH; PROC VLBDDT $ Get input parameters / initialization $ ZTASK = PRTASK; ZOPTYP = OPTYPE; ZOUTDI = TDISK; ZOUTFL = OUTFILE; ZVER = VERSION; PRTLEV = 0; IN2FILE = ' '; $ $ Case task of: $ IF ((ZTASK = 'CALIB') ! (ZTASK = 'ALL')) THEN CLB_M; END; IF ((ZTASK = 'BPASS') ! (ZTASK = 'ALL')) THEN BPA_M; END; IF ((ZTASK = 'BP') ! (ZTASK = 'ALL')) THEN BPX_M; END; IF ((ZTASK = 'FRING') ! (ZTASK = 'ALL')) THEN FRN_M; END; IF ((ZTASK = 'BLING') ! (ZTASK = 'ALL')) THEN BLG_M; END; IF ((ZTASK = 'DOPOL') ! (ZTASK = 'ALL')) THEN DPL_M; END; $ RETURN; FINISH; $ $ Version for DTSIM and DTCHK $ GVER = VERSION; $ $ End