An Error in the Application of the FUSE Flux Calibration

Van Dixon and David Ehrenreich

Contents

1. Introduction
2. Details and Examples
3. Correction Tools
Appendix. Derivation and Test of the Correction Scale Factors
1. Introduction

We have discovered a bug in the way that CalFUSE applies the flux calibration to data obtained since June of 2002.

The pipeline employs a series of flux-calibration files to track the slow decline in instrument sensitivity with time. To each calibration file is assigned a date. For data obtained between the dates of two flux-calibration files, the pipeline interpolates between the two files, as it should. For data obtained after the most recent calibration file, however, the pipeline derives a flux- calibration curve by linearly extrapolating from the last two files. This is an error; the program should simply use the most recent flux-calibration file.

The two most recent flux calibration files are dated February 2002 and June 2002. Therefore, the bug affects all exposures obtained after 06/19/2002. Two segments, LiF 1B and LiF 2A, are particularly affected, because the last two sensitivity curves for these segments differ by about 10%. The effect is less strong for other segments. The error grows linearly with time, but it affects only the FLUX and ERROR arrays, not COUNTS and CNTSERR.

Once identified, the bug was easily corrected; the result is called CalFUSE v2.4. We will use this version to reprocess the affected data. The error increases with time, so we will begin with the most recent observations and work backward to June of 2002. We expect to replace all affected data sets in the MAST archive within a month.

More details and examples may be found in the following section. A number of tools to correct the error, including CalFUSE v2.4, are discussed in Section 3. One of these tools is a set of correction scale factors; details on their derivation and examples of their application are presented in the Appendix.

2. Details and Examples

The following plots show LiF 1B and LiF 2A spectra from two observations of the white-dwarf star WD1234+481. These spectra were taken in January and March of 2003. While the count rates (lower curves) agree, the flux levels (upper curves) differ by 10-15%, apparently independent of wavelength. The discrepancies for other segments are much lower.

Since the release of CalFUSE v2.1.6, the pipeline has used a time series of flux-calibration files. Each is simply a copy of the original file, scaled to account for the slow decrease in the instrument's sensitivity with time. Here are the scale factors for the two most recent sets of LiF calibration files:

Date Scale Factors for LWRS Spectra
  LiF 1A LiF 1B LiF 2A LiF 2B
2002.02.25 1.1001 1.3245 1.2107 1.0353
2002.06.19 1.1152 1.1736 1.3014 1.0458

Note that these scale factors are nearly identical for LiF 1A and LiF 2B, but quite different for LiF 1B and LiF 2A. This explains why the effect is most noticeable for these two detector segments. Here are the corresponding scale factors for the SiC channels:

Date Scale Factors for LWRS Spectra
  SiC 1A SiC 1B SiC 2A SiC 2B
2002.02.25 1.1666 1.0582 1.1213 1.0951
2002.06.19 1.2351 1.1120 1.1850 1.0829

A complete listing of these scale factors, together with a discussion of their derivation, is presented in the CalFUSE White Paper The FUSE Flux Calibration.

3. Correction Tools

We have developed a number of tools to correct this error. The user may select the one most appropriate for his or her application.

1) BUG FIX

The error lay in one of the initialization subroutines, cf_fuv_init; correcting it required changing 0 to 1 in a single line of code. With this correction, the pipeline is now CalFUSE v2.4. A new copy of the complete pipeline is available from the FUSE FTP site.

2) C ROUTINE TO RECALIBRATE SPECTRA

Besides a corrected version of cf_fuv_init, CalFUSE v2.4 contains a new routine, cf_uninterp, which ``undoes'' the erroneous extrapolation of the flux calibration. The program reads the COUNTS and CNTSERR arrays from a flux-calibrated spectral file, applies the dead-time correction, and uses (only) the most recent calibration file listed in the file header to flux-calibrate the spectrum. The FLUX and ERROR arrays in the spectral file are then updated. The program exits without changing the file if the data do not require re-calibration.

3) CORRECTION SCALE FACTORS

One of our graduate students, David Ehrenreich, has derived a set of correction factors that will re-scale a spectrum to the flux calibration of 06/19/2002. To use this correction, divide the FLUX and ERROR arrays by the expression to the right of the colon. MJD is the modified Julian date of the observation as recorded in the file header.

