aboutsummaryrefslogtreecommitdiff
path: root/docs/INTRO_TO_CalFUSEv3.2.3
blob: 0408121c7e37521e6b83900ebe216a8786eb4b67 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
# Documentation for CalFUSE, the FUSE Calibration Pipeline
#
# Introduction to CalFUSE v3.2
#
# Created 02/03/2004
# Van Dixon
#
# History:
#   03/05/2004	Update for v3.0.5.
#		Change name of POTHOLE column to QUALITY.
#   04/01/2004  Update for v3.0.6.
#		Pipeline now runs on Linux and works on HIST data.
#		Default output binning reduced to 0.013 A.
#   05/05/2004  Update for v3.0.7.
#		Fixed bug in initial spectral-centroiding routine.
#		Extraction routine now uses the same algorithm to
#		compute the spectral, weights, and bkgd arrays.
#		Modified boxcar extraction to improve background
#		estimate.
#   08/20/2004  Update for v3.0.7 release.
#		Pipeline now runs on Mac OS X 10.2 and higher.
#		Screening now preceeds aperture centroiding.
#		Raised minimum pulse height to 2 for all segments.
#   01/21/2005  Add a note about reading the new extracted
#		spectral files into IDL.
#   04/19/2005	Update for v3.1.0 release.
#   06/06/2005	Update for v3.1.1 release.
#   06/10/2005	Clarify discussion of spectral file format.
#   06/15/2005	Update for v3.1.2 release.
#   06/24/2005	Add instructions for generating new jitter files.
#   07/12/2005	Modify instructions for generating new jitter files.
#   07/21/2005	Add information about post-processing tools.
#   09/07/2005	Update for v3.1.3 release.
#   12/02/2005  Update for v3.1.5 release.
#   12/03/2005  New changes to cf_mirror_motion and cf_grating_motion
#   01/24/2006  Update for v3.1.6 release.
#   02/02/2006  Update for v3.1.7.
#   05/24/2006  Update for v3.1.8.
#   11/08/2006  Update for v3.2.0.
#   01/15/2007	Move FIFO-overflow correction to cf_convert_to_farf.
#   08/24/2007  Update for v3.2.1.
#   02/15/2008  Update for v3.2.2.
#   12/05/2008  Update for v3.2.3.
#


