[daip] FITLD problem with DiFX output

Walter Brisken wbrisken at nrao.edu
Tue Mar 31 15:53:16 EDT 2009


Hi Eric (DAIP), Olaf, and now Craig, and Adam for completeness,

difx2fits apparently writes non-FITS-IDI conforming Weather tables.  I 
think I've tracked down why, but my explanation here may not be truely 
correct.  I implemented the weather table using Chris Flatters AIPS memo 
102 definition for FITS-IDI which at the time did not document the weather 
table at all.  I reverse engineered it from sample FITS files from the 
VLBA correlator.  I think I remember hearing from Craig that the 
precipitation is actually a very useful diagnostic table column to carry 
so decided to add that on, and at the time AIPS had no problem with it. 
No changes to the Weather table code in difx2fits have changed since Feb 
2008.  Why AIPS is now complaining is beyond me.

I would suggest adding precipitation (integrated rain since midnight) [cm] 
as an optional column to the FITS-IDI format if that is not too late.

-Walter

On Tue, 31 Mar 2009, Olaf Wucknitz wrote:

> 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