LiF 1a : 0.98646 + 1.1830e-4 * (MJD-52330.248)

LiF 1b : 1.12860 - 1.1234e-3 * (MJD-52330.248)

LiF 2a : 0.93030 + 6.0893e-4 * (MJD-52330.248)

LiF 2b : 0.98996 + 8.7723e-5 * (MJD-52330.248)

SiC 1a : 0.94454 + 4.8457e-4 * (MJD-52330.248)

SiC 1b : 0.95162 + 4.2272e-4 * (MJD-52330.248)

SiC 2a : 0.94624 + 4.6967e-4 * (MJD-52330.248)

SiC 2b : 1.01130 - 9.8434e-5 * (MJD-52330.248)

4) NEW FLUX_CAL FILE

The FUSE Science Operations Team performs regular observations of flux-calibration targets to monitor the sensitivity of the instrument. Preliminary analysis of these data indicate that the FUSE sensitivity has decreased by 1 to 7%, depending on the channel, since June of 2002. We have begun work on a new set of flux-calibration files that will reflect these changes and expect to release them next month.

Appendix. Derivation and Test of the Correction Scale Factors

We begin with the assumption that the evolution of the sensitivity is linear between two determinations of calibration scale factors. Then if we have

calibration file FLUX1CAL our observation FLUX2CAL
generated at time $ t_1$ $ t_1 < t < t_2$ $ t_2$
yields scale factor $ s_1$ $ s$ $ s_2$

We can use a linear interpolation to find $ s$. That's what the pipeline does, using $ s_2$ as the latest scale coefficient derived (2002.06.19) and $ s_1$ as the one derived just before (2002.02.25), even if $ t > t_2$ (this is precisely the bug!). In that case, the actual (and wrong) coefficient computed by the pipeline, $ s$, is obtained through this linear interpolation :

$\displaystyle \frac{s-s_1}{t-t_1} = \frac{s_2-s_1}{t_2-t_1}
$

that is, $ s=s_1+(s_2-s_1)(t-t_1)/(t_2-t_1)$.

The correction factor we seek, $ c$, would be such as $ c \times s = s_2$. Thus, we can derive:

$\displaystyle 1/c = \frac{s_1}{s_2}+\left(1-\frac{s_1}{s_2}\right)\frac{t-t_1}{t_2-t_1}
$

Now, using $ s_1$ and $ s_2$ values for each segment at times $ t_1 = 52,330.248$ and $ t_2 = 52,444.701$ (2002-02-25 and 2002-06-19 in Modified Julian Date, that is, the Julian Date - 2,400,000.5 days), we get for each segment:

segment $ 1/c$ ($ t$ is in MJD)
LiF 1A $ 0.98646 + 1.1830(t-52,330.248) \times 10^{-4} $
LiF 1B $ 1.1286 - 1.1234(t-52,330.248) \times 10^{-3} $
LiF 2A $ 0.93030 + 6.0893(t-52,330.248) \times 10^{-4}$
LiF 2B $ 0.98996 + 8.7723(t-52,330.248) \times 10^{-5}$
SiC 1A $ 0.94454 + 4.8457(t-52,330.248) \times 10^{-4}$
SiC 1B $ 0.95162 + 4.2272(t-52,330.248) \times 10^{-4}$
SiC 2A $ 0.94624 + 4.6967(t-52,330.248) \times 10^{-4}$
SiC 2B $ 1.0113 - 9.8434(t-52,330.248) \times 10^{-5}$
Divide the flux by the result given in this table.
bad-scaled flux / (1/c) = bad-scaled flux * c = good-scaled flux

We apply the factors resulting from these formulae to our former example and obtain the following plots. Here, the January data appear in black and the March data in red. Uncorrected spectra are plotted as dashed lines and corrected spectra as solid lines. The discrepancy between the LiF 1B and LiF 2A segments is resolved. For some channels, the change in the flux level is substantial.

Finally, we check that all segments scale correctly together:

Questions?

Please address questions to fuse_support@pha.jhu.edu.

straight to the top