Print

Print


Hi Peter,
                 I'm on it. I'm changing the default for AUTOPROV to
be NO for foreign format files. This requires a few changes so it may
take me an hour or so.

David


On 14 April 2010 12:12, Peter W. Draper <[log in to unmask]> wrote:
> One point I didn't make about all this. For the CCDPACK commands we have N
> input and N outputs, this seems to scale the additional conversions to NxN,
> not just N, so if you have 100 inputs/output this gets very serious.
>
> On Wed, 14 Apr 2010, Peter W. Draper wrote:
>
>> Hi David,
>>
>> just been tracking down a serious slow down in CCDPACK when using FITS
>> files. Applications like CALCOR, DEBIAS etc. that output many files are
>> spending a lot of time closing down.
>>
>> It turns out this is because of the automatic provenance update changes
>> you've added (admitably this seems to have started several years ago, but
>> this is the first time someone has complained to me) which means that all
>> the output FITS files are re-opened and converted to NDF so that you can
>> check if they need their provenances updating and then converted back to
>> FITS again...
>>
>> You can also see this effect in simple KAPPA applications like CADD:
>>
>> > setenv NDF_SHCVT 1
>> > cadd
>> IN - Input NDF data structure [log in to unmask] > d_out1.fit
>> -->Converting: FITS file /loc/pwda/pdraper/scratch/ccdpack/d_out1.fit
>>     to give: NDF object /tmp/temp_fits_d_out1
>>     command: $<CONVERT_DIR>/convertndf from  'FITS'
>> '/loc/pwda/pdraper/scratch/ccdpack/' 'd_out1' '.fit' ' '
>> '/tmp/temp_fits_d_out1'
>> --> Importing: extension CCDPACK
>>        into: NDF object /tmp/temp_fits_d_out1
>> derived from: FITS file /loc/pwda/pdraper/scratch/ccdpack/d_out1.fit
>>     command: $<CCDPACK_DIR>/ccdimp.csh /tmp/temp_fits_d_out1
>>
>> SCALAR - Value to be added /1/ >
>> OUT - Output NDF > temp.fits
>>
>> -->  Deleting: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>> -->  Deleting: NDF object /tmp/temp_fits_d_out1
>> --> Exporting: extension CCDPACK
>>        from: NDF object /tmp/temp_fits_temp
>> destined for: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>>     command: $<CCDPACK_DIR>/ccdexp.csh /tmp/temp_fits_temp
>> -->Converting: NDF object /tmp/temp_fits_temp
>>     to give: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>>     command: $<CONVERT_DIR>/convertndf to  'FITS'
>> '/loc/pwda/pdraper/scratch/ccdpack/' 'temp' '.fits' ' '
>> '/tmp/temp_fits_temp'
>> -->  Deleting: NDF object /tmp/temp_fits_temp
>> -->Converting: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>>     to give: NDF object /tmp/temp_fits_temp
>>     command: $<CONVERT_DIR>/convertndf from  'FITS'
>> '/loc/pwda/pdraper/scratch/ccdpack/' 'temp' '.fits' ' '
>> '/tmp/temp_fits_temp'
>> --> Importing: extension CCDPACK
>>        into: NDF object /tmp/temp_fits_temp
>> derived from: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>>     command: $<CCDPACK_DIR>/ccdimp.csh /tmp/temp_fits_temp
>> -->Converting: FITS file /loc/pwda/pdraper/scratch/ccdpack/d_out1.fit
>>     to give: NDF object /tmp/temp_fits_d_out1
>>     command: $<CONVERT_DIR>/convertndf from  'FITS'
>> '/loc/pwda/pdraper/scratch/ccdpack/' 'd_out1' '.fit' ' '
>> '/tmp/temp_fits_d_out1'
>> --> Importing: extension CCDPACK
>>        into: NDF object /tmp/temp_fits_d_out1
>> derived from: FITS file /loc/pwda/pdraper/scratch/ccdpack/d_out1.fit
>>     command: $<CCDPACK_DIR>/ccdimp.csh /tmp/temp_fits_d_out1
>> -->  Deleting: NDF object /tmp/temp_fits_d_out1
>> -->  Deleting: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>> --> Exporting: extension CCDPACK
>>        from: NDF object /tmp/temp_fits_temp
>> destined for: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>>     command: $<CCDPACK_DIR>/ccdexp.csh /tmp/temp_fits_temp
>> -->Converting: NDF object /tmp/temp_fits_temp
>>     to give: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>>     command: $<CONVERT_DIR>/convertndf to  'FITS'
>> '/loc/pwda/pdraper/scratch/ccdpack/' 'temp' '.fits' ' '
>> '/tmp/temp_fits_temp'
>> -->  Deleting: NDF object /tmp/temp_fits_temp
>>
>>
>> That's a lot of conversions.... Whereas:
>>
>> > setenv AUTOPROV 0
>> > cadd
>> IN - Input NDF data structure [log in to unmask] > d_out1.fit
>> -->Converting: FITS file /loc/pwda/pdraper/scratch/ccdpack/d_out1.fit
>>     to give: NDF object /tmp/temp_fits_d_out1
>>     command: $<CONVERT_DIR>/convertndf from  'FITS'
>> '/loc/pwda/pdraper/scratch/ccdpack/' 'd_out1' '.fit' ' '
>> '/tmp/temp_fits_d_out1'
>> --> Importing: extension CCDPACK
>>        into: NDF object /tmp/temp_fits_d_out1
>> derived from: FITS file /loc/pwda/pdraper/scratch/ccdpack/d_out1.fit
>>     command: $<CCDPACK_DIR>/ccdimp.csh /tmp/temp_fits_d_out1
>>
>> SCALAR - Value to be added /1/ >
>> OUT - Output NDF > temp.fits
>>
>> -->  Deleting: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>> -->  Deleting: NDF object /tmp/temp_fits_d_out1
>> --> Exporting: extension CCDPACK
>>        from: NDF object /tmp/temp_fits_temp
>> destined for: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>>     command: $<CCDPACK_DIR>/ccdexp.csh /tmp/temp_fits_temp
>> -->Converting: NDF object /tmp/temp_fits_temp
>>     to give: FITS file /loc/pwda/pdraper/scratch/ccdpack/temp.fits
>>     command: $<CONVERT_DIR>/convertndf to  'FITS'
>> '/loc/pwda/pdraper/scratch/ccdpack/' 'temp' '.fits' ' '
>> '/tmp/temp_fits_temp'
>> -->  Deleting: NDF object /tmp/temp_fits_temp
>>
>> Whoops.
>>
>> So I think the question is, should automatic provenance updates be enabled
>> for foreign file conversions? Or should that require AUTOPROV to be
>> explicitly set, unlike for NDFs?
>>
>> Cheers,
>>
>> Peter.
>>
>
> --
> Peter W. Draper, http://astro.dur.ac.uk/~pdraper
>