[daip] FITLD problem with DiFX output

Craig Walker cwalker at nrao.edu
Tue Mar 31 16:30:22 EDT 2009


I don't want to chase it down now in the middle of the white paper 
panic, but in recent times APCAL has had problems using the calibration 
transfer WX tables in data from the old correlator.  If I reloaded from 
the cal data, it was ok.

Cheers,

Craig


Walter Brisken wrote:
> 
> 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
>>

-- 
---------------------------------------------------------------------
     R. Craig Walker            Array Operations Center
     cwalker at nrao.edu           National Radio Astronomy Observatory
     Phone  575 835 7247        P. O. Box O
     Fax    575 835 7027        Socorro NM 87801   USA
---------------------------------------------------------------------




More information about the Daip mailing list