I.  Introduction

    CalFUSE v3.2.3 is the latest version of the FUSE data-reduction
    pipeline.  This package includes a new set of calibration files and
    support for Linux 64-bit and Solaris 10 machines.

    For complete details about the program, see the paper, 
    "CalFUSE v3: A Data-Reduction Pipeline for the Far Ultraviolet
    Spectroscopic Explorer" by Dixon et al. (2007)
    (http://adsabs.harvard.edu/abs/2007PASP..119..527D).  It describes
    the CalFUSE pipeline, the instrument calibrations upon which it is
    based, and the format of the resulting calibrated data files.


II.  Recent Improvements

    New in CalFUSE v3.1.5
    
    Bad-Pixel Correction:  A new routine, cf_screen_bad_pixels, flags
    photon events falling in known bad-pixel regions.

    Histogram Mode: For data obtained in HIST mode,
    cf_count_rate_y_distort must use a single count-rate value for
    the entire exposure.  To better estimate it, we replace the
    time-dependent FEC-rate array with its weighted mean value.
    Rather than using different HIST_PAD values for each aperture,
    cf_extraction_limits now pads apertures by 8 pixels (top and
    bottom).

    Jitter Correction: To improve the jitter-correction algorithm, we
    removed the data-screening functions from cf_satellite_jitter and
    moved them to a new routine, cf_screen_jitter.

    New in CalFUSE v3.1.6

    Burst Correction:  Because cf_screen_bursts attempts to exclude
    airglow photons from the calculated background, these photons must
    be flagged before the routine is called.  To this end,
    cf_screen_airglow is now the first of the screening routines.

    Background Models:  The model background consists of a
    spatially-uniform component and a scattered-light image.  As a
    result of changes introduced in CalFUSE v3.1.3, the scattered-light
    component was over-estimated, because the data were summed over a
    larger region of the detector than the scattered-light image.  Now,
    the same limits are applied to both data and models.

    New in CalFUSE v3.1.7

    Spectral Centroids:  We tightened the limits over which
    cf_find_spectra computes the spectral centroid to prevent a bright
    star in a nearby aperture or the enhanced background near the
    detector edge from pulling the extraction window off center.  In
    both cf_compute_y_centroid and cf_find_spectra, we returned the
    parameter-file keywords EMAX_LIF and EMAX_SIC to their original
    behavior:  if the centroid differs from the default value by more
    than this limit, the default value is used.

    New in CalFUSE v3.1.8

    Astigmatism and Dispersion:  The routine
    cf_astigmatism_and_dispersion was divided into two programs,
    cf_astigmatism and cf_dispersion.

    Fewer Warnings:  The pipeline no longer issues WARNING messages
    when a raw or intermediate data file is empty, when the jitter file
    is missing, when the detector voltage is low, or when it cannot
    perform optimal extraction.

    Fewer Bad Spectra:  The program cf_extract_spectra no longer
    discards (that is, sets to zero the flux and error arrays of)
    spectra with non-zero values of EXP_STAT.

    New in CalFUSE v3.2.0

    Time-Dependent X and Y Distortions:  It turns out that the X and Y
    coordinates computed by the detector electronics for a particular
    spectral feature drift slowly with time.  The new routine
    cf_time_xy_distort corrects for this effect.

    Grating Motion:  The grating-motion correction has been revised to
    better correct the zero point of the wavelength scale.

    Jitter Files:  Over the years, FUSE engineers have repeatedly
    modified the spacecraft-control software, but the routine that
    generates jitter files has not been kept up to date.  As a result,
    the program was not using all available information to determine
    the quality and value of pointing errors.  We have modified the
    code to make use of this information.  As a result, the meaning of
    the jitter-file TRKFLG array has changed:  values between 1 and 5
    reflect increasing levels of confidence in the quality of reported
    pointing errors, a value of 0 indicates that pointing telemetry is
    missing, and a value of -1 says that the pointing is unknown but
    likely to be bad.  Jitter files generated with the new routine
    receive a version number >= 3.0.  The use of old jitter files with
    the new software is likely to yield unsatisfactory results.  If you
    have the housekeeping files, you can generate jitter files that are
    consistent with the new pipeline.  To do it, delete (or hide) the
    old jitter files, then type

    prompt> cf_jitter P9990101001hskpf.fit P9990101001jitrf.fit

    for each exposure.  Run the pipeline as usual.

    Jitter Correction:  The jitter routines cf_screen_jitter and
    cf_satellite_jitter have been updated to take advantage of the
    information present in the new jitter files, and three new keywords
    have been added to the parameter file.  Times for which the X or Y
    pointing errors are greater than DX_MAX or DY_MAX (default is 30")
    are flagged as bad.  Only pointing errors with associated tracking
    flag values >= TRKFLG (default is 3) are considered reliable.

    FIFO Overflow:  Before, the screening routines flagged times when
    the detector count rate went to zero because of FIFO overflows.
    This technique underestimated the actual target flux.  Now, we
    modify the IDS dead-time correction to account for photon losses
    due to FIFO overflows.

    New in CalFUSE v3.2.1

    Jitter Correction:  We have modified the program cf_jitter, which
    constructs jitter files, to be more robust when presented with
    weird pointing data.

    SAA Contours: The size of the South Atlantic Anomaly varies on
    timescales of weeks.  If you find that the default contours (in the
    file saac004.fit) are too small, causing times with elevated
    background rates to be flagged as good, you can switch to the
    smaller set of contours in the file saac005.fit by modifying the
    file master_calib_file.dat.

    New in CalFUSE v3.2.2

    New Platforms:  CalFUSE now runs on 64-bit machines running Linux
    and Sun workstations running Solaris v10.  See the file
    INSTALLING_CalFUSEv3.2.2 for installation details.

    We have used data from the last few months of the mission to
    produce final versions of the PHAH_CAL, STIM_CAL, and PHAX_CAL
    files.

    New in CalFUSE v3.2.3

    The final version of the pipeline includes updates needed for the
    final processing of the FUSE archive.  First, airglow exposures get
    special treatment: data taken close to the earth limb are flagged
    but not rejected.  Airglow exposures are ignored by cf_combine and
    idf_combine unless the -a flag is set.  Second, the usual limits on
    the spectral centroids are not applied to HIST data, because
    spectra from other apertures are not present to confuse the
    centroiding algorithm.


III. Overview of Pipeline

    The following modules are called by the shell script calfuse.csh:

    cf_ttag_init, cf_hist_init
	Converts raw-data file into an IDF containing photon-event
	list, GTI's, and timeline table.  Histogram data are converted
	to a pseudo-time-tag format.

    cf_convert_to_farf
	Corrects for detector deadtime.  Transforms photon coordinates
	into the FARF (flight alignment reference frame).

    cf_screen_photons
	Checks data quality.  Assigns status flag to each photon.

    cf_remove_motions
	Corrects for mirror, grating, FPA, and spacecraft motions.

    cf_assign_wavelength
	Applies astigmatism and Doppler corrections.
	Assigns wavelength to each photon.

    cf_flux_calibrate
	Converts WEIGHT to ERG/CM2 for each photon.

    cf_bad_pixels
	Applies image-motion corrections to bad-pixel map.

    cf_extract_spectra
	Extracts LiF and SiC spectra only for target aperture.
	Wavelength array is user defined; default spacing is 0.013 A.


IV.  Installing and Running the Pipeline

    CalFUSE is now available for Macs running OS X 10.2 and higher,
    64-bit Linux machines, and Sun workstations running Solaris 10.

    Please see the document INSTALLING_CalFUSEv3.2.2 for instructions.

    For both TTAG and HIST data, the command is 

	prompt> calfuse P99901010011attagfraw.fit
	prompt> calfuse P99901010011ahistfraw.fit

    The pipeline expects to find all data files (*raw.fit, *jitrf.fit,
    *hskpf.fit) in the current directory.  It operates on one detector
    segment at a time.

    CalFUSE v3 produces the following output files: an intermediate
    data file (IDF), discussed below; a bad-pixel map (BPM), with a
    format similar to the IDF; two extracted spectral files, one for
    each of the LiF and SiC channels; and (if IDL is installed on your
    machine) a pair of GIF or JPEG files, one an image of the detector
    and the other a count-rate plot.


V.  The Intermediate Data File (IDF)

    The photon-list files consist of three FITS binary tables.  The
    first contains the photon events themselves.  The pipeline does not
    discard any events, but uses a series of flags to indicate whether
    particular photons violate pulse-height limits, limb-angle
    constraints, etc.  The IDL tool cf_edit (discussed below) allows
    users to modify these flags and combine IDF files from multiple
    exposures.

    The second extension to the data files is a list of good-time
    intervals (GTI's).  They are not used by the extraction routine,
    but may prove helpful to pipeline users.

    The third extension is called a timeline table.  For each second
    during the exposure, it lists a dozen parameters, including count
    rate, day-night status, and detector voltage.  The pipeline uses
    this list to set the status flags for each photon.

    Note: because of the new file format employed by IDF files, 
    extensions 1 and 3 must be read using the /fscale keyword.

    idl> a=mrdfits('P99901010011attagfidf.fit',1,/fscale)
    idl> help,a,/str

    Elements of individual arrays must be addressed using the syntax

    idl> print,a.time[3:30]	-- not a[3:30].time

    For details about the format of the IDF, please see the document

    [calfuse_directory]/v3.1/src/README_FILES/IDF_Format.txt 


VI. Manipulating the IDF with cf_edit

    CF_EDIT is an Interactive Data Language (IDL) visualization tool
    for the examination and modification of FUSE IDF files containing
    flux- and wavelength-calibrated photon-event lists.  Users without
    IDL licenses may use the IDL "Virtual Machine" version of the
    tool for free.  Complete instructions for installing and using
    cf_edit are available at this URL:

    http://fuse.pha.jhu.edu/analysis/fuse_idl_tools.html

    More information on the IDL Virtual Machine is available here:

    http://www.rsinc.com/idlvm/index.asp


VII. The Output Spectral File

    The format of the output spectral files is somewhat changed from
    earlier versions of CalFUSE.

    float     WAVE       Wavelength (Angstroms)
    float     FLUX       Flux (erg/cm2/s/A)
    float     ERROR      Gaussian errors (erg/cm2/s/A)
    int       COUNTS     Raw counts in extraction window
    float     WEIGHTS    Raw counts corrected for deadtime, etc.
    float     BKGD       Estimated background in extraction window
    short     QUALITY    Percentage of window used for extraction

    Note that the QUALITY array no longer lists the number of Y pixels
    that contribute to each output X pixel.  Instead, it is the fraction
    of the extraction window considered to contain valid data, expressed
    as a percentage (0 is all bad; 100 is all good).

    Do-it-yourself-ers can use the following recipe to generate a
    flux-calibrated spectrum:

    TARGET_COUNTS = WEIGHTS - BKGD                                          
    TARGET_FLUX = TARGET_COUNTS * HC / LAMBDA / AEFF / EXPTIME / WPC

    where AEFF = effective area in cm^2 and WPC = size of output pixel in
    Angstroms.

VIII. Additional Files Available from MAST

    CalFUSE produces eight extracted spectral (*fcal.fit) files for
    each exposure. We combine them into a set of three
    observation-level files for submission to the MAST archive.
    Depending on the target and the questions that you are trying to
    answer, you may find that these files are of sufficient fidelity
    for scientific investigation. Here's a brief description of their
    contents:

    ALL: For each channel (LiF 1A, SiC 1A, etc.), we combine data from
    all exposures in the observation into a single spectrum. If the
    individual spectra are bright enough, we cross correlate and shift
    before combining them. If the spectra are too faint, we combine the
    individual IDF files and extract a single spectrum to optimize the
    background model. The combined spectrum for each channel is stored
    in a separate extension.

    Note: The cataloging software used by MAST requires the presence of
    an ALL file for each exposure, not just for the entire observation.
    We now generate such a file, but it contains no data, only a FITS
    file header. The observation-level ALL files discussed above can be
    identified by the string "00000all" in their names.

    ANO (all, night-only): Same format as the ALL files, but using only
    data obtained during the night-time portion of each exposure. These
    files are generated only for TTAG data, and only if EXPNIGHT > 0.

    NVO (National Virtual Observatory): Contains a single spectrum
    spanning the entire FUSE wavelength range. The spectrum is
    assembled by cutting and pasting segments from the most sensitive
    channel at each wavelength. Segments are shifted to match LiF 1A
    between 1045 and 1070 E. Columns are WAVE, FLUX, and ERROR and are
    stored in a single binary table extension.

IX. Data-Analysis Tools

    A variety of IDL routines to display and manipulate FUSE data are
    available from the FUSE IDL Tools Reference Page:

    http://fuse.pha.jhu.edu/analysis/fuse_idl_tools.html

    Data-analysis tools distributed with the CalFUSE pipeline are
    reviewed in the document FUSE Tools in C:

    http://fuse.pha.jhu.edu/analysis/fuse_toolbox.html

    A subset of these programs, designed specifically for the
    manipulation of IDF files, is described in the IDF Cookbook:

    http://fuse.pha.jhu.edu/analysis/idfcook/index.html