[daip] Problem with UVFLG and INTEXT for TIMERANG=0 ?
Eric Greisen
egreisen at nrao.edu
Tue Dec 15 18:00:21 EST 2015
On 12/14/2015 07:27 AM, James M. Anderson wrote:
> Hello,
>
> I am having a problem running UVFLG with INTEXT. My problem is that
> even though I do not set TIMERANG (because I want to flag all times),
> UVFLG gives me the following error:
>
> KG29 > UVFLG1: Task UVFLG (release of 31DEC16) begins
> KG29 > UVFLG1: ZTXOP2: using translated file name =
> KG29 > UVFLG1: ZTXOP2: /dsk1/anderson/astro/GFZ/VLBI/data/CONT14/AIPS/uvflag_13
> KG29 > UVFLG1: ZTXOP2: .dat
> KG29 > UVFLG1: ERROR: TIME1 > TIME2
> KG29 > UVFLG1: TIME1: 0/ 0 00.0 TIME2: 0/ 0 00.0
> KG29 > UVFLG1: ZCLOSE: DOES NOT PERFORM TEXT FILE CLOSES AS OF 15OCT87
> KG29 > UVFLG1: Purports to die of UNNATURAL causes
> KG29 > UVFLG1: kg29 31DEC16 TST: Cpu= 0.0 Real= 0
>
>
> My inputs are:
>> inp
> AIPS 1: UVFLG: Task to Flag selected UV data on disk.
> AIPS 1: Adverbs Values Comments
> AIPS 1: ----------------------------------------------------------------
> AIPS 1: INNAME 'CONT14_13' UV data (name).
> AIPS 1: INCLASS 'UVDATA' UV data (class).
> AIPS 1: INSEQ 2 UV data (seq. #). 0 => high
> AIPS 1: INDISK 1 Disk unit #. 0 => any
> AIPS 1: INTEXT 'PWD:uvflag_13.dat' Text file name.
> AIPS 1: SOURCES *all ' ' Sources selected/deselected
> AIPS 1: CALCODE ' ' Calibration code
> AIPS 1: QUAL -1 Qualifier: -1 => any
> AIPS 1: SUBARRAY 0 Subarray number 0=>all.
> AIPS 1: Elevation is flagged: 0=>1
> AIPS 1: SELBAND -1 Bandwidth to flag (kHz)
> AIPS 1: SELFREQ -1 Frequency to flag (MHz)
> AIPS 1: FREQID -1 Freq. ID to flag. -1=>all.
> AIPS 1: 0=> first Freq. ID.
> AIPS 1: TIMERANG *all 0 Time: start day,hr,min,sec
> AIPS 1: stop day,hr,min,sec.
> AIPS 1: BCHAN 1 First frequency channel
> AIPS 1: ECHAN 0 Last channel 0=>all
> AIPS 1: BIF 0 First IF 0=>1
> AIPS 1: EIF 0 Last IF 0=>all
> AIPS 1: ANTENNAS 1 *rest 0 Antennas
> AIPS 1: BASELINE *all 0 Baselines with ANTENNAS
> AIPS 1: STOKES ' ' Stokes' parameters
> AIPS 1: OUTFGVER 0 Flag table version number
> AIPS 1: Used w single-source too
> AIPS 1: APARM *all 0 1:flag elevations>APAR(1) deg
> AIPS 1: 2:flag elevations<APAR(2) deg
> AIPS 1: 3:Factor of suppression of
> AIPS 1: spurious fringes caused by
> AIPS 1: pulse cal when fringe
> AIPS 1: rate close to zero.
> AIPS 1: It must be >1
> AIPS 1: 0 => do not flag due to
> AIPS 1: this reason
> AIPS 1: 4:>0 => Print source, time,
> AIPS 1: baseline, U,V of expected
> AIPS 1: zero fringe rate (U=0)
> AIPS 1: 0 => do not print
> AIPS 1: 5: > 0 flag for shadowing
> AIPS 1: 6: flag for cross-talk
> AIPS 1: (see help)
> AIPS 1: 7: Number lines to print if
> AIPS 1: INTEXT is used 0 -> 100
> AIPS 1: OPCODE 'FLAG' 'FLAG','UFLG', 'REAS', 'WILD'
> AIPS 1: REASON *all ' ' Reason (24 char.)
> AIPS 1: DOHIST 1 > 0 -> add to history
>
>
>
> And the content of my INTEXT file is:
> ANT_NAME='KE' BIF=5 EIF=5 BCHAN=1 ECHAN=1 REASON='BAD AUTOCORRELATION' /
> ANT_NAME='MA' BIF=6 EIF=6 BCHAN=1 ECHAN=0 REASON='BAD AUTOCORRELATION' /
> ANT_NAME='TS' BIF=2 EIF=2 BCHAN=16 ECHAN=18 REASON='BAD AUTOCORRELATION' /
> ANT_NAME='WF' BIF=4 EIF=4 BCHAN=16 ECHAN=18 REASON='BAD AUTOCORRELATION' /
> ANT_NAME='KE' BIF=1 EIF=1 BCHAN=1 ECHAN=0 REASON='BAD AUTOCORRELATION' /
>
>
>
> Looking at AIPS_ROOT/APL/PGM/NOTST/UVFLG.FOR I see that in the UVFTRD
> subroutine, the value of RDAYN is subtracted from the day numbers in
> TIMERANG. Since I am using ANT_NAME, RDAYN is not set to 0.0 and is
> instead some relaively large number (the observations take place in
> May, so RDAYN = 137). Then, in subroutine UVFTAB, XT1 and XT2 are
> REAL (so 32 bit IEEE floating point), so when the code reaches
>
> IF (ABS(XT2-XT1).LT.1.E-6) THEN
> XT1 = XT1 - 1.0 / 172800.
> XT2 = XT2 + 1.0 / 172800.
> END IF
>
> But since 137.0 - 1.0 / 172800. = 137.0 for 32 bit IEEE floating
> point (1.0 / 172800. / 137.0 = 4.2e-08, which is less than the 32 bit
> machine epsilon), the condition still holds that XT1.EQ.XT2, and so in
>
> IF (XT1.GE.XT2) THEN
>
> the program fails.
>
> If I explicitly put in some TIMERANG=-1,0,0,0,9999,0,0,0 entries in
> the INTEXT lines, UVFLG will run.
>
> Is this how things should work?
It is confused by your use of the new format - for only 5 commands, run
it one at a time. I found a variety of issues with the INFILE option
and am working on them.
Eric Greisen
More information about the Daip
mailing list