[daip] FITLD problem with DiFX output

Olaf Wucknitz wucknitz at astro.uni-bonn.de
Tue Mar 31 08:30:40 EDT 2009


Dear DAIP (and Walter),

when FITLDing data from DiFX (correlated here in Bonn), I stumbled across 
what may be a bug in FITLD.

In subroutine WRINI, it converts the weather table from WR to WX format.
With data from the VLBA correlator, both seem to have the same number of 
columns. In the output from difx2fits, there are two additional columns 
(WIND_GUST and PRECIPITATION).
WRINI loops through all columns it is interested in and tries to locate 
them in the WR table. Unfortunately this loop seems to use the wrong 
number of columns (which does not matter if they are equal). This concerns 
the following lines of code (FITLD.FOR starting at line 17678):

      DO 150 I = 1,NCOL
         IPOINT = WRKOLS(I)
         IF (IPOINT.EQ.0) IPOINT = WRKOL2(I)
         IF (IPOINT.GT.0) THEN
            WRKOLS(I) = DATP(IPOINT,1)
            WRNUMV(I) = DATP(IPOINT,2) / 10
         ELSE
            WRKOLS(I) = -1
            WRNUMV(I) = 0
            END IF
 150     CONTINUE


Here NCOL is the number of columns in WR. The loop should really only go 
to MAXWRC which is the number of elements in WRKOLS and WRKOL2. A 
modified version works fine for me.

In the distributed binary version (Linux) this did not cause any problems 
but it produced a segmentation fault in my own version. Hunting this down 
was a bit tedious, because each FITLD run (150GB) took 3 hours, and 
smaller files ran through without errors.


Cheers,
Olaf




More information about the Daip mailing list