aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/FIXING_SELINUX_ISSUES84
-rw-r--r--docs/INSTALLING_A_FORTRAN_COMPILER259
-rw-r--r--docs/INSTALLING_CalFUSEv3.2.3215
-rw-r--r--docs/INTRO_TO_CalFUSEv3.2.3385
-rw-r--r--docs/pipeline_status.html3515
5 files changed, 0 insertions, 4458 deletions
diff --git a/docs/FIXING_SELINUX_ISSUES b/docs/FIXING_SELINUX_ISSUES
deleted file mode 100644
index 548077b..0000000
--- a/docs/FIXING_SELINUX_ISSUES
+++ /dev/null
@@ -1,84 +0,0 @@
-
--------------------------------------------------------------------------------
- Fixing issues due to SELinux
--------------------------------------------------------------------------------
-
-While installing CalFUSE 3.2.0 on Scientific Linux V 5.0 the following
-SELinux issues came up. SELinux points to these web pages for a more
-detailed explanation of the issues:
-http://people.redhat.com/drepper/selinux-mem.html and
-http://people.redhat.com/drepper/textrelocs.html
-
-A suggestion from the http://people.redhat.com/drepper/textrelocs.html
-web page is to compile the c libraries with -fpic or -fPIC.
-
-The first SELinux issue maybe related to this being a new install of Scientific Linux and
-not truly related to CalFUSE.
-
-
-Summary
--------
-
-SELinux is preventing access to files with the label, file_t.
-
-Detailed Description
-
-SELinux permission checks on files labeled file_t are being
-denied. file_t is the context the SELinux kernel gives to files that do not have a label.
-This indicates a serious labeling problem. No files on an SELinux box should ever be
-labeled file_t. If you have just
-added a new disk drive to the system you can relabel it using the restorecon command.
-Otherwise you should relabel the entire files system.
-
-Allowing Access
-
-You can execute the following command as root to relabel your computer
-system:
-
-touch /.autorelabel; reboot
-
-Note that this will reboot your computer system.
-
-
-Summary
--------
-
-SELinux is preventing /calfuse/v3.2/bin/cf_hist_init from loading
-/calfuse/v3.2/lib/libcf.so,
-/calfuse/v3.2/lib/libsla.so, and
-/calfuse/v3.2/lib/libcfitsio-2.470.so
-which require text relocation.
-
-
-Detailed Description
-
-The /calfuse/v3.2/bin/cf_hist_init application attempted to load
-/calfuse/v3.2/lib/libcf.so,
-/calfuse/v3.2/lib/libsla.so, and
-/calfuse/v3.2/lib/libcfitsio-2.470.so
-which require text relocation. This is a potential security problem. Most libraries do
-not need this permission. Libraries are sometimes coded incorrectly and request this
-permission. The SELinux Memory Protection Tests web page explains how to remove this
-requirement. You can configure SELinux temporarily to allow
-/calfuse/v3.2/lib/libcf.so,
-/calfuse/v3.2/lib/libsla.so, and
-/calfuse/v3.2/lib/libcfitsio-2.470.so
-to use relocation as a workaround, until the libraries are fixed.
-Please file a bug report against this package.
-
-Allowing Access
-
-If you trust
-/calfuse/v3.2/lib/libcf.so,
-/calfuse/v3.2/lib/libsla.so, and
-/calfuse/v3.2/lib/libcfitsio-2.470.so
-to run correctly, you can change the file context to textrel_shlib_t.
-
-The following commands will allow this access:
-
-chcon -t textrel_shlib_t /calfuse/v3.2/lib/libcf.so
-chcon -t textrel_shlib_t /calfuse/v3.2/lib/libsla.so
-chcon -t textrel_shlib_t /calfuse/v3.2/lib/libcfitsio-2.470.so
-
-
-- Michael E. Van Steenberg
diff --git a/docs/INSTALLING_A_FORTRAN_COMPILER b/docs/INSTALLING_A_FORTRAN_COMPILER
deleted file mode 100644
index 9af64ff..0000000
--- a/docs/INSTALLING_A_FORTRAN_COMPILER
+++ /dev/null
@@ -1,259 +0,0 @@
-
--------------------------------------------------------------------------------
- INSTALLING A FORTRAN COMPILER
--------------------------------------------------------------------------------
-
-Please note that these are solutions that we tried and therefore recommend,
-especially since they worked on every machine we tried, but there might be other
-solutions if none of this works for you. Just google fortran and your machine
-specs and you should find some ideas.
-
-
-FORTRAN for Solaris:
---------------------
-
- CalFUSE has been compiled and tested on Solaris with the Fortran
- compilers provided by SUN (f77 and f90) and GNU (g77 and gfortran).
- Both are available for free, so even if you already have another fortran
- compiler, you should get one of these. Other Fortran compilers may
- work, but we cannot guarantee your results.
-
- -> We recommend that you first try the Sun Studio Compilers from Sun's
- development website:
- http://developers.sun.com/sunstudio/downloads/index.jsp
- CalFUSE compiles properly with version 12.
-
- -> An old version of Fortran may already exist on your machine. Look for
- the old 'libF77.so' and 'libM77.so' libraries in one of these
- directories: '/usr/4lib' and '/opt/SUNWspro/lib/'. They would probably
- have a name with a version number at the end. If so, you can try to
- create symbolic links to these two (with the command 'ln -s <library>
- <link>') using their exact names 'libF77.so' and 'libM77.so'. Then add
- to your LD_LIBRARY_PATH environment variable the directory in which you
- created the two links. Also add '/opt/SUNWspro/bin/' to your PATH and
- try again to run the CalFUSE configure routine.
-
- -> Otherwise, you can try to install 'g77' from the GNU compilers by
- installing the package 'gcc-3.4.6'. (We were unable to make 'gfortran'
- from GCC version 4 and higher work on Solaris.) You will need root
- access to do so.
-
- First type the command 'iconv' in your shell. If it returns "command
- not found", then you must first install the package libiconv as well.
-
- You can retrieve packages for various versions of Solaris (7 to 10) and
- different CPU architectures (Sparc or Intel) from this website (select
- the appropriate system/CPU combination in the menu on the right side):
- http://www.sunfreeware.com
-
- If the web page download fails, you can access the packages by ftp
- ( where <CPU> = sparc or intel and <V> = 7, 8, 9 or 10 ):
- ftp ftp.sunfreeware.com
- login: anonymous
- password: <your_email_address>
- binary
- cd pub/freeware/<CPU>/<V>/
- get gcc-3.4.6-sol<V>-<CPU>-local.gz
- get libiconv-1.11-sol<V>-<CPU>-local.gz (if iconv is missing)
- bye
-
- When you have the necessary packages, first add '/usr/local/bin' to your
- PATH environment variable and '/usr/local/man' to your MANPATH. Then
- unzip the packages with 'gunzip' and, as root, type the following
- commands:
- > pkgadd -d libiconv-1.9.2-sol<V>-<CPU>-local (if iconv is missing)
- > pkgadd -d gcc-3.4.6-sol<V>-<CPU>-local
-
- -> You can also try to recompile the GCC compilers yourself from the source
- available on the GNU website:
- http://ftp.gnu.org/gnu/gcc/
- But this is a very long (it took us 10 hours) and complicated process,
- and we recommend that you install the package as described above.
-
- If you really have to compile the code by hand, for example because
- you cannot get root permission, follow these instructions:
- - Choose the latest 3.x.x version available. (We were unable to
- install fortran version 4.x.x because the necessary libraries were
- missing.)
- - Create three directories, none of them a subdirectory of another:
- srcdir - to contain the source archive
- bindir - where the binaries will be installed
- insdir - from which you will do the install
- For example, I had respectively '/home/ooghe/gcc/src/',
- '/home/ooghe/gcc/bin/' and '/home/ooghe/gcc/install/'.
- - Unzip and untar the downloaded archive in 'srcdir'
- - Echo your 'PATH' environment variable and remove '/usr/ucb/bin'
- from it if it is present. Add '/usr/sfw/bin' if it is not.
- For example:
- > export PATH=/usr/bin:/etc:/usr/sbin:/usr/sfw/bin:/usr/ccs/bin:.
- - Do the following:
- > export CONFIG_SHELL=/bin/ksh
- - Go to 'insdir' and do the following:
- > 'srcdir'/configure --prefix='bindir' --enable-languages=c,fortran
- where 'srcdir' and 'gccdir' should be complete path directories, e.g.,
- '/home/username/gcc/src' and '/home/username/gcc/bin'
- - Bootstrap and finally install the compiler:
- > gmake bootstrap
- > gmake install
- - Add 'bindir'/bin to your PATH environment variable, and
- 'bindir'/lib to your LD_LIBRARY_PATH one.
-
-
-===============================================================================
-
-FORTRAN for Linux:
-------------------
-
- CalFUSE has been compiled and tested on Linux with the Fortran compilers
- provided by GNU (g77 and gfortran). They are available for free, so
- even if you already have another fortran compiler, you should get one of
- these. You can try to make CalFUSE work with another compiler, but we
- cannot guarantee your results.
-
- Most Linux distributions include one of the GNU Fortran compilers, but
- if it is not on yours, you should first try to get a binary for your
- machine.
-
- -> If your Linux is based on a distribution like Debian, Fedora or SUSE,
- look for a binary on this web page:
- http://gcc.gnu.org/wiki/GFortranDistros
-
- -> Otherwise, you can try to install the latest binary from this web page,
- but we do not recommend it because the latest compilers may still contain
- some bugs:
- http://gcc.gnu.org/wiki/GFortranBinaries
-
- -> If you do not have any other solution, you should recompile GCC from the
- source by following the instructions available on
- http://gcc.gnu.org/wiki/GFortranBinaries
-
-
-===============================================================================
-
-FORTRAN for MAC OS X:
----------------------
-
-
- CalFUSE has been compiled and tested on MAC OS X with the Fortran
- compilers provided by GNU (g77 and gfortran). They are available for
- free, so even if you already have another Fortran compiler (like ifort
- from Intel or f77 from ABSoft), you should get one of these. You can
- try to make CalFUSE work with another compiler, but we cannot guarantee
- your results.
-
- There are many ways to install the GNU compilers on a MAC;
- here are some suggestions:
-
- -> For Mac OS X 10.4 (Tiger) or higher, we know that the installation
- provided on this web page works well:
- http://www.macresearch.org/xcode_gfortran_contest_winner_damien_bobillot
- Just download the gfortran compiler corresponding to your CPU
- architecture (Intel or PowerPC) and follow the "gfortran compiler
- instructions".
-
- If this web page is down, you can get the same archives from the
- CalFUSE FTP site:
-
- ftp fuse.pha.jhu.edu
- login: anonymous
- password: <your_email_address>
-
- cd fuseftp/calfuse
- binary
- (PPC) get macos-gfortran-intel-bin.tar.gz
- (Intel) get macos-gfortran-ppc-bin.tar.gz
- bye
-
- When you have the appropriate package, install the compiler
- using the following command:
- (PPC) sudo tar -zxvf macos-gfortran-ppc-bin.tar.gz -C /
- (Intel) sudo tar -zxvf macos-gfortran-intel-bin.tar.gz -C /
-
- Note: It is possible that /usr/local/bin is not in your default
- PATH environment variable. If the command 'gfortran' does not work,
- then, assuming you're using the default bash shell, type
- (or include in /etc/profile):
- > export PATH=/usr/local/bin:$PATH
-
- -> Otherwise, you can try to find more recent versions of these
- packages on these different websites, but we don't recommend them
- because they usually still have a few development bugs:
- http://hpc.sourceforge.net/
- http://www.macresearch.org/xcode_gfortran_plugin_update
- http://gcc.gnu.org/wiki/GFortranBinariesMacOS
-
- -> You can also try to install yourself a version of gfortran or
- g77 from one of GCC releases at this address:
- http://ftp.gnu.org/gnu/gcc/
- This might be the only solution if you are using Mac OS X 10.3
- or lower.
- In this specific case, we recommend that you try first to install
- 'g77' from 'gcc-3.3.3', following Jeff's instructions as follows:
-
--------------------------------------------------------------------------------
-Jeff Kruk
-31 May 2004
-
-Hi All-
-
-I have successfully installed GNU fortran on my Mac laptop.
-It is not part of the Apple Developer tools (at least not anymore),
-so you have to get it directly from GNU. The instructions from GNU
-state that you need the whole source tree to compile the compilers,
-so you have to ignore the portions of the GCC package that are provided
-by Apple with their developers toolkit.
-
-After reading through lots of instructions, I concluded that all the
-default options were just fine. So, here is a boiled-down set of
-instructions.
-
-You will need 3 different directories:
-srcdir: where you put all the files from GNU
-objdir: where you do the build
-installdir: this defaults to /usr/local, which is what I used.
-(You may have to do this as root to put things in /usr/local)
-
-The one complication is that GNU "strongly recommends" that none of
-these directories be subdirectories of one another.
-So I put the downloaded files in /Users/kruk/Desktop/gcc-3.3.3
-and I did the build in /Users/kruk/gcc/bin.
-
-Here's the sequence of commands needed:
-
-1) Use your browser to go to
-http://ftp.gnu.org/gnu/gcc/releases/gcc-3.3.3
-click on gcc-3.3.3.tar.gz
-unpack this in 'srcdir' (in my case this was ~/Desktop/gcc-3.3.3)
-
-2) Make the directory where you will do the build. In my case this was:
-> cd ~
-> mkdir gcc
-> mkdir bin
-> cd gcc/bin
-
-3) Configure all the files:
-> ~/Desktop/gcc-3.3.3/configure
-
-4) Make the compilers:
-> gnumake bootstrap
-(I think the default 'make' is the same as gnumake, but I wasn't taking
-any chances)
-When this completes, there are no files in /usr/local yet!
-
-5) Do the actual install:
-> gnumake install
-
-[This can take a long time -- up to 90 minutes. - Ed.]
-
-That's it!
-
-Note: If you are using an Intel-based Mac, also follow these instructions
- from Vincent Hénault-Brunet: "I recently compiled CalFUSE on my Mac
- Intel laptop. The problem had to do with g77. I didn't know, but g77
- doesn't work on Mac Intel. It will compile but doesn't work properly.
- I had to patch the power-pcc version of g77 (patch found at
- http://www1.gly.bris.ac.uk/~wookey/MEFTLG/g77.htm ), and CalFUSE
- compiled without any problem."
-
-
-- Van Dixon, Bernard Godard, Jeff Kruk and Benjamin Ooghe-Tabanou
diff --git a/docs/INSTALLING_CalFUSEv3.2.3 b/docs/INSTALLING_CalFUSEv3.2.3
deleted file mode 100644
index 9579254..0000000
--- a/docs/INSTALLING_CalFUSEv3.2.3
+++ /dev/null
@@ -1,215 +0,0 @@
-#
-# Note: Before downloading CalFUSE, please send a blank e-mail to
-# fuse_support@pha.jhu.edu with the subject line "GOT CALFUSE".
-# We'll save your address and send you information about future
-# software updates or bug reports. Thanks!
-#
-
--------------------------------------------------------------------------------
- INSTALLING CalFUSE v3.2.3
--------------------------------------------------------------------------------
-
-These instructions cover Solaris, Linux, Linux 64, and Mac OS X
-installations.
-
-You will need at least 1.6 GB of disk space to install the pipeline and
-its associated calibration files.
-
-The software is in the tar file cfv3.2.3.sw.tar.gz
-
-The calibration files are divided among three tar files:
-
-cfv3.2.3.cala.tar.gz <-- Cal files that start with letter a
-cfv3.2.3.calg.tar.gz <-- Cal files that start with letter g
-cfv3.2.3.calz.tar.gz <-- All other cal files
-
-
-A. DOWNLOADING THE CALFUSE SOFTWARE AND ASSOCIATED CALIBRATION FILES:
----------------------------------------------------------------------
-
- Obtain the compressed tar files:
-
- prompt> ftp fuse.pha.jhu.edu
- login: anonymous
- password: <your_email_address>
-
- cd fuseftp/calfuse
- binary
- get cfv3.2.3.sw.tar.gz
- get cfv3.2.3.cala.tar.gz
- get cfv3.2.3.calg.tar.gz
- get cfv3.2.3.calz.tar.gz
- bye
-
- Uncompress and extract all tarfiles in your calfuse directory.
-
-
-B. INSTALLATION INSTRUCTIONS:
------------------------------
-
-0) Note for all systems:
-
- You need to type "make -e install" only once, not in each
- subdirectory.
-
-
-1) SOLARIS
-
- First check whether '/opt/SUNWspro/lib' is in your
- 'LD_LIBRARY_PATH' environment variable. If it is not, be
- sure to add it.
-
- In [calfuse_directory]/v3.2/src, type:
-
- make distclean
- chmod +x configure.solaris
- ./configure.solaris
- make clean
- make -e install
-
- The Solaris operating system should come with a Fortran
- compiler; however, if the configure routine returns an error
- message about Fortran, it is probably missing, and you will
- have to install it. To do so, follow the instructions for
- Solaris in the file INSTALLING_A_FORTRAN_COMPILER.
-
-
-2) LINUX and LINUX 64
-
- If you are running Linux on a 64-bit machine, you must also
- install a 64-bit version of the CFITSIO library. You
- can skip this step if your machine is running in 32-bit
- mode. The operation may require root access to your system,
- so you may have to ask for help from your system manager.
- First use your 'Applications/Add-Remove Software'
- tool to see whether CFITSIO is available by default on
- your system (as it is for Scientific Linux version 5.0).
- If so, install it; if not, you can download the release
- corresponding to your operating system from the Internet.
- Search for 'cfitsio' on the web page http://rpm.pbone.net/.
- If this page is not available, search the FITSIO webpage
- (http://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html)
- for RPM format distributions.
-
- Once the necessary libraries are installed, move to the
- directory [calfuse_directory]/v3.2/src and type
-
- make distclean
- chmod +x configure.linux or chmod +x configure.linux64
- ./configure.linux or ./configure.linux64
- make clean
- make -e install
-
- Notes:
-
- a) GCC should come with a Fortran compiler; however, if the
- configure routine returns an error message about Fortran,
- it is probably missing, and you will have to install it.
- To do so, follow the instructions for Linux in the file
- INSTALLING_A_FORTRAN_COMPILER.
-
- b) If the compilation fails with an error such as:
- "undefined reference to '_gfortran_pow_i4_i4'" or similar,
- it probably means you have both g77 and gfortran installed.
- In this case we recommand that you try to remove the gfortran
- package from your Linux distribution (using synaptic, apt-get
- or aptitude, for example).
-
- c) Linux64 users: If you installed cfitsio in a directory
- other than the usual '/usr/include/cfitsio', determine the
- path you used, for example '/usr/local/cfitsio64' and, in
- [calfuse_directory]/v3.2/src, type the following commands,
- where <new_path> is the path identified above:
-
- cp configure.linux64 configure.linux64.sv
- sed -e "s#/usr/include/cfitsio#<new_path>#g#" \
- configure.linux64.sv > configure.linux64.sv2
- sed -e "s/#cfit/ /g" \
- configure.linux64.sv2 > configure.linux64
-
- Then restart the installation procedure.
-
- d) If you encounter trouble with SELinux while installing
- CalFUSE, you should read the informations from Michael Van
- Steenberg in the file FIXING_SELINUX_ISSUES.
-
-
-3) MAC OS X
-
- In [calfuse_directory]/v3.2/src type
-
- make distclean
- chmod +x configure.macosx
- ./configure.macosx
- make clean
- make -e install
-
- Notes:
-
- a) CalFUSE requires Mac OS X 10.2 or higher.
-
- b) CalFUSE uses both the C and Fortran compilers. If you
- are running OS X 10.3 or above, you probably have a C
- compiler. If not, retrieve the Xcode suite of developer
- tools from the Apple Developer Connection website
- (developer.apple.com). To obtain the Fortran compiler,
- follow the instructions for MacOS in the file
- INSTALLING_A_FORTRAN_COMPILER.
-
- c) If the linker complains about missing library routines,
- you may need to modify the definition of LIBS in the various
- Makefiles. For example, you may need to replace "-L/usr/local/lib"
- with "-L/sw/lib".
-
- d) For best results, run CalFUSE in an X11 window; otherwise,
- your trailer files will be full of warning messages from IDL.
-
- e) FYI: the environment variable called 'LD_LIBRARY_PATH'
- on other systems is called 'DYLD_LIBRARY_PATH' by Mac OS.
-
-
-C. SETTING THE ENVIRONMENT VARIABLES:
--------------------------------------
-
- The directory '[calfuse_directory]/v3.2/bin' contains the
- scripts 'cfsetup.sh' and 'cfsetup.csh', which define the
- environment variables needed by CalFUSE. You will run one
- of these two depending on the shell you are using.
-
- Usually, if you are on a Solaris machine or on a Mac running
- OS X 10.2, you will use the '.csh' script. On Linux and
- more recent versions of MAC OS X, you should probably use
- the '.sh' script. If one gives you an error message, try
- the other.
-
- The scripts assume that you have installed the pipeline in
- your home directory. If you have installed it elsewhere,
- you must edit the script, changing the root CalFUSE directory
- ('CF_DIR') defined at the beginning.
-
- If you are using the '.csh' script, do the following:
- source cfsetup.csh
- rehash
- If you are using the '.sh' script, do the following:
- source cfsetup.sh
- hash -r
-
- You can also insert the whole script into your '.login'
- file, in which case the environment variables will be set
- each time you log in.
-
-
-D. RUNNING THE PIPELINE:
-------------------------
-
- To run the pipeline on either timetag or histogram
- data, just type 'calfuse' followed by the name of the raw
- data file. For example:
-
- calfuse P99901010011attagfraw.fit
- calfuse P99901010011ahistfraw.fit
-
-
-Address questions or concerns to fuse_support@pha.jhu.edu.
-
-- Van Dixon, Bernard Godard, and Benjamin Ooghe-Tabanou
diff --git a/docs/INTRO_TO_CalFUSEv3.2.3 b/docs/INTRO_TO_CalFUSEv3.2.3
deleted file mode 100644
index 0408121..0000000
--- a/docs/INTRO_TO_CalFUSEv3.2.3
+++ /dev/null
@@ -1,385 +0,0 @@
-# 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
diff --git a/docs/pipeline_status.html b/docs/pipeline_status.html
deleted file mode 100644
index be15d28..0000000
--- a/docs/pipeline_status.html
+++ /dev/null
@@ -1,3515 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.6 [en] (X11; U; SunOS 5.7 sun4u) [Netscape]">
- <meta name="CREATED" content="20000121;18144100">
- <meta name="CHANGED" content="20000124;16081300">
- <title>CALFUSE Pipeline Status</title>
-</head>
-<body bgcolor="#FFFFFF">
-
-<h1>
-CalFUSE Pipeline Status</h1>
-<b>Final pipeline version is 3.2.3, dated December 5, 2008.</b>
-
-<p STYLE="margin-bottom: 0in">Latest updates:
-
-<p>December 5, 2008
-<br>Van Dixon
-<BR>v3.2/src/libcf/cf_calculate_y_centroid.c
-<BR>v3.2/src/libcf/cf_find_spectra.c
-<BR>v3.2/src/libcf/cf_screen_jitter.c
-
-<P>
-In HIST mode, there are no spectra in other apertures to cause
-confusion, so we need not require that the target centroid lie within X
-pixels of either the airglow centroid or the tabulated centroid. Both
-cf_find_spectra.c and cf_calculate_y_centroid.c were modified to effect
-this change.
-
-<P>
-Modified cf_screen_jitter.c so that the jitter correction is not
-applied to ERO observations of Jupiter (program X006).
-
-<P>
-<hr WIDTH="100%">
-
-<p>August 22, 2008
-<br>Van Dixon
-
-<P>
-<BR>v3.2/include/calfuse.h
-<BR>v3.2/src/fuv/cf_bad_pixels.c
-<BR>v3.2/src/fuv/cf_screen_photons.c
-<BR>v3.2/src/libcf/cf_apply_filters.c
-<BR>v3.2/src/libcf/cf_fuv_init.c
-<BR>v3.2/src/libcf/cf_screen_jitter.c
-<BR>v3.2/src/libcf/cf_set_photon_flags.c
-<BR>v3.2/src/analysis/cf_combine.c
-<BR>v3.2/src/analysis/cf_xcorr.c
-<BR>v3.2/src/analysis/idf_combine.c
-<BR>v3.2/src/analysis/cf_make_all_obs.csh
-<BR>v3.2/src/analysis/cf_make_900_obs.csh
-
-<P>
-I've modified CalFUSE to treat bright-earth and airglow observations
-differently than before. Here are the details:
-<P>
-When creating the IDF files for bright-earth observations (programs
-M106 and S100) or 900-level airglow exposures, CalFUSE sets the header
-keyword EXP_STAT = 2. For 900-level exposures, the SRC_TYPE is set to
-EE, and the following warning is written to the file header:
-"Airglow exposure. Not an astrophysical target."
-<P>
-The pipeline then processes the file as usual. In particular, the
-limb-angle flag is set in the timeline table (extension 3 of the IDF),
-and the "Time with low limb angle" is written to the file header.
-However, if EXP_STAT = 2, the following things change:
-
-<UL>
-<LI>no jitter correction is performed;
-<LI>when the time-dependent flags are copied from the timeline
- table to the individual photons, the limb-angle flag is masked
- out;
-<LI>when the good-time intervals and exposure time are
- calculated, the limb-angle flag is ignored.
-</UL>
-
-<P>
-The extracted spectra include photons obtained at low limb angles. The
-detector-image plots do, too. But the count-rate plots indicate times
-when the line of sight passes below the limb-angle limit.
-<P>
-For programs M106 and S100, all of the data are included in the
-observation-level ALL, ANO, and NVO files. For all other programs,
-900-level airglow exposures are excluded from the sum. A new
-observation-level file is produced: a single quick-look (gif) plot
-showing the summed spectrum from all of the 900-level exposures in the
-observation. It has a name like M112580100900specttagf.gif.
-
-<P>
-Update version number to v3.2.3.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 11, 2008
-<br>Van Dixon
-<BR>v3.2/src/analysis/cf_xcorr.c
-<BR>v3.2/src/analysis/cf_combine.c
-<BR>v3.2/src/analysis/cf_make_all_obs.csh
-
-<P>
-We've changed the logic used to combine individual exposures into
-observation-level files for data obtained in HIST mode. If the target
-is too faint to perform a cross-correlation, but is still in the slit
-(i.e., its flux is within 50% of the reference spectrum), add the
-spectra using a shift of zero. If an exposure suffers a limb-angle or
-SAA violation, include it anyway, assuming that HIST targets are
-bright enough that the additional background flux is not a problem.
-
-<P>
-<hr WIDTH="100%">
-
-<p>March 21, 2008
-<br>Van Dixon
-<BR>v3.2/src/libcf/cf_find_spectra.c
-
-<P>
-In HIST mode, there are no spectra in other apertures to cause
-confusion, so we need not require that the target centroid lie
-within 30 pixels of the expected value.
-
-<P>
-<hr WIDTH="100%">
-
-<p>Feb 22, 2008
-<br>Benjamin Ooghe
-<BR>INSTALLING_CalFUSEv3.2.2
-<BR>INSTALLING_A_FORTRAN_COMPILER
-<BR>FIXING_SELINUX_ISSUES
-
-<P>Updated installation information.
-
-<P>
-<BR>v3.2/bin/calfuse.sh
-<BR>v3.2/bin/cfsetup.sh
-<BR>v3.2/bin/cfsetup.csh
-
-<P>Added scripts to set environment variables in Bourne-based shells
-(sh and bash) for systems without CSH and automated the setting of the
-shell path.
-
-<P>
-<BR>v3.2/src/configure.linux
-<BR>v3.2/src/configure.linux64
-<BR>v3.2/src/configure.macosx
-<BR>v3.2/src/configure.solaris
-<BR>v3.2/src/cfitsio/configure
-<BR>v3.2/src/Makefile.Linux
-<BR>v3.2/src/Makefile.Linux64
-<BR>v3.2/src/Makefile.MacOSX
-<BR>v3.2/src/analysis/Makefile.Linux
-<BR>v3.2/src/analysis/Makefile.Linux64
-<BR>v3.2/src/analysis/Makefile.MacOSX
-<BR>v3.2/src/analysis/idf_combine.c
-<BR>v3.2/src/analysis/cf_coadd.c
-<BR>v3.2/src/analysis/cf_arith.c
-<BR>v3.2/src/analysis/cf_combine.c
-<BR>v3.2/src/analysis/cf_pack.c
-<BR>v3.2/src/cal/jitter/Makefile.Linux
-<BR>v3.2/src/cal/jitter/Makefile.Linux64
-<BR>v3.2/src/cal/jitter/Makefile.MacOSX
-<BR>v3.2/src/cal/jitter/cf_jitter.c
-<BR>v3.2/src/cal/jitter/cf_jitter_diag.c
-<BR>v3.2/src/fes/Makefile.Linux
-<BR>v3.2/src/fes/Makefile.Linux64
-<BR>v3.2/src/fuv/Makefile.Linux
-<BR>v3.2/src/fuv/Makefile.Linux64
-<BR>v3.2/src/fuv/Makefile.MacOSX
-<BR>v3.2/src/fuv/cf_gainmap.c
-<BR>v3.2/src/fuv/cf_countmap.c
-<BR>v3.2/src/libcf/Makefile.Linux
-<BR>v3.2/src/libcf/Makefile.Linux64
-<BR>v3.2/src/libcf/Makefile.MacOSX
-<BR>v3.2/src/libcf/cf_idf_io.c
-<BR>v3.2/src/slalib/mk
-<BR>v3.2/src/slalib/mk.sv
-<BR>v3.2/src/slalib/sla_source.tar
-
-<P>Updated configure files and Makefiles for all systems in order to
-compile with more different fortran compilers (f77, f90, g77, gfortran)
-and on recent systems (Solaris 10, recent Linux, Mac OS X 10.4)
-including 64-bit architecture machines. This required the modification
-of source files to correct bad int/long declarations that cause
-problems on 64-bit architectures, on Solaris 10 systems, and on some
-fortran compilers.
-
-<P>
-<BR>v3.2/include/calfuse.h
-<BR>v3.2/src/libcf/cf_fes_proc_update.c
-<BR>v3.2/src/libcf/cf_fes_proc_check.c
-
-<P>Fixed warning messages from GCC compiler (missing brackets and
-unused symbols).
-
-<P>
-<BR>v3.2/src/analysis/cf_make_all_obs.csh
-
-<P>Use airglow spectra when they are the only ones available.
-
-<P>
-<BR>v3.2/src/analysis/cf_nvo.c
-
-<P>Fixed memory problem causing occasional bad values in the NVO flux arrays.
-In copy_spec, the shift+start value was sometimes negative, causing the
-routine to read negative indexes in the flux and error arrays. Also,
-the final values of the flux_nvo and error_nvo arrays weren't always
-written.
-
-<P>
-<BR>v3.2/src/fuv/cf_bad_pixels.c
-
-<P>In cf_generate_pseudo_photons, verify for each fill-data event that
-the LOCATION_SHLD flag is not set to ensure that it does not
-fall outside of the active area of the detector.
-
-<P>
-<BR>v3.2/src/libcf/cf_thermal_distort.c
-
-<P>In cf_estimate_drift_coefficients, set max value of index to jmax-1
-rather than jmax.
-
-
-<P>
-<hr WIDTH="100%">
-
-<p>February 22, 2008
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_convert_to_farf.c
-<BR>v3.2/src/fuv/cf_flux_calibrate.c
-<BR>v3.2/src/fuv/cf_ttag_init.c
-<BR>v3.2/src/libcf/cf_modify_hist_pha.c
-<BR>v3.2/src/libcf/cf_screen_jitter.c
-<BR>v3.2/src/libcf/cf_set_good_time_intervals.c
-
-<P>
-Modified cf_convert_to_farf to write out the new PHA values assigned
-by cf_modify_hist_pha.
-
-<P>
-Cleaned up i/o in cf_flux_calibrate.
-
-<P>
-Added -e flag to cf_ttag_init. It sets the header keyword HKEXISTS
-to YES in the output IDF file.
-
-<P>
-In cf_modify_hist_pha, fixed bug in loop through MJD array.
-
-<P>
-In cf_screen_jitter, don't apply jitter correction to observations
-taken after the spacecraft lost pointing control.
-
-<P>
-Changed malloc to cf_malloc in cf_set_good_time_intervals.
-
-<P>
-Update version number to v3.2.2.
-
-<P>
-<hr WIDTH="100%">
-
-<br>
-<p>May 18, 2007
-<br>Van Dixon
-<BR>v3.2/src/libcf/cf_init_support.c
-
-<P>
-If HV array in HSKP file consists of a single 0 followed by all -1's,
-use header info to populate timeline table. Change name of subroutine
-fill_hv_array to hv_from_hskp and add hv_from_header.
-
-<P>
-Update version number to v3.2.1.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 7, 2007
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_bad_pixels.c
-
-<P>
-Within cf_bad_pixels, we scale nmax, the program's guess at the number
-of bad pixels it will have to deal with, by 1.5 to help prevent array
-overflows. To make warning messages more meaningful, we call
-cf_error_init after each call to cf_extraction_limits and make
-CF_PRGM_ID and CF_VER_NUM static variables.
-
-<P>
-This is the release version of CalFUSE v3.2.0.
-
-<P>
-<hr WIDTH="100%">
-
-<p>March 29, 2007
-<br>Van Dixon
-<BR>v3.2/src/libcf/cf_init_support.c
-<BR>v3.2/src/cal/jitter/cf_jitter.c
-
-<P>
-On error, cf_check_digitizer now sets EXP_STAT flag to -2, rather than
--999, to be more consistent with cf_hist_init.
-
-<P>
-We modified cf_jitter to handle the time period (in March 2007) when
-the ACS telemetry rate was cut in half and generally made the code
-more robust.
-
-<P>
-<hr WIDTH="100%">
-
-<br>
-<p>March 23, 2007
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_hist_init.c
-<BR>v3.2/src/libcf/cf_init_support.c
-<BR>v3.2/src/libcf/cf_screen_jitter.c
-<BR>v3.2/src/libcf/cf_satellite_jitter.c
-
-<P>
-In cf_hist_init, set EXP_STAT to -1 if a raw hist file contains no
-extensions. Treat the limits of the active area as good pixels.
-
-<P>
-In cf_init_support, give a more detailed error message if the
-housekeeping file is not usable.
-
-<P>
-In cf_screen_jitter and cf_satellite_jitter, calculate time_diff (the
-offset between the jitter and IDF versions of EXPSTART) once, rather
-than each time it's used.
-
-<br>
-<p>March 20, 2007
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_bad_pixels.c
-
-<P>
-In the subroutine cf_combine_pothole_data, if an entire dead spot falls
-outside of the aperture, skip it and move on to the next one.
-
-<P>
-<hr WIDTH="100%">
-
-<p>March 7, 2007
-<br>Van Dixon
-<BR>v3.2/src/libcf/cf_init_support.c
-<BR>v3.2/src/libcf/cf_velang.c
-<BR>v3.2/src/libcf/space_vel.c
-<BR>v3.2/include/calfuse.h v1.81
-
-<P>
-The subroutine space_vel used a convoluted scheme to compute what
-is essentially a dot product. I simplified the code, deleted an
-argument, and modified the subroutines that call it.
-
-<P>
-This is version 3.2.0 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>February 13, 2007
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_remove_motions.c
-
-<BR>v3.2/src/libcf/cf_fifo_dead_time.c
-<BR>v3.2/src/libcf/cf_init_support.c
-
-<P>
-When writing the LiF and SiC count rate arrays to the IDF file,
-cf_remove_motions crashed if the array values were too large to be
-stored as unsigned integers. As such enormous values are always wrong,
-they are now set to zero.
-
-<P>
-Sometimes, the header keyword TTPERIOD is erroneously set to 0.
-If so, cf_init_support and cf_fifo_dead_time now set it to 1.0,
-the most likely value.
-
-<P>
-<hr WIDTH="100%">
-
-<p>January 2, 2007
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_screen_photons.c
-<BR>v3.2/src/fuv/cf_convert_to_farf.c
-<BR>v3.2/src/fuv/cf_remove_motions.c
-
-<BR>v3.2/src/libcf/cf_apply_dead_time.c
-<BR>v3.2/src/libcf/cf_fifo_dead_time.c
-<BR>v3.2/src/libcf/cf_target_count_rate.c
-<BR>v3.2/src/libcf/pole_ang.c
-<BR>v3.2/src/libcf/cf_velang.c
-<BR>v3.2/src/libcf/cf_screen_high_voltage.c
-<BR>v3.2/src/libcf/cf_satellite_jitter.c
-<BR>v3.2/src/libcf/cf_grating_motion.c
-<BR>v3.2/src/libcf/cf_time_xy_distort.c
-<BR>v3.2/src/libcf/cf_init_support.c
-<BR>v3.2/src/libcf/cf_set_photon_flags.c
-
-<BR>v3.2/src/cal/jitter/cf_jitter.c
-
-<BR>v3.2/src/analysis/cf_combine.c
-<BR>v3.2/src/analysis/cf_nvo.c
-<BR>v3.2/src/analysis/cf_pack.c
-<BR>v3.2/src/analysis/idf_combine.c
-
-
-<P>
-To fix a bug in our correction for photon-event losses to FIFO
-overflows, we modified the subroutine cf_screen_fifo_overflow, renamed
-it cf_fifo_dead_time, and moved it from cf_screen_photons to
-cf_convert_to_farf. The subroutine cf_apply_dead_time issues a warning
-if DET_DEAD > 1.5, rather than TOT_DEAD. Because we no longer use
-the HV status flag to denote FIFO overflows, mention of the FIFO flag
-was removed from cf_set_photon_flags. Within cf_convert_to_farf, we
-now set the header keywords DET_DEAD, IDS_DEAD, and TOT_DEAD to unity
-by default.
-
-<P>
-Within cf_remove_motions, we now treat the LiF and SiC count-rate
-arrays as floats. We pass the WEIGHT array to cf_target_count_rate,
-so that it returns dead-time corrected count rates. If these count
-rates are too large to store as shorts, we use the TSCALE and TZERO
-keywords to store them as unsigned shorts. For HIST data, we scale
-the default LiF and SiC rates (read from the housekeeping file) by
-the value of DET_DEAD to account for detector dead-time losses.
-
-<P>
-The new subroutine pole_ang returns the angle between the orbit pole
-and a given RA and DEC. It is called by cf_velang, which populates
-the POLEANGL keyword.
-
-<P>
-The subroutine cf_screen_high_voltage no longer sets the EXP_STAT keyword.
-
-<P>
-The subroutine cf_find_spectra has been modified: if the new argument
-airglow_centroid is TRUE, then the program uses the airglow lines to
-compute the centroid of the target spectrum. To invoke this option,
-call cf_remove_motions with the -a flag.
-
-<P>
-The program cf_jitter has been extensively modified. Among other
-changes, it can (if necessary) compute the commanded quaternion from
-the target coordinates in the housekeeping file header. Values of the
-TRKFLG array now range from -1 to 5, with -1 meaning that tracking is
-bad, 0 that no information is available, and 1 to 5 representing
-increasingly reliable tracking estimates. The subroutines
-cf_satellite_jitter and cf_screen_jitter have been modified
-accordingly. In particular, the minimum value of TRKFLG that is to be
-considered reliable and the X and Y aperture limits are read from the
-pipeline parameter file.
-
-<P>
-Both the subroutine cf_grating_motion and the grating-motion
-calibration file have been completely revised. The new model depends
-on the target's beta and pole angles. An additional set of corrections
-tracks long-term drifts in the spectra's X and Y positions.
-
-<P>
-A new subroutine, cf_time_xy_distort, corrects for long-term drifts
-in the detector X and Y coordinate scales. It is called by
-cf_convert_to_farf.
-
-<P>
-We fixed a bug in the way that cf_init_support constructs the AIC
-count-rate array.
-
-<P>
-Lots of little changes in the analysis routines: When selecting which
-detector segment to include in the composite spectrum, cf_nvo now
-rejects segments with OBSTIME < 10 sec if the entire exposure is > 100
-s. The program idf_combine adds comment fields to the header keywords
-WOFFS and WOFFL. The program cf_combine now counts SPEC### and WAVE###
-using the variable ngood, rather than nfiles. Finally, we made small
-changes to the way that cf_pack copies the SPEC keywords to the output
-file header.
-
-
-<P>
-<hr WIDTH="100%">
-
-<p>June 22, 2006
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_hist_init.c
-<BR>v3.2/src/fuv/cf_extract_spectra.c
-<BR>v3.2/src/fuv/cf_ttag_init.c
-<BR>v3.2/src/libcf/cf_screen_jitter.c
-<BR>v3.2/src/libcf/cf_screen_burst.c
-<BR>v3.2/src/libcf/cf_optimal_extraction.c
-<BR>v3.2/src/libcf/cf_fuv_init.c
-<BR>v3.2/src/libcf/cf_error_msg.c
-
-<P>
-The pipeline no longer issues WARNING messages when a raw or
-intermediate data file is empty, either because it contains no photons
-or because the entire exposure has been flagged as bad; when the jitter
-file is missing (though out-of-date jitter files inspire a WARNING);
-when the detector voltage is low; and when the pipeline cannot perform
-optimal extraction. It issues level 1 verbose messages instead.
-
-<P>
-Now that OPUS has been updated, the variable morekeys has been set to
-zero in both cf_hist_init and cf_ttag_init.
-
-<P>
-This is version 3.1.8 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<br>
-<p>May 24, 2006
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_extract_spectra.c
-<BR>v3.2/src/analysis/cf_combine.c
-<BR>v3.2/src/analysis/cf_nvo.c
-<BR>v3.2/src/analysis/cf_pack.c
-<BR>v3.2/src/analysis/cf_xcorr.c
-<BR>v3.2/src/analysis/idf_combine.c
-<BR>v3.2/idl/cf_obsplot.pro
-
-<P>
-We modified cf_extract_spectra so that it will no longer discard (that
-is, set to zero the flux and errors arrays of) spectra with non-zero
-values of EXP_STAT. Those spectra are now rejected by cf_combine,
-instead.
-
-<P>
-The program cf_combine has been extensively revised:
-it now runs through the input files with a single loop;
-it supports the same command-line options as idf_combine; and
-it ignores spectra with EXP_STAT != 0 (unless the -a flag is set).
-
-<P>
-Both cf_nvo and cf_xcorr now use the Lyman beta line to align the
-spectra of background observations. They use the interstellar O VI and
-C II lines to align white dwarf spectra. For BKGD targets, cf_nvo
-always selects the channel with the highest effective area, regardless
-of its observed flux. The mean flux, used when deciding which segment
-to use, is now calculated using the same wavelength regions for each
-channel. For PC targets, the O VI lines are not included in the mean
-flux calculation.
-
-<P>
-The program cf_pack now writes an index to the various file extensions
-to the primary HDU of the output *000all* file.
-
-<P>
-Both cf_combine and idf_combine now write a number of header keywords
-as longs, rather than floats.
-
-<P>
-Three changes to cf_obsplot.pro: For BKGD targets, omit flux
-comparison when selecting which detector segments to use. Compute mean
-flux using same wavelength intervals for each band. For PC targets,
-don't include O VI in the calculation of the mean flux.
-
-<P>
-<hr WIDTH="100%">
-
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_assign_wavelength.c
-<BR>v3.2/src/fuv/cf_bad_pixels.c
-<BR>v3.2/src/libcf/cf_astigmatism.c
-<BR>v3.2/src/libcf/cf_dispersion.c
-<BR>v3.2/src/libcf/cf_apply_dead_time.c
-<BR>v3.2/src/libcf/cf_extraction_limits.c
-<BR>v3.2/src/libcf/cf_init_support.c
-<BR>v3.2/src/libcf/cf_screen_burst.c
-<BR>v3.2/src/libcf/cf_screen_fifo_overflow.c
-<BR>v3.2/src/libcf/cf_screen_jitter.c
-<BR>v3.2/src/libcf/cf_set_photon_flags.c
-<BR>v3.2/src/analysis/cf_make_all_obs.csh
-<BR>v3.2/src/analysis/cf_nvo.c
-<BR>v3.2/src/analysis/cf_pack.c
-<BR>v3.2/src/analysis/cf_xcorr.c
-
-<P>
-Divided cf_astigmatism_and_dispersion into two routines, incorporating
-astig_check_input_image into the new program cf_astigmatism and
-cf_x2lambda into cf_dispersion. Modified cf_assign_wavelength and
-cf_bad_pixels to call the new routines. Because cf_astig_farf is not
-used, it is no longer defined in calfuse.h or compiled by the
-Makefile.
-
-<P>
-Cleaned up i/o in cf_apply_dead_time.
-
-<P>
-For targets observed in HIST mode, cf_extraction_limits.c now pads
-apertures by SPECBINY pixels.
-
-<P>
-In cf_init_support, flag as bad all times after final OPUS GTI.
-
-<P>
-In cf_screen_burst, require that the number of windows in subroutine
-median_filter be >= 1.
-In cf_screen_fifo_overflow, changed length of data_rate array from
-nevents to nseconds.
-In cf_screen_jitter, screening is now applied to targets observed with
-APERTURE = RFPT.
-In cf_set_photon_flags, modify header keyword EXP_STAT only if was initially 0.
-
-<P>
-In the analysis directory, modified cf_make_all_obs.csh to be smarter
-when deciding whether to cross-correlate spectra or combine IDF files.
-Also modified logic for discarding 000 files. In cf_nvo, ignore
-segments with OBS_TIME = 0 and allow use of SiC data for 1000-1100 A
-region. (Sometimes the LiF channels are not used.) In cf_pack, if a
-segment is missing, write an empty image extension to the combined data
-file. In cf_xcorr, scale each spectrum to the mean flux of the
-reference spectrum.
-
-<P>
-This is version 3.1.8 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>February 3, 2006
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_compute_y_centroid.c
-<BR>v3.2/src/fuv/cf_find_spectra.c
-<BR>v3.2/src/libcf/cf_scale_bkgd.c
-<BR>v3.2/src/fuv/cf_extract_spectra.c
-
-<P>
-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 EMAX_LIF and EMAX_SIC keywords to their original
-behavior: if the centroid differs from the default value by more than
-this limit, the default value is used.
-
-<P>
-We fixed a bug introduced in the last modification of cf_scale_bkgd
-that essentially turned off the background subtraction.
-
-<P>
-We added a command-line flag to cf_extract_spectra that forces the use
-of optimal extraction, even for extended sources.
-
-<P>
-This is version 3.1.7 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>January 24, 2006
-<br>Van Dixon
-<BR>v3.2/src/fuv/cf_screen_photons.c
-<BR>v3.2/src/libcf/cf_scale_bkgd.c
-
-<P>
-Because cf_screen_burst wants to exclude airglow photons from the
-calculated background, we must identify them before calling the
-routine. To that end, I've made cf_screen_airglow the first of the
-screening routines.
-
-<P>
-The model background consists of a spatially-uniform component and a
-scattered-light image. The scattered-light component was
-over-estimated, because the data count totals were computed using a
-larger region of the detector than the scattered-light model totals.
-Now, we apply the same limits to both data and models.
-
-<P>
-The program returns a slice of the background that is supposed to match
-that covered by the probability array. Limit checks in the subroutine
-get_limits prevented the background slice from falling off of the
-detector. Sometimes, you want to background slice to fall off of the
-detector. In such cases, the limit checks could introduce an unwanted
-offset in the model background. We've deleted the limit checks and use
-other means to avoid bad index values.
-
-<P>
-This is version 3.1.6 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>January 3, 2006
-<br>Van Dixon
-<BR>v3.2/src/libcf/cf_grating_motion.c
-
-<P>
-Correct LiF 1 data for residual zero-point errors in the wavelength scale.
-
-<P>
-<hr WIDTH="100%">
-
-<p>December 2, 2005
-<br>Van Dixon
-<BR>v3.2/src/libcf/cf_mirror_motion.c
-
-<P>
-cf_mirror_motion now exits without modifying the data if target is an
-extended source.
-
-<P>
-<hr WIDTH="100%">
-
-<p>December 2, 2005
-<br>Van Dixon
-<BR>v3.2/src/libcf/cf_astigmatism_and_dispersion.c
-<BR>v3.2/src/libcf/cf_apply_dead_time.c
-<BR>v3.2/src/libcf/cf_convert_to_ergs.c
-<BR>v3.2/src/libcf/cf_count_rate_y_distort.c
-<BR>v3.2/src/libcf/cf_doppler_and_heliocentric.c
-<BR>v3.2/src/libcf/cf_extraction_limits.c
-<BR>v3.2/src/libcf/cf_fpa_position.c
-<BR>v3.2/src/libcf/cf_init_support.c
-<BR>v3.2/src/libcf/cf_make_mask.c
-<BR>v3.2/src/libcf/cf_optimal_extraction.c
-<BR>v3.2/src/libcf/cf_satellite_jitter.c
-<BR>v3.2/src/libcf/cf_screen_bad_pixels.c (NEW)
-<BR>v3.2/src/libcf/cf_screen_fifo_overflow.c
-<BR>v3.2/src/libcf/cf_screen_jitter.c (NEW)
-<BR>v3.2/src/fuv/cf_bad_pixels.c
-<BR>v3.2/src/fuv/cf_extract_spectra.c
-<BR>v3.2/src/fuv/cf_remove_motions.c
-<BR>v3.2/src/fuv/cf_screen_photons.c
-
-<P>
-To improve our bad-pixel correction, we've added a new routine,
-cf_screen_bad_pixels, which flags photon events falling in known
-pothole regions. cf_make_mask now fills gaps in the bad-pixel mask
-that open when it is converted from pixels to wavelengths. In the
-optimal-extraction algorithm, cf_optimal_extraction now scales the
-variance estimate by the bad-pixel mask to better approximate the
-observed counts. The main pothole routine, cf_bad_pixels, now uses
-cf_x2lambda() and cf_get_potholes(), rather than its own subroutines
-that do the same job. Also, it no longer adds random numbers to the
-output pixel coordinates -- that's no longer necessary. Finally,
-cf_bad_pixels no longer trims potholes at the edges of the
-extraction windows. We modified cf_astigmatism_and_dispersion so that
-it would not complain when events fall outside of the astig images.
-
-<P>
-We added a test to cf_apply_dead_time to catch bad dead-time values: If
-there is no housekeeping file, AND the engineering snapshot times are
-bad, AND the mean value of either dead-time array is > 1.5, set the
-array to unity and issue a warning.
-
-<P>
-In cf_convert_to_ergs, we changed the effective-area arrays to type
-double to match the AEFF_CAL files.
-
-<P>
-For histogram data, cf_count_rate_y_distort must use a single count
-rate value for all of the data. To better estimate it, we replace the
-time-dependent FEC-rate array with its weighted mean value.
-
-<P>
-To improve our calculation of the Doppler correction, we changed the
-variables velocity and doppler to doubles in cf_doppler_and_heliocentric.
-
-<P>
-Rather than using different HIST_PAD values for each aperture,
-cf_extraction_limits now always pads the apertures by 8 pixels (top and
-bottom) when in HIST mode.
-
-<P>
-We deleted unused variables in cf_fpa_position.
-
-<P>
-More efforts to catch corrupted keywords in cf_init_support: When
-the housekeeping file is missing and the engineering snapshot times are
-corrupted, we use EXPSTART and EXPEND to estimate eng_time. If EXPEND is
-corrupted, we use EXPTIME.
-
-<P>
-To improve the jitter-correction algorithm, we've removed the
-data-screening functions from cf_satellite_jitter and moved them to a
-new routine, cf_screen_jitter. The modules cf_remove_motions and
-cf_screen_photons have been modified accordingly.
-
-<P>
-We caught a bug in cf_screen_fifo_overflow: It was using the
-RATE_LIF and RATE_SIC arrays to estimate the raw count rate, but those
-arrays are populated from the housekeeping file and do not reflect data
-losses due to FIFO overflows. Now we calculate the count rate across
-the entire detector directly from the photon-event data.
-
-<P>
-We added a flag to cf_extract_spectra that allows the user to disable
-optimal extraction from the command line.
-
-<P>
-This is version 3.1.5 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>September 19, 2005
-<br>Van Dixon
-<BR>v3.1/src/libcf/cf_read_fpa_pos.c (RESTORED)
-
-<P>
-Had to restore cf_read_fpa_pos, as it's called by ttag_combine.
-
-<P>
-This is version 3.1.3 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>September 7, 2005
-<br>Van Dixon
-<BR>v3.1/src/analysis/cf_arith.c (RENAMED)
-<BR>v3.1/src/analysis/cf_coadd.c
-<BR>v3.1/src/analysis/cf_combine.c
-<BR>v3.1/src/analysis/cf_make_all_exp.c (NEW)
-<BR>v3.1/src/analysis/cf_nvo.c
-<BR>v3.1/src/analysis/cf_pack.c
-<BR>v3.1/src/analysis/cf_xcorr.c
-<BR>v3.1/src/analysis/getshift.c
-<BR>v3.1/src/analysis/modhead.c
-<BR>v3.1/src/libcf/cf_init_support.c
-<BR>v3.1/src/libcf/cf_fpa_position.c
-<BR>v3.1/src/libcf/cf_read_fpa_pos.c (DELETED)
-<BR>v3.1/src/libcf/cf_screen_burst.c
-<BR>v3.1/src/libcf/cf_write_extracted_spectrum.c
-
-<P>
-We are required to provide MAST an <b>all</b> file for each exposure and
-one set of <b>all</b>, <b>ano</b>, and <b>nvo</b> files per observation.
-These files are created by cf_coadd, which has been completely re-written.
-It calls cf_make_all_exp for each exposure and cf_make_all_obs.csh once
-per observation. The new program cf_make_all_exp copies the primary HDU
-of the channel with the longest EXPTIME into an otherwise empty file.
-cf_nvo now sets the keyword NEXTEND back to 1.
-In cf_pack, the keyword COMB_COR is set to COMPLETE.
-
-<P>
-The name of cf_arith3 has been changed back to cf_arith.
-If called with no arguments, cf_arith, cf_combine, cf_xcorr, and getshift
-don't return an error, just a "usage" message.
-If the input list given to cf_combine contains only file names (no shifts),
-the program assumes that all shifts are zero.
-The programs cf_xcorr and cf_combine have been modified
-to use the same sign convention for spectral shifts as FUSE_REGISTER.
-The program modhead now accepts multi-word strings as keyword values.
-
-<P>
-In cf_init_support, use LWRS background limits for RFPT observations.
-In cf_fpa_position, correct for both X and Z displacement of FPA's.
-Delete call to cf_read_fpa_pos.
-In cf_screen_burst, ignore photons with arrival times greater than MAX_EXPTIME.
-In cf_write_extracted_spectrum, delete FITS_write_date from cf_copy_hist_header.
-
-<P>
-<hr WIDTH="100%">
-
-<p>July 12, 2005
-<br>Van Dixon
-<BR>v3.1/src/analysis/cf_combine.c
-<BR>v3.1/src/analysis/cf_nvo.c
-<BR>v3.1/src/analysis/cf_pack.c
-<BR>v3.1/src/cal/jitter/cf_jitter.c
-<BR>v3.1/src/libcf/cf_satellite_jitter.c
-
-<P>
-In cf_combine, we use fgets to read the input file and assume that pix_shift
-is an integer.
-In cf_nvo, we modify the cross-correlation routine to use LiF 2B as the
-wavelength standard if header keyword FESCENT is set to FES B.
-In cf_pack, we set the header keyword COMB_COR to COMPLETE.
-
-<P>
-cf_jitter writes a new keyword, JIT_VERS, to the header of each jitter
-file. If this keyword is missing or is less than 2,
-cf_satellite_jitter now warns that the jitter file format is out
-of date, which may result in the rejection of good data.
-
-<P>
-<hr WIDTH="100%">
-
-<p>June 16, 2005
-<br>Van Dixon
-<BR>v3.1/src/libcf/cf_rebin_probability_array.c
-<BR>v3.1/src/libcf/cf_scale_bkgd.c
-<BR>v3.1/src/fuv/cf_extract_spectra.c
-<BR>v3.1/include/calfuse.h v1.71
-
-<P>
-A bug in the spectral-extraction subroutines caused CalFUSE always to
-use the smaller, point-source extraction window, even for extended
-sources. This could lead to an underestimate of the flux for extended
-sources. The pipeline now uses either the point-source or
-extended-source aperture, as appropriate.
-
-<P>
-This is version 3.1.2 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>June 8, 2005
-<br>Van Dixon
-<BR>v3.1/src/analysis/cf_combine.c
-<BR>v3.1/src/analysis/cf_make_all.csh
-<BR>v3.1/src/analysis/cf_nvo.c
-<BR>v3.1/src/analysis/cf_pack.c
-<BR>v3.1/src/analysis/cf_xcorr.c
-<BR>v3.1/src/analysis/extract_jitter.c
-<BR>v3.1/src/analysis/idf_combine.c
-<BR>v3.1/src/libcf/cf_calculate_y_centroid.c
-<BR>v3.1/src/libcf/cf_find_spectra.c
-<BR>v3.1/src/libcf/cf_idf_io.c
-<BR>v3.1/src/libcf/cf_modify_hist_pha.c
-<BR>v3.1/src/libcf/cf_rebin_probability_array.c
-
-<BR>v3.1/include/calfuse.h v1.70
-
-<P>
-We modified cf_combine to support the generation of our new
-observation-level spectral files. It now writes the keywords NSPEC,
-SPEC###, and WOFF### to the primary HDU of the output file.
-
-<P>
-Three C routines and a shell script generate a new set of
-observation-level spectral files. For targets that are bright enough,
-we cross-correlate and combine the extracted spectra from each
-exposure. For fainter targets, we combine the IDF files from each
-exposure and extract a single spectrum for the whole observation. Then
-we repeat this exercise for the night-only data. Finally, we combine
-observation-level spectra from the various channels into a single
-spectral file for submission to the National Virtual Observatory.
-
-<P>
-cf_make_all is the shell script that calls these routines.
-<br>
-cf_xcorr determines the relative wavelength offset of each exposure.
-<br>
-cf_pack combines the observation-level spectra from each channel into
-a single ALL or ANO (all data, night-only) file.
-<br>
-cf_nvo selects data from the best channel for each waveband, shifts
-it to a common wavelengh scale, and generates the NVO file.
-
-<P>
-In extract_jitter, fixed a bug that set EXPSTART equal to EXPEND.
-
-<P>
-In idf_combine, comment out warning when FPA motion is detected.
-The pipeline corrects for this.
-
-<P>
-In cf_calculate_y_centroid, don't override user-specified centroid,
-even if it is far from the expected value. Fixed bug in tabulation of
-the expected Y centroids.
-
-<P>
-In cf_find_spectra, use airglow centroid of LWRS aperture to constrain
-airglow centroids of smaller apertures. Use airglow centroid of
-target aperture to constrain search for centroid of target spectrum.
-
-<P>
-In cf_idf_io, allow arrays of floats to be read as doubles.
-
-<P>
-In cf_modify_hist_pha, fixed bug in loop through MJD array.
-
-<P>
-In cf_rebin_probability_array, rounding errors left non-zero
-probabilities in regions beyond the ends of the extraction windows.
-Re-normalization raised these probabilities to unity. Now, if total
-probability in a column is less than 0.1, it is set to zero.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 19, 2005
-<br>Van Dixon
-
-<BR>v3.0/include/calfuse.h v1.66, v1.67, v1.68, v1.69
-
-<P>
-Between August and December of 2004, pipeline modifications were
-limited to bug fixes and a few new data-analysis routines. Since
-January of 2005, we made extensive modifications to the code, both to
-correct errors and to add new capabilities. All changes are documented
-in the headers of the individual modules and subroutines. Rather than
-repeat that information, we list here only the principal changes to the
-pipeline's capabilities.
-
-<P>
-In v3.0, data obtained during periods of uncertain pointing information
-were often flagged as bad. Now, the jitter files are generated using a
-simpler, more robust algorithm to determine when pointing information
-is reliable. If it's not, the pipeline does nothing, rather than
-flagging the data as bad.
-
-<P>
-In v3.0, data obtained when the detector voltage was less than 95% of
-the expected value were flagged as bad. Now, for detectors 1A, 1B, and
-2B, the level is 85%. For detector 2A, data with HV > 90% of full is
-processed without comment, data with HV > 80% of full generates a
-warning message, and data with HV < 80% of full is flagged as bad.
-(These limits are stored in the VOLT_CAL file.) For detector 2A data
-in the 80-90% range, the user should examine the pulse-hight
-distribution of photon events in the target aperture to ensure that the
-peak of the distribution is well separated from the background.
-
-<P>
-In v3.0, the geometric-distortion correction moved small segments of the
-HIST spectra out of their extraction windows. The solution was to
-increase the size of the HIST extraction windows in Y. A new keyword,
-HIST_PAD, which depends on both the detector and the aperture, is read
-from the header of the corresponding extension of the CHID_CAL file.
-While making this change, we found and corrected a bug in the
-calculation of the spectral Y centroid that affected both TTAG and
-HIST data.
-
-<P>
-In v3.0, the HIST and TTAG wavelength scales did not agree. This was a
-result of the walk correction, which was applied to TTAG but not HIST
-data. Since the walk correction is never zero, HIST data were never
-fully converted to the FARF. We now assign a pulse height (the mean
-for a particular date and aperture) to each HIST photon and apply the
-walk correction to all data.
-
-<P>
-When scaling the model background image to match the data, the
-subroutine cf_scale_bkgd (formerly cf_ttag_bkgd) did not properly
-account for regions of the detector excluded because of airglow
-contamination. As a result, it underestimated the total background.
-The program has been extensively revised.
-
-<P>
-The final extracted spectral (*fcal.fit) files now have the standard
-FITS binary table format that was employed in old (v2.4.3 and earlier)
-versions of the pipeline.
-
-<P>
-Errors in the calculation of TIME_SUNRISE and TIME_SUNSET have been
-corrected. As these values are never greater than 6000 s, they are
-now stored (and treated) as SHORTs.
-
-<P>
-If the pipeline cannot compute the centroids of the detector stim
-pulses, it now reads a new calibration file (STIM_CAL), in which the
-time-dependent average values of the drift coefficients are tabulated.
-
-<P>
-The burst-detection algorithm computes the mean count rate on the
-unilluminated regions of the detector and writes it to the IDF. It now
-does so for the entire exposure, not just for times previously
-identified as good.
-
-<P>
-Several keywords have been added to the IDF file headers, including
-the limb-angle limits BRITLIMB and DARKLIMB from the SCRN_CAL file
-and the calculated orbital period (ORBPERID).
-
-<P>
-The AIRG_CAL files, which identify regions of each detector likely
-to be contaminated by airglow features, are now expressed in FARF,
-rather than RAW, coordinates. This change allows us to use smaller
-airglow windows and thus to throw away less data.
-
-<P>
-The default pulse-height limits (both upper and lower) have been
-modified for all four detectors.
-
-<P>
-<hr WIDTH="100%">
-
-<p>August 24, 2004
-<br>Van Dixon
-<BR>v3.0/src/libcf/cf_fes_proc_update.c
-<BR>v3.0/src/libcf/cf_fes_proc_check.c
-<BR>v3.0/src/libcf/cf_count_rate_y_distort.c
-<BR>v3.0/src/libcf/cf_calculate_y_centroid.c
-<BR>v3.0/src/libcf/cf_optimal_extraction.c
-
-<BR>v3.0/include/calfuse.h v1.65
-
-<P>
-Installed two subroutines needed to process FES files. Modified calfuse.h
-to support them.
-
-<P>
-In cf_count_rate_y_distort, interpolate stretch correction among
-tabulated Y values to prevent counts from piling up at 10-pixel
-boundaries.
-
-<P>
-In cf_calculate_y_centroid, confirm that all spectral centroids, not
-just that of the target aperture, are within bounds.
-
-<P>
-In cf_optimal_extraction, use QUALITY array to set X limits of
-extraction region. Insure that sigma_out array is non-zero.
-
-<P>
-<hr WIDTH="100%">
-
-<p>August 12, 2004
-<br>Van Dixon
-<BR>v3.0/src/fuv/cf_assign_wavelength.c
-<BR>v3.0/src/fuv/cf_bad_pixels.c
-<BR>v3.0/src/fuv/cf_extract_spectra.c
-<BR>v3.0/src/fuv/cf_remove_motions.c
-<BR>v3.0/src/fuv/cf_screen_photons.c
-<BR>v3.0/src/libcf/cf_astigmatism_and_dispersion.c
-<BR>v3.0/src/libcf/cf_apply_filters.c
-<BR>v3.0/src/libcf/cf_calculate_y_centroid.c
-<BR>v3.0/src/libcf/cf_fuv_init.c
-<BR>v3.0/src/libcf/cf_find_spectra.c
-<BR>v3.0/src/libcf/cf_grating_motion.c
-<BR>v3.0/src/libcf/cf_identify_channel.c
-<BR>v3.0/src/libcf/cf_init_support.c
-<BR>v3.0/src/libcf/cf_make_mask.c
-<BR>v3.0/src/libcf/cf_mirror_motion.c
-<BR>v3.0/src/libcf/cf_modify_hist_times.c
-<BR>v3.0/src/libcf/cf_optimal_extraction.c
-<BR>v3.0/src/libcf/cf_proc_check.c
-<BR>v3.0/src/libcf/cf_rebin_background.c
-<BR>v3.0/src/libcf/cf_satellite_jitter.c
-<BR>v3.0/src/libcf/cf_screen_burst.c
-<BR>v3.0/src/libcf/cf_screen_high_voltage.c
-<BR>v3.0/src/libcf/cf_screen_limb_angle.c
-<BR>v3.0/src/libcf/cf_set_photon_flags.c
-<BR>v3.0/src/libcf/cf_thermal_distort.c
-<BR>v3.0/src/libcf/cf_ttag_bkgd.c
-<BR>v3.0/src/libcf/cf_write_extracted_spectrum.c
-<BR>v3.0/src/libcf/eclipse.c
-<BR>v3.0/src/libcf/solar_ang.c
-<BR>v3.0/src/libcf/space_vel.c
-<BR>v3.0/src/libcf/state_geod.c
-<BR>v3.0/src/libcf/state_limb.c
-
-<BR>v3.0/include/calfuse.h v1.64
-
-<P>
-Re-organized the pipeline, moving cf_screen_photons before
-cf_remove_motions. This required changes to both programs, as well as
-a number of subroutines.
-
-<P>
-Numerous modifications to cf_fuv_init: We now allow for the possibility
-that the time associated with a calibration file exactly equals
-EXPSTART. If the BRIT_OBJ keyword is set to DEFOCUS, we modify
-SRC_TYPE to E. Write CF_VERS to trailer file. Set ASTG_COR to
-PERFORM, as the pipeline doesn't do it automatically.
-
-<P>
-Changes to routines in cf_init_support: Add BRIT_OBJ keyword to header.
-Rewrite fill_hv_array() to make it more robust. If HV values in header
-are good, use them to determine whether HV arrays for 2A and 2B are
-swapped.
-
-<P>
-In both eclipse and state_geod, we corrected the FORTRAN call to sla_preces.
-To address warnings from the Mac OS X compiler, we made minor
-modifications to month_day.
-
-<P>
-If more than 90% of an exposure is lost to a burst, jitter, etc.,
-cf_set_photon_flags will write the cause to the trailer file.
-
-<P>
-Changes to cf_identify_channel: Don't bother shifting extraction
-windows to correct for FPA position. If shift is known, it is not needed.
-Because the extraction windows don't quite match the WGTS arrays, pad
-windows by XPAD pixels in X. Change i (which steps through targ_ap
-array) from long to int.
-
-<P>
-Corrected bug in cf_mirror_motion that caused it to swap motion corrections
-for sides 1 and 2. (This routine also got a new calibration file.)
-
-<P>
-In cf_grating_motion, we estimate the time between sunrises using the
-orbit period in the file header, rather than assuming a 6000-second orbit.
-
-<P>
-In cf_satellite_jitter, we skip the jitter correction if the jitter
-file lacks the JIT_STAT keyword. The program returns EXP_JITR
-to the calling routine.
-
-<P>
-Both cf_find_spectra and cf_calculate_y_centroid now use the photon
-flags to exclude events arriving during bursts, etc., from their
-centroid calculations.
-
-<P>
-In cf_astigmatism_and_dispersion, must change ASTG_COR to COMPLETE or
-SKIPPED by hand, as the pipeline won't do it automatically.
-
-<P>
-Changes to bad-pixel routines: Fixed bug in cf_make_mask, changing & to &&.
-
-<P>
-Changes to extraction subroutines:
-Fixed bug in cf_ttag_bkgd: nxb was undefined if RUN_BKGD = NO.
-Don't bother shifting the weights array to account for FPA motions, as
-this should already have been corrected in the conversion to the FARF.
-In cf_optimal_extraction: If weights_out[j] = 0, set variance = bkgd.
-Iterate optimal extraction to accuracy of 0.01 counts. In the boxcar
-extraction algorithm, we reduced the parray limit to 1E-4 to better
-match fluxes from optimal extraction for bright stars.
-The routine cf_write_extracted_spectrum now has an option (-o)
-to override the default root name for the extracted spectra.
-
-<P>
-Removed unused variables from the following routines: state_limb,
-cf_rebin_background, cf_screen_high_voltage, cf_screen_limb_angle,
-cf_thermal_distort, solar_ang, space_vel, and cf_bad_pixels.
-
-<P>
-Made minor i/o changes to cf_screen_burst. The routine cf_proc_check
-now calls cf_verbose rather than cf_if_warning when a pipeline step is
-inappropriate for TTAG data.
-
-<P>
-We made a lot of changes to the way that we deal with time for HIST
-data: In cf_apply_filters, we mask the BRST, SAA, and LIMB flags when
-calculating exposure time. In cf_set_photon_flags, we set only DAY
-flag; we all write other flags to EXP_STAT keyword. A new routine,
-cf_modify_hist_times, sets the photon-arrival times of photons in HIST
-files to the midpoint of the longest good-time interval.
-
-<P>
-This is the release version 3.0.7 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>June 4, 2004
-<br>Van Dixon
-<BR>v2.4/src/fuv/cf_fuv_init.c
-<BR>v2.4/include/calfuse.h v1.175
-
-<P>
-Modified cf_fuv_init to allow for the possibility that the MJD for a
-calibration file equals EXPSTART for an exposure.
-
-<P>
-This is version 2.4.4 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>May 13, 2004
-<br>Van Dixon
-<BR>v2.4/src/fuv/cf_update_qual.c
-<BR>v2.4/src/fuv/cf_dtcor.c
-<BR>v2.4/include/calfuse.h v1.174
-
-<P>
-Modified cf_update_qual and cf_dtcor to deal gracefully with bad
-counters in the data file headers.
-
-<P>
-This is version 2.4.3 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>May 4, 2004
-<br>Van Dixon
-<BR>v3.0/src/fuv/cf_assign_wavelength.c
-<BR>v3.0/src/fuv/cf_countmap.c
-<BR>v3.0/src/fuv/cf_extract_spectra.c
-<BR>v3.0/src/fuv/cf_gainmap.c
-<BR>v3.0/src/fuv/cf_hist_init.c
-<BR>v3.0/src/fuv/cf_remove_motions.c
-<BR>v3.0/src/fuv/cf_ttag_init.c
-<BR>v3.0/src/libcf/cf_apply_dead_time.c
-<BR>v3.0/src/libcf/cf_calculate_y_centroid.c
-<BR>v3.0/src/libcf/cf_convert_to_ergs.c
-<BR>v3.0/src/libcf/cf_doppler_and_heliocentric.c.c
-<BR>v3.0/src/libcf/cf_error_msg.c
-<BR>v3.0/src/libcf/cf_find_spectra.c
-<BR>v3.0/src/libcf/cf_fuv_init.c
-<BR>v3.0/src/libcf/cf_init_support.c
-<BR>v3.0/src/libcf/cf_rebin_background.c
-<BR>v3.0/src/libcf/cf_set_good_time_intervals.c
-<BR>v3.0/src/libcf/cf_set_photon_flags.c
-<BR>v3.0/src/libcf/cf_set_user_gtis.c
-<BR>v3.0/src/libcf/cf_source_aper.c
-<BR>v3.0/src/libcf/cf_ttag_bkgd.c
-<BR>v3.0/src/libcf/cf_write_extracted_spectrum.c
-
-<BR>v3.0/include/calfuse.h v1.61, v1.62, v1.63
-
-<P>
-Bernard performed housecleaning (removing unused variables, changing
-variable types to match subroutine definitions, etc.) on the following
-routines: cf_assign_wavelength, cf_hist_init, cf_ttag_init, cf_countmap,
-and cf_bad_pixels.c. Also these subroutines: cf_apply_dead_time,
-cf_calculate_y_centroid, cf_doppler_and_heliocentric.c,
-cf_error_msg, cf_init_support, cf_set_good_time_intervals,
-cf_set_photon_flags, cf_set_user_gtis, and cf_source_aper.
-
-In addition, he modified cf_ttag_init to create a photon list
-containing a single dummy event when the raw file is empty and
-cf_init_support to better catch errors in the header counter keywords.
-
-<P>
-We made significant modifications to cf_extract_spectra, replacing
-cf_rebin_and_flux_calibrate_background with cf_rebin_background.
-cf_optimal_extraction now performs all calculations with the weights
-array, rather than ergcm2. It returns counts and sigma arrays, rather
-than flux and variance as before; cf_extract_spectra must
-flux-calibrate each array, and cf_write_extracted_spectrum no longer
-converts from variance to sigma. The boxcar algorithm now uses the
-probability (weights) array to set the limits of the extraction window,
-better replicating the results of optimal extraction. Optimal
-extraction now iterates to 10% accuracy. The output weights and bkgd
-arrays are calculated by the optimal-extraction routine, so better
-match the final flux-calibrated spectra.
-
-<P>
-In verbose mode, cf_convert_to_ergs prints out the relative weighting of
-the two effective-area files.
-
-<P>
-The first call to cf_identify_channel was moved from cf_find_spectra to
-cf_remove_motions. The documentation of cf_remove_motions was improved.
-
-<P>
-The keywords MKBK_COR and BKGD_COR are gone, so cf_fuv_init no longer
-populates them.
-
-<P>
-The routine cf_rebin_and_flux_calibrate_background was replaced by
-cf_rebin_background. Flux calibration is now performed by
-cf_extract_spectra. cf_ttag_bkgd returns a null-valued background
-image if RUN_BKGD = NO.
-
-<P>
-This is version 3.0.7 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 5, 2004
-<br>Van Dixon
-<BR>v3.0/src/libcf/cf_geometric_distort.c
-<BR>v3.0/include/calfuse.h v1.60
-
-<P>
-Rescale SPECBINY only if it is > 1.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 1,2004
-<br>Van Dixon
-<BR>v3.0/src/fuv/cf_extract_spectra.c
-<BR>v3.0/src/libcf/cf_geometric_distort.c
-<BR>v3.0/src/libcf/cf_hist_init.c
-<BR>v3.0/src/libcf/cf_init_support.c
-<BR>v3.0/src/libcf/cf_optimal_extraction.c
-<BR>v3.0/src/libcf/cf_proc_check.c
-<BR>v3.0/src/libcf/cf_rebin_probability_array.c
-<BR>v3.0/src/libcf/cf_ttag_bkgd.c
-<BR>v3.0/src/libcf/cf_write_extracted_spectrum.c
-<BR>v3.0/include/calfuse.h v1.59
-
-<P>
-Abandon use of WPC array throughout the pipeline. Instead, modify
-cf_optimal_extraction to evenly distribute photon events across
-one X pixel when in HIST mode. If optimal-extraction loop does not
-converge within 50 iterations, exit and use results from boxcar extraction.
-<p>
-In cf_proc_check, call cf_verbose rather than cf_if_warning if program
-not appropriate for HIST data.
-<p>
-Change the way that routines deal with empty data files. In
-cf_hist_init, issue a warning -- but continue
-processing -- if NEVENTS = 0. (A similar change for cf_ttag_init
-will have to wait for the next version of the pipeline.)
-In cf_extract_spectra, write null-valued
-output spectra if either EXPTIME or NEVENTS = 0. In
-cf_write_extracted_spectrum, if valid_spectrum = FALSE, write warning
-message to file header.
-<p>
-Include math.h in cf_hist_init to define fmod(). This solves the
-long-standing problem of the program crashing on Linux machines.
-<p>
-Modify cf_init_support to better deal with counter errors.
-<p>
-In cf_geometric_distort, modify header keyword SPECBINY to reflect
-Y spacing in the FARF.
-<p>
-In cf_ttag_bkgd, set Y limits of 2-D background arrays equal to those
-of the probability (weights) array. Since the sizes are now equal,
-cf_optimal_extraction does not need to test them. Make centroid of
-probability array a float in cf_extract_spectra and associated
-subroutines.
-<p>
-In cf_rebin_probability_array, shift probability array to account
-for position of FPA.
-
-<P>
-This is version 3.0.6 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>March 30, 2004
-<br>Van Dixon
-<BR>v2.4/src/fuv/cf_hist_init.c
-<BR>v2.4/include/calfuse.h v1.173
-
-<P>
-Modified cf_hist_init to produce
-null-valued data file if NEVENTS=0.
-
-<P>
-This is version 2.4.2 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>March 16,2004
-<br>Van Dixon
-<BR>v3.0/src/fuv/cf_extract_spectra.c
-<BR>v3.0/src/fuv/cf_hist_init.c
-<BR>v3.0/src/fuv/cf_ttag_init.c
-<BR>v3.0/src/fuv/cf_bad_pixels.c
-<BR>v3.0/src/fuv/cf_countmap.c
-<BR>v3.0/src/fuv/cf_gainmap.c
-<BR>v3.0/src/fuv/cf_convert_to_farf.c
-<BR>v3.0/src/libcf/cf_astigmatism_and_dispersion.c
-<BR>v3.0/src/libcf/cf_init_support.c
-<BR>v3.0/src/libcf/cf_satellite_jitter.c
-<BR>v3.0/src/libcf/cf_thermal_distort.c
-<BR>v3.0/src/libcf/cf_write_extracted_spectrum.c
-<BR>v3.0/include/calfuse.h v1.57, v1.58
-
-<P>
-Implement WPC array in cf_extract_spectra and associated subroutines.
-<br>In cf_hist_init.c, fix error in correcting hot pixels.
-<br>In cf_ttag_init.c, exit if no photons in raw data file.
-<br>In cf_bad_pixels.c, change maximum size of the output arrays in
-cf_combine_pothole_data and insure that lif_cnt and sic_cnt arrays are
-non zero.
-<br>In cf_countmap.c and cf_gainmap.c, allow user to select coordinate
-system: RAW, FARF (default), final.
-<br>In cf_astigmatism_and_dispersion.c, make subroutine cf_x2lambda globally
-accessible.
-<br>In cf_convert_to_farf.c, pass weight array to cf_thermal_distort.
-<br>In cf_init_support.c, read begin and end counters as float.
-Set countrate to zero when cntb is more than 16777216.
-<br>In cf_satellite_jitter.c, polulate the PLATESC keyword in the input file header.
-<br>In cf_thermal_distort.c, added weights to the calculation (needed for
-histogram mode) and corrected bug in procedure for finding stim pulses.
-<br>In cf_write_extracted_spectrum.c, populate archive search keywords and
-change name of POTHOLE column to QUALITY.
-
-<P>
-This is version 3.0.5 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>February 16, 2004
-<br>Van Dixon
-<BR>v3.0/include/calfuse.h v1.56
-
-<P>
-Release CalFUSE v3.0.4 for beta testing.
-
-<P>
-<hr WIDTH="100%">
-
-<p>May 22, 2003
-<br>Van Dixon
-<BR>v2.4/src/idl/cf_plot_rate.pro
-<BR>v2.4/src/fuv/fcal.c
-<BR>v2.4/src/fuv/cf_make_ttag_bkgd.c
-<BR>v2.4/include/calfuse.h v1.172
-
-<P>
-Modified cf_plot_rate.pro, fcal.c, and cf_make_ttag_bkgd.c to deal
-gracefully with zero-length exposures. Resulting spectral file has
-FLUX and ERROR arrays set to zero.
-
-<P>
-This is version 2.4.1 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>May 19, 2003
-<br>Van Dixon
-<BR>v2.4/src/analysis/cf_combine.c
-<BR>v2.4/include/calfuse.h v1.171
-
-<P>
-Imported two of Jeff's modifications to cf_combine:
-<br>
-Close each input file in initial loop.
-Without this, cfitsio crashes upon opening the 60th file.
-<br>
-Weight each pixel by exposure time after excluding ``bad'' pixels.
-
-<P>
-<hr WIDTH="100%">
-
-<p>May 2, 2003
-<br>Van Dixon
-<BR>v2.4/src/analysis/cf_uninterp.c
-<BR>v2.4/include/calfuse.h v1.170
-
-<P>
-Added cf_uninterp.c to re-calibrate extracted spectra using only
-the most recent flux-calibration file.
-
-<P>
-This is version 2.4.0 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 29, 2003
-<br>Van Dixon
-<BR>v2.3/src/fuv/cf_ttag_jitter.c
-<BR>v2.3/src/fuv/cf_hist_jitter.c
-<BR>v2.3/include/calfuse.h v1.169
-
-<P>
-Modified jitter routines to allow possiblity that jitter filename is in
-lower-case letters.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 25, 2003
-<br>Van Dixon
-<BR>v2.3/src/fuv/cf_fuv_init.c
-<BR>v2.3/include/calfuse.h v1.167, v1.168
-
-<P>
-In cf_fuv_init, never linearly extrapolate calibration files forward in
-time. If an observation is not bracketed by calibration files,
-simply use the latest one.
-
-<P>
-This is version 2.3.2 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 16, 2003
-<br>Van Dixon
-<BR>v2.3/src/fuv/cf_fuv_init.c
-<BR>v2.3/include/calfuse.h v1.166
-
-<P>
-In cf_fuv_init, test for corrupted detector bias values. Updated
-comment field of HV_FLAG. Modified associated warning messages.
-
-<P>
-This is version 2.3.1 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 15, 2003
-<br>Van Dixon
-<BR>v2.3/src/fuv/cf_ttag_screen.c
-<BR>v2.3/include/calfuse.h v1.165, v1.166
-
-<P>
-Test only first letter of scrn*.fit keyword DAYNIGHT in cf_ttag_screen.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 2, 2003
-<br>Van Dixon
-<BR>v2.3/src/fuv/cf_ttag_geodopp.c
-<BR>v2.3/src/fuv/cf_ttag_jitter.c
-<BR>v2.3/include/calfuse.h v1.164
-
-<P>
-Simplified DX/DY test in cf_ttag_geodopp. Test that TRKFLG is <= 5
-(the highest allowed value) in cf_ttag_jitter.
-
-<P>
-<hr WIDTH="100%">
-
-<p>April 2, 2003
-<br>Van Dixon
-<BR>v2.3/src/fuv/cf_ttag_geodopp.c
-<BR>v2.3/include/calfuse.h v1.163
-
-<P>
-Test DX and DY values to make sure they are valid before combining
-into mean Doppler shift. NaN values lead to bad-pixels masks full
-of zeros, which lead to empty extracted spectra.
-
-<P>
-<hr WIDTH="100%">
-
-<p>March 10, 2003
-<br>Van Dixon
-<BR>v2.3/src/fuv/cf_ttag_geodopp.c
-<BR>v2.3/include/calfuse.h v1.162
-
-<P>
-Alain Lecavelier points out that, for high-count-rate TTAG data, the
-pipeline produces error bars that are about half of what one would
-expect from SQRT(N) statistics. Turns out that the change that I made
-to cf_ttag_geodopp in March 2002 was in error. I returned the code to
-its previous state, and the error bars are now much better behaved.
-Error bars for histogram data are unaffected by this change.
-
-<P>
-This is version 2.3.0 of the CalFUSE pipeline.
-
-<P>
-<hr WIDTH="100%">
-
-<p>February 24, 2003
-<br>Van Dixon
-<BR>v2.2/src/fuv/cf_make_ttag_bkgd.c
-<BR>v2.2/src/fuv/cf_make_hist_bkgd.c
-<BR>v2.2/include/calfuse.h v1.161
-
-<P>
-Peter Young's Dec Alpha compiler identified a bug in these routines.
-EXPNIGHT is stored in the header as type LONG, but these routines read
-it as type FLOAT. CFITSIO should make the conversion automatically,
-but apparently fails to do so on his machine. I've modified the calls
-to FITS_read_key() in both routines.
-<P>
-<font color=red>This is the release version of CalFUSE v2.2.3.</font>
-
-<P>
-<hr WIDTH="100%">
-
-<p>February 20, 2003
-<br>Van Dixon
-<BR>v2.2/src/libcf/read_tle.c
-<BR>v2.2/src/libcf/sgp4.c
-<BR>v2.2/src/fuv/cf_ttag_jitter.c
-<BR>v2.2/src/fuv/cf_make_ttag_bkgd.c
-<BR>v2.2/src/fuv/cf_extract.c
-<BR>v2.2/src/fuv/cf_driftcorr2.c
-<BR>v2.2/src/fuv/cf_coadd.c
-<BR>v2.2/src/analysis/ttag_combine.c
-<BR>v2.2/include/calfuse.h v1.160
-
-<P>
-Peter Young's Dec Alpha compiler identified two sets of bugs in these routines.
-Several calls to FITS_read_key() or FITS_update_key() used an ampersand incorrectly:
-<br>
-FITS_read_key(fptr, TSTRING, "INSTRUME", &instrument, comment, &status);
-<br>
-and a few routines used abs() when fabs() is required.
-<P>
-P.Y.'s compiler refused to recognize one of the #define keywords in
-sgp4.c, so Bryce Roberts replaced it with the actual value throughout
-the routine.
-
-<P>
-<hr WIDTH="100%">
-
-<p>December 13, 2002
-<br>Van Dixon
-<BR>v2.2/src/fuv/cf_ttag_screen.c
-<BR>v2.2/src/fuv/cf_hist_screen.c
-<BR>v2.2/src/fuv/cf_ttag_burst.c
-<BR>v2.2/src/fuv/cf_ttag_jitter.c
-<BR>v2.2/include/calfuse.h v1.159
-
-<P>
-Modify cf_ttag_screen and cf_hist_screen to write all EXP_* keywords as
-type long. Modify cf_ttag_burst and cf_ttag_jitter to pass through all
-photon events in the stim-pin regions, even during bad times. Have
-them add EXP_BRST and EXP_JITR to EXP_BAD, and write all as type long.
-
-<P>
-Updated CALFUSE version to 2.2.3.
-
-<P>
-<hr WIDTH="100%">
-
-<p>November 8, 2002
-<br>Van Dixon
-<BR>v2.2/src/fuv/cf_extract.c
-<BR>v2.2/include/calfuse.h v1.158
-
-<P>
-Modify cf_extract to write keyword SPECYCNT to outfits, not infits.
-
-<P>
-<hr WIDTH="100%">
-
-<p>November 6, 2002
-<br>Van Dixon
-<BR>v2.2/src/fuv/cf_hist_jitter.c
-<BR>v2.2/src/fuv/cf_ttag_jitter.c
-<BR>v2.2/include/calfuse.h v1.157
-
-<P>
-Make cf_hist_jitter and cf_ttag_jitter issue warning, but continue
-running, if keyword JIT_STAT is not found.
-
-<P>
-<hr WIDTH="100%">
-
-<p>November 1, 2002
-<br>Van Dixon
-<BR>v2.2/src/fuv/cf_hist_jitter.c
-<BR>v2.2/idl/cf_plot_hist_rate.pro
-<BR>v2.2/include/calfuse.h v1.156
-
-<P>
-Make cf_hist_jitter and cf_plot_hist_rate exit gracefully if jitter
-file not found.
-
-<P>
-<hr WIDTH="100%">
-
-<p>October 29, 2002
-<br>Van Dixon
-<BR>v2.2/src/analysis/cf_arith.c
-<BR>v2.2/src/analysis/cf_combine.c
-<BR>v2.2/include/calfuse.h v1.155
-
-<P>
-Corrected error in history lines of both routines.
-
-<P>
-<hr WIDTH="100%">
-
-<p>October 24, 2002
-<br>Van Dixon
-<BR>v2.2/src/fuv/Makefile
-<BR>v2.2/src/fuv/cf_make_hist_bkgd.c
-<BR>v2.2/include/calfuse.h v1.154
-
-<P>
-Add cf_hist_jitter to Makefiles.
-Remove unused variables in cf_make_ttag_bkgd.
-
-<P>
-<hr WIDTH="100%">
-
-<p>October 11, 2002
-<br>Van Dixon
-<BR>v2.2/src/fuv/cf_ttag_jitter.c
-<BR>v2.2/include/calfuse.h v1.153
-
-<P>
-Three changes to cf_ttag_jitter: Initialized nrej to 0, made program
-exit quietly if jitter file not found, and set all times to floats in
-test step, to correct bug whereby some photons were being erroneously
-rejected. Note that the program still rejects photons with times later
-than the end of the input good-time interval. This happens because the
-burst-correction routine converts the GTI boundaries to integers.
-
-<P>
-Updated CALFUSE version to 2.2.2.
-
-<P>
-<hr WIDTH="100%">
-
-<p>August 29, 2002
-<br>Van Dixon
-<BR>v2.2/src/fuv/cf_hist_init.c
-<BR>v2.2/src/fuv/cf_ttag_init.c
-<BR>v2.2/include/calfuse.h v1.152
-
-<P>
-The initialization routines now exit with an error if NEVENTS = 0.
-
-<P>
-<hr WIDTH="100%">
-
-<p>August 28, 2002
-<br>Van Dixon
-<BR>v2.2/src/fuv/cf_hist_jitter.c
-<BR>v2.2/src/libcf/cf_fcal.c
-<BR>v2.2/idl/cf_plot_hist_rate.pro
-<BR>v2.2/include/calfuse.h v1.151
-
-<P>
-cf_hist_jitter reads the jitter file, determines how much time (if any)
-the target spent out of the aperture, and writes this number to the
-keyword EXP_JITR. cf_fcal subtracts this value from EXPTIME when
-flux-calibrating the spectrum. The IDL procedure cf_plot_hist_rate.pro
-plots the count rate during a histogram exposure using counter values
-from the housekeeping file.
-
-<P>
-Updated CALFUSE version to 2.2.1.
-
-<P>
-<hr WIDTH="100%">
-
-<p>July 31, 2002
-<br>Van Dixon
-<BR>v2.2/src/fuv/cf_hist_count_map.c
-<BR>v2.2/src/fuv/cf_ttag_count_map.c
-<BR>v2.2/src/fuv/cf_ttag_gain_map.c
-<BR>v2.2/src/fuv/cf_make_ttag_bkgd.c
-<BR>v2.2/src/fuv/cf_ttag_jitter.c
-<BR>v2.2/src/fuv/cf_update_qual.c
-<BR>v2.2/src/libcf/cf_fuv_init.c
-<BR>v2.2/include/calfuse.h v1.150
-
-<P>
-The SDP group decided that CalFUSE 3.0 should use a radically different
-scheme for processing time-tagged data. In the mean time, we have made
-incremental progress on CalFUSE v2, and we have decided that this
-version of the program should go behind the firewall as soon as
-possible. Accordingly, I copied v2.1.7 to v2.2.0 and have continuued
-to make incremental changes to the code. Highlights are
-
-<P>
-Modify cf_hist_count_map, cf_ttag_count_map, cf_ttag_gain_map, and
-cf_update_qual to read version 002 YSTR files.
-<BR>
-Correct a Linux bug in cf_make_ttag_bkgd.
-<BR>
-Add cf_ttag_jitter and modify cf_fuv_init to support it.
-
-<P>
-Updated CALFUSE version to 2.2.0.
-<P>
-<font color=red>This version of CalFUSE will go behind the firewall on
-1 August 2002.</font>
-
-<P>
-<hr WIDTH="100%">
-
-<p>June 14, 2002
-<br>Van Dixon
-<BR>v2.1/src/fuv/cf_make_ttag_bkgd.c
-<BR>v2.1/include/calfuse.h v1.149
-
-<p>
-Moved v1.16 of cf_make_ttag_bkgd back to CalFUSE v2.1.
-<P>
-Updated CALFUSE version to 2.1.7.
-
-<hr WIDTH="100%">
-
-<p>June 14, 2002
-<br>Van Dixon
-<BR>cf_make_ttag_bkgd.c
-<BR>cf_undistort.c
-<BR>cf_driftcorr.c
-<BR>cf_extract.c
-<BR>cf_dpix.c
-<BR>cf_ttag_screen.c
-<BR>cf_hist_dopp.c
-<BR>cf_wcal.c
-<BR>cf_doppler_util.c
-<BR>calfuse.h v1.151
-
-<br>
-<p>
-In cf_make_ttag_bkgd, correct error when using MKBK_COR=OMIT (1.15) and
-fill in holes made by the removal of geocoronal lines. The latter is
-needed in determination of X variations of scattered light. Re-wrote
-cf_undistort to handle shifts as floats. Modified cf_driftcorr to
-write output as an array of shorts. Modified cf_extract, cf_dpix to
-read linear wavelength scale. Modified read_wavelengths in
-cf_doppler_util and calls to it in cf_ttag_screen and cf_hist_dopp.
-Modified cf_wcal to implement linear wavelength solution.
-<P>
-Updated CALFUSE version to 3.0.1.
-
-<hr WIDTH="100%">
-
-<p>May 30, 2002
-<br>Van Dixon
-<BR>cf_doppler_util.c
-<BR>cf_ttag_screen.c
-<BR>cf_hist_dopp.c
-<BR>cf_dpix.c
-<BR>cf_extract.c
-<BR>calfuse.h v1.150
-
-<br>
-<p>
-In cf_doppler_util, modified read_wavelength no longer to generate and
-return an xpix array, then modified the calling routines cf_ttag_screen
-and cf_hist_dopp accordingly. Modified cf_dpix and cf_extract to
-handle the linear wavelength scale.
-
-<hr WIDTH="100%">
-
-<p>May 29, 2002
-<br>Van Dixon
-<BR>cf_doppler_util.c
-<BR>cf_driftcorr.c
-<BR>cf_update_qual.c
-<BR>calfuse.h v1.149
-
-<br>
-<p>
-In cf_doppler_util, modified the subroutine read_wavelength to handle a
-linear wavelength scale. Installed Rich's new version of cf_driftcorr,
-which puts a correction for the count-rate dependent Y stretch into the
-DY image. Because we no longer need to correct the bad-pixel map for
-the Y stretch, I moved back from v1.8 to v1.5 of cf_update_qual.
-
-<hr WIDTH="100%">
-
-<p>May 21, 2002
-<br>Van Dixon
-<BR>cf_dpix
-<BR>calfuse.h v1.148
-
-<br>
-<p>
-Fixed a couple of bugs in cf_dpix: made LWRS the default aperture and
-allowed the boundary between the SiC and LiF regions to vary with
-detector.
-<p>
-Made this change to both v2.1 and v3.0.
-
-<hr WIDTH="100%">
-
-<p>May 17, 2002
-<br>Van Dixon
-<BR>cf_dtcorr
-<BR>cf_undistort
-<BR>cf_wcal
-<BR>calfuse.h v1.147
-
-<br>
-<p>
-Updated #define keywords in cf_dtcorr. Turned on X-distortion
-correction in cf_undistort and moved it to follow cf_driftcorr2.
-Implemented linear wavelength scale in cf_wcal.
-<p>
-Updated CALFUSE version to 3.0.0.
-
-<hr WIDTH="100%">
-
-<p>May 14, 2002
-<br>Van Dixon
-<BR>cf_make_ttag_bkgd
-<BR>cf_make_hist_bkgd
-<BR>calfuse.h v1.146
-
-<br>
-<p>
-Teach background modules to read compressed background-calibration files.
-<P>
-<font color=red>This is the release version of CalFUSE v2.1.</font>
-
-<hr WIDTH="100%">
-
-<p>April 16, 2002
-<br>Van Dixon
-<BR>cal_fuse_exp_ttag.csh
-<BR>cal_fuse_exp_hist.csh
-<BR>calfuse.h v1.145
-
-<br>
-<p>
-Remove cf_wormcorr from pipeline for now.
-<P>
-Updated CALFUSE version to 2.1.6.
-
-<hr WIDTH="100%">
-
-<p>April 8, 2002
-<br>Van Dixon
-<BR>cf_make_hist_bkgd
-<BR>cf_make_ttag_bkgd
-<BR>cf_ttag_burst
-<BR>bchr*001.fit
-<BR>scrn*013.fit
-<BR>calfuse.h v1.144
-
-<br>
-<p>
-New software from Rich: New BCHR (background characterization) files
-contain the binary extensions that used to be in the SCRN files.
-Pipeline modules were modified to read the new files.
-<P>
-Updated CALFUSE version to 2.1.5.
-
-<hr WIDTH="100%">
-
-<p>March 29, 2002
-<br>Van Dixon
-<BR>cf_make_ttag_bkgd
-<BR>cf_ttag_burst
-<BR>bkgd*005.fit
-<BR>bkgd*006.fit
-<BR>bkgd*007.fit
-<BR>bkgd*008.fit
-<BR>scrn*012.fit
-<BR>calfuse.h v1.143
-
-<br>
-<p>
-New software from Rich: The burst module has been modified to update
-the EXPNIGHT value. The background module has a new procedure for
-determining the intrinsic background from the data. The background
-files should do a better job at short wavelengths. The screening files
-redefine the background sample regions and add a few more geocoronal
-line positions.
-<P>
-Updated CALFUSE version to 2.1.4.
-
-<hr WIDTH="100%">
-
-<p>March 17, 2002
-<br>Van Dixon
-<BR>cf_make_ttag_bkgd
-<BR>cf_make_hist_bkgd
-<BR>cf_ttag_geodopp
-<BR>cf_hist_geodopp
-<BR>calfuse.h v1.142
-
-<br>
-<p>
-Turns out that all of these programs were treating the error arrays as
-sigmas rather than variances (sigma squared). Modified to propagate
-errors correctly.
-
-<P>
-Updated CALFUSE version to 2.1.3.
-
-<hr WIDTH="100%">
-
-<p>February 22, 2002
-<br>Van Dixon
-<BR>cf_fuv_init
-<BR>ttag_combine
-<BR>cf_dtcor
-<BR>calfuse.h v1.141
-
-<br>
-<p>
-Introduced new keyword, RAWTIME, which is equal to EXPTIME before
-CalFUSE starts tossing out data. Modified cf_fuv_init and ttag_combine
-to propagate it correctly.
-<p>
-Modified cf_dtcor to determine exposure time from the keywords CTIME_B
-and CTIME_E, which are the times of the initial and final engineering
-packets from which the counter data were taken.
-<P>
-Updated CALFUSE version to 2.1.2.
-
-<hr WIDTH="100%">
-
-<p>February 15, 2002
-<br>Van Dixon
-<BR>calfuse.h v1.140
-
-<br>
-<p>
-Changed OPUS_VERSION to 2.5.
-
-<hr WIDTH="100%">
-
-<p>February 13, 2002
-<br>Van Dixon
-<BR>cf_fuv_init
-<BR>ttag_combine
-<BR>calfuse.h v1.139
-
-<br>
-<p>
-Modified logic of voltage test in cf_fuv_init. Add COMMENT lines
-to data file header if low voltage found. Respond gracefully if
-bias keywords do not exist.
-<p>
-Modified ttag_combine to respond gracefully if EXPNIGHT does not exist.
-
-<hr WIDTH="100%">
-
-<p>February 12, 2002
-<br>Van Dixon
-<BR>cf_fuv_init
-<BR>calfuse.h v1.138
-
-<br>
-<p>
-Modified cf_fuv_init to check detector voltage and complain if low.
-New volt***001.fit calibration files, VOLT_CAL keyword.
-<P>
-Updated CALFUSE version to 2.1.1.
-
-<hr WIDTH="100%">
-
-<p>January 25, 2002
-<br>Van Dixon
-<BR>cf_ttag_burst
-<BR>calfuse.h v1.137
-
-<br>
-<p>
-Modified cf_ttag_burst to write a list of bursts to an ASCII file.
-
-<hr WIDTH="100%">
-
-<p>January 15, 2002
-<br>Van Dixon
-<BR>ttag_combine
-<BR>calfuse.h v1.136
-
-<br>
-<p>
-Modified ttag_combine to update keyword EXPNIGHT in output file.
-
-<hr WIDTH="100%">
-
-<p>December 7, 2001
-<br>Van Dixon
-<BR>cf_update_qual
-<BR>calfuse.h v1.135
-
-<br>
-<p>
-Richard's new version of cf_update_qual modifies the bad-pixel maps to
-account for the count-rate dependence of the detector Y scale.
-
-<hr WIDTH="100%">
-
-<p>November 30, 2001
-<br>Van Dixon
-<BR>cf_dpix, cf_extract, cf_wormcorr, cf_optextract, cf_spexextract,
-cf_plot_extract.pro, cal_fuse_exp_ttag.csh, cal_fuse_exp_hist.csh,
-parm**007.fit
-<BR>calfuse.h v1.134
-
-<br>
-<p>
-In earlier versions of the pipeline, the shift to correct for FPA
-offsets was performed by cf_wcal. We have moved it earlier in the
-pipeline, right after the astigmatism correction, and combine the
-FPA corrections with the other shifts in order to have a single
-float-to-integer conversion. The new module is called cf_dpix.
-
-<p>
-cf_extract now reads the keyword RUN_OPTI, rather than OPT_EXTR, from
-the parameter file. It also writes the Y centroid of each spectrum to
-the corresponding output file header.
-
-<p>
-Sylvestre added software to identify the worm in the LiF 1B spectrum:
-cf_wormcorr reads the keyword RUN_WORM from the parameter file. If
-RUN_WORM = LIF, SIC, or BOTH, the program attempts to identify the
-region of the worm and write the range of affected pixels (WORM_BEG and
-WORM_END) to the output file header. The IDL routine
-cf_plot_extract.pro draws a ring around the worm, if found.
-
-<p> Modified cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call
-both cf_dpix and cf_wormcorr. Modified calfuse.h to include new
-processing keywords DPIX_COR and WORM_COR.
-
-<hr WIDTH="100%">
-
-<p>November 27, 2001
-<br>Van Dixon
-<BR>cf_ttag_screen
-<BR>calfuse.h v1.133
-
-<br>
-<p>
-Changed the way that cf_ttag_screen treats user-defined good-time
-intervals. Now takes intersection of them with pre-defined intervals
-(from OPUS or cf_ttag_combine) before screening. Also changed the
-module to apply all screens (SAA, day/night, limb angle, pulse height)
-regardless of where the good-time intervals came from. Screening can
-be turned off by modifying the <tt>scrn*.fit</tt> files, if desired.
-
-<hr WIDTH="100%">
-
-<p>November 21, 2001
-<br>Van Dixon
-<BR>cf_update_qual
-<BR>calfuse.h v1.132
-
-<br>
-<p>
-Installed Rich's new QUAL files. Modified cf_update_qual to read them.
-
-<hr WIDTH="100%">
-
-<p>November 16, 2001
-<br>Van Dixon
-<BR>calfuse.h v1.131
-
-<br>
-<p>
-Defined NO_PIXEL in calfuse.h. Used by geometric-distortion and
-extraction routines.
-
-<hr WIDTH="100%">
-
-<p>October 26, 2001
-<br>Van Dixon
-<BR>cf_dtcor
-<BR>calfuse.h v1.130
-
-<br>
-<p>
-Modified cf_dtcor to set counters to zero if values are too large to
-read as longs.
-
-<hr WIDTH="100%">
-
-<p>October 26, 2001
-<br>Van Dixon
-<BR>cf_fuv_init
-<BR>calfuse.h v1.129
-
-<br>
-<p>
-Modified cf_fuv_init to check header keyword OPUSVERS and complain if
-the data file was processed using an old version of OPUS.
-
-<hr WIDTH="100%">
-
-<p>October 10, 2001
-<br>Van Dixon
-<BR>cf_ttag_init
-<BR>calfuse.h v1.128
-
-<br>
-<p>
-Modified cf_ttag_init to reset the keywords SPECBINX, SPECBINY,
-SIA_TBL, and NUM_HIST without checking their current value.
-This code was moved from cf_ttag_image, where it had been
-commented out in April 2001.
-<p>
-Added keyword OPUS_VERSION to calfuse.h
-<p>
-Updated CALFUSE version to 2.1.0.
-
-<hr WIDTH="100%">
-
-<p>October 10, 2001
-<br>Van Dixon
-<BR>ttag_combine
-<BR>flux*008.fit
-<BR>calfuse.h v1.127
-
-<br>
-<p>
-Rich Robinson has made numerous upgrades to ttag_combine. Among other
-things, it can now handle the DX, DY and DNFLG columns added by
-cf_ttag_init.
-<p>
-Jeff Kruk has produced new flux-calibration files
-based on the latest wavelength calibration.
-<p>
-Updated CALFUSE version to 2.0.5.
-<font color=red>This is the release version of CalFUSE v2.0.</font>
-
-<hr WIDTH="100%">
-
-<p>October 2, 2001
-<br>Van Dixon
-<BR>wave*014.fit
-
-<br>
-<p>
-Don Lindler has produced new wavelength files appropriate for data that
-do NOT have the walk correction applied to their stim pins.
-They were created by taking the previous line locations and correcting
-them before fitting by:
-
-<pre>
- xx = ((x-leftF)/(rightF-leftF))*(right1-left1)+left1
- xcor = ((xx-left2)/(right2-left2))*(rightF-leftF)+leftF
-where:
- left1,right1 are the measured STIM positions when the walk correction
- was applied to the STIMs
- left2,right2 are the measured STIM positions when the walk correction
- was not applied to the STIMs
- leftF, rightF - are the FARF STIM positions
- x - is the measured x position in the spectra that had the walk
- correction applied to the STIMs
- xcor is the corrected x position that would be expected if the walk
- correction was not applied to the STIMs
-</pre>
-
-<hr WIDTH="100%">
-
-<p>September 21, 2001
-<br>Van Dixon
-<BR>scrn*010.fit
-
-<br>
-<p>
-Version 008 had new PHA limits. Version 009 had new information for
-background models. Version 010 has both.
-
-<hr WIDTH="100%">
-
-<p>September 17, 2001
-<br>Van Dixon
-<br>calfuse.h 1.126
-<BR>cf_make_ttag_bkgd
-
-<br>
-<p>
-New version of background routine reads the keyword BKGDTYPE in the
-screening file. Default value is 1; if set to -1, routine does not
-perform an iterative fit to the observed scattered light.
-<P>
-Installed new wavelength calibration files, v013, which are corrected
-for the motion of the stim pins due to walk correction in previous
-versions of the pipeline.
-<P>
-Updated CALFUSE version to 2.0.4.
-
-<hr WIDTH="100%">
-
-<p>September 11, 2001
-<br>Van Dixon
-<br>calfuse.h 1.125
-<BR>cf_ttag_walk
-<BR>cf_hist_walk
-
-<br>
-<p>
-Don't apply walk correction to photons/pixels within STIM_PAD (512)
-pixels of the detector edge. New walk-correction files (v003) have
-zeros in the stim-pin region.
-
-<hr WIDTH="100%">
-
-<p>September 5, 2001
-<br>Van Dixon
-<br>calfuse.h 1.124
-<BR>cf_make_ttag_bkgd
-<BR>cf_extract
-
-<br>
-<p>
-If MKBK_COR is set to OMIT, cf_make_ttag_bkgd changes it to SKIPPED.
-cf_extract copies the keyword OPT_EXTR into the FITS file headers.
-
-<hr WIDTH="100%">
-
-<p>August 30, 2001
-<br>Van Dixon
-<br>calfuse.h 1.123
-<BR>cf_make_ttag_bkgd
-
-<br>
-<p>
-New cf_make_ttag_bkgd iteratively fits dark-count and scattered-light
-components of the background to deal with the fact that the dark count
-varies with time. Spits out a file filled with zeros if MKBK_COR
-is set to OMIT.
-<P>
-New wavelength calibration files. Updated CALFUSE version to 2.0.3.
-
-<hr WIDTH="100%">
-
-<p>August 23, 2001
-<br>Van Dixon
-<br>calfuse.h 1.122
-<br>cf_fuv_init
-<br>cf_ttag_burst
-<br>cf_ttag_walk
-<br>cf_hist_walk
-<br>cf_astig
-<BR>cf_make_hist_bkgd
-<BR>cf_make_ttag_bkgd
-<BR>cf_bkgd
-
-<br>
-<p>
-Replaced keyword TBURST with EXP_BRST in cf_ttag_burst.
-<p>
-Enable user to turn off the burst rejection, walk correction,
-background subtraction, or astigmatism correction by changing keywords
-in parm**006.fit. cf_fuv_init reads the PARM file and changes the
-appropriate keywords (e.g., BRST_COR) from PERFORM to OMIT. Subsequent
-pipeline steps check their keyword; if it is OMIT, they change the
-value to SKIPPED, issue a warning, and exit, copying input to output if
-appropriate. Updated CALFUSE version to 2.0.2.
-
-<hr WIDTH="100%">
-
-<p>August 21, 2001
-<br>Van Dixon
-<br>calfuse.h 1.121
-<br>cf_wcal
-<br>cf_fpa_pos
-<br>cf_ttag_init
-
-<br>
-<p>
-Moved cf_fpa_pos from cf_wcal to libcf. ttag_combine uses this routine
-to determine the FPA positions and complains if an FPA moves by more
-than 10 microns between exposures.
-
-<hr WIDTH="100%">
-
-<p>August 20, 2001
-<br>Van Dixon
-<br>calfuse.h 1.120
-<br>cf_ttag_init
-<br>cf_dtcor
-
-<br>
-<p>
-Header keywords SPECBINX and SPECBINY should be 1 for ttag data. An
-old version of OPUS set these to 0. Changed cf_ttag_init to update
-these parameters if it finds them equal to 0. Also updated cf_dtcor to
-use Dave Sahnow's new parameters for dead-time correction. Added a
-check: if DET_DEAD > 2.0, assume it's wrong and set to 1.0.
-
-<hr WIDTH="100%">
-
-<p>July 25, 2001
-<br>Van Dixon
-<br>calfuse.h 1.119
-<br>cf_astig.c
-
-<br>
-<p>
-New version of cf_astig employs Sylvester's cross-correlation routine
-to determine spectral centroids. New PHAM, WAVE, and FLUX files.
-Updated CALFUSE version to 2.0.1.
-<br><font color=red>This is the beta-test version of CalFUSE v2.0.</font>
-
-<hr WIDTH="100%">
-
-<p>July 2, 2001
-<br>Van Dixon
-<br>calfuse.h 1.118
-<br>cf_ttag_init.c
-<br>cf_ttag_screen.c
-<br>cf_ttag_burst.c
-<br>cf_make_ttag_bkgd.c
-<br>cf_make_hist_bkgd.c
-
-<br>
-<p>
-Implemented Richard's new background modeling routine, which
-independently computes the day- and night-time contributions to the
-scattered-light background. To do so, he adds an extra column, DNFLG,
-to all of the photon-event files. Package includes improvements
-to the burst-screening algorithm. Updated CALFUSE version to 2.0.0.
-
-<hr WIDTH="100%">
-
-<p>June 29, 2001
-<br>Van Dixon
-<br>calfuse.h 1.114
-<br>lsrd_vel.c
-<br>lsrk_vel.c
-
-<br>
-<p>
-Changed sign returned by the LSR correction subroutines to conform with
-astronomical standard. Updated CALFUSE version to 1.9.9
-
-<hr WIDTH="100%">
-
-<p>June 19, 2001
-<br>Jeff Kruk
-<br>helio_vel.c
-<p>
-Alex Fullerton determined that we have been applying the heliocentric
-velocity correction with the wrong sign. The orbital dopper correction
-has been applied with the correct sign. The function helio_vel.c
-inverts the sign returned by the SLALIB routines, so the simplest
-correction is to remove this sign inversion.
-
-<hr WIDTH="100%">
-
-<p>April 10, 2001
-<br>Van Dixon
-<br>calfuse.h 1.111
-<br>cf_hist_walk.c 1.1
-<br>cal_fuse_exp_hist.csh
-
-<br>
-<p>
-Installed new module to apply walk correction to histogram data.
-Modified shell script cal_fuse_exp_hist.csh to call this routine.
-Added PHAM entry to CALIBRATION_FILE_KEYS in calfuse.h. Updated
-CALFUSE version to 1.9.8
-
-<hr WIDTH="100%">
-
-<p>April 2, 2001
-<br>Van Dixon
-<br>calfuse.h 1.110
-<br>cf_ttag_walk.c 1.1
-<br>cal_fuse_exp_ttag.csh
-<br>cal_fuse_exp_hist.csh
-
-<br>
-<p>
-Installed new module to apply walk correction. Modified shell
-scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call this
-routine. Added WALK entry to CALIBRATION_FILE_KEYS in calfuse.h.
-Updated CALFUSE version to 1.9.7
-
-<hr WIDTH="100%">
-
-<p>March 28, 2001
-<br>Van Dixon
-<br>calfuse.h 1.109
-<br>cf_extract.c 1.52
-<br>cal_fuse_exp_ttag.csh
-<br>cal_fuse_exp_hist.csh
-
-<br>
-<p>
-Installed new module to perform optimal extraction. Modified shell
-scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call this
-routine. In calfuse.h, added definition of cf_optextract and new
-arguments to cf_spextract. Updated CALFUSE version to 1.9.6
-
-<hr WIDTH="100%">
-
-<p>March 27, 2001
-<br>Van Dixon
-<br>calfuse.h 1.108
-<br>cf_make_bkgd.c 1.22
-<br>cal_fuse_exp_ttag.csh
-<br>cal_fuse_exp_hist.csh
-
-<br>
-<p>
-Installed new module to scale background calibration file. Modified
-shell scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call
-this routine (instead of cf_make_bkgd_temp). Add AIRG entry to
-CALIBRATION_FILE_KEYS in calfuse.h. Updated CALFUSE version to 1.9.5
-
-<hr>
-
-<p>March 19, 2001
-<br>Van Dixon
-<br>calfuse.h 1.107
-<br>cf_ttag_burst.c 1.9
-<br>cal_fuse_exp_ttag.csh
-<br>cal_fuse_exp_hist.csh
-
-<br>
-<p>
-Installed new module to reject data during detector bursts. Modified
-shell scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call
-this routine. Modified Makefiles to install it. Updated CALFUSE
-version to 1.9.4
-
-<hr>
-<p>March 14, 2001
-<br>Van Dixon
-<br>calfuse.h 1.106
-<br>cf_astig.c 1.8
-<br>cal_fuse_exp_ttag.csh
-<br>cal_fuse_exp_hist.csh
-
-<br>
-<p>
-Installed new program to implement astigmatism correction, now called cf_astig.
-Modified shell scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call
-this routine. Modified Makefiles to install it.
-Updated CALFUSE version to 1.9.3
-
-<hr>
-<p>February 9, 2001
-<br>Jeff Kruk
-<br>calfuse.h 1.105
-<br>cf_ttag_screen.c 1.55
-
-<br>
-<p>
-Add checks to cf_ttag_screen.c to ensure that user-defined good time intervals
-actually fit within the time spanned by the dataset, and that in each case the
-end of a good time interval is later than the beginning. Invalid user GTI's
-are ignored. Also added printout to trailer file of the number of events that
-were rejected by pulse height limits. Updated CALFUSE version to 1.9.2
-
-<hr>
-<p>February 8, 2001
-<br>J.C. Hsu
-<br>calfuse.h 1.104
-<br>cf_linear.c 1.0
-<br>cf_transform1d.c 1.0
-<br>cf_1dff.c 1.0
-<br>cf_make_1dff.c 1.0
-
-<br>
-<p>
-Install programs needed to perform 1-D flat fielding. All Makefiles updated.
-The "official" pipeline shell scripts were not updated; users wishing to try
-the 1-D flatfields should edit their local copies of the shell scripts for
-the time being. Thus, the pipeline version was not updated.
-
-<hr>
-<p>December 21, 2000
-<br>Paul Barrett, J.C. Hsu
-<br>Makefile.Alpha
-<br>cf_ttag_screen.c 1.54
-<br>cf_ttag_image.c 1.22
-<br>cf_ttag_init.c 1.16
-<br>cf_wcal.c 1.25
-
-<br>
-<p>
-In response to problems encountered by Vincent LeBrun installing
-calfuse on a DEC Alpha running True64, we made a number of changes.
-The main one was to correct type mismatches in cfitsio calls:
-in a number of cases an "int" variable was referenced as TLONG and vice versa.
-Added -ieee flag to compiler options in Makefile.Alpha.
-cf_ttag_image: fix type mismatches in cfitsio calls
-cf_ttag_init: fix type mismatches in cfitsio calls
-cf_ttag_screen: fix type mismatches in cfitsio calls
-cf_wcal: fix type mismatches in cfitsio calls
-This is the first instance in which v1.9.1 differs from v1.8.7, and no
-change in functionality was involved, so the pipeline version was
-not updated.
-
-<hr>
-<p>November 15, 2000
-<br>Jeff Kruk
-<br>cf_make_ff_temp.c 1.6
-<br>cf_make_bkgd_temp.c 1.6
-<br>cf_ttag_screen.c 1.53
-
-<br>
-<p>
-Fixed typos in print statements in several routines.
-No change in functionality resulted, so the pipeline version number
-was not incremented.
-
-<hr>
-<p>October 19, 2000
-<br>Jeff Kruk
-<br>CALFUSE 1.9.1
-<br>calfuse.h 1.103
-
-<br>
-<p>
-Created CALFUSE version 1.9.1 as the new development version.
-calfuse.h was updated to reflect the new version number.
-
-<hr>
-<p>October 18, 2000
-<br>Martial Andre, Jeff Kruk
-<br>cf_extract.c 1.47
-<br>calfuse.h 1.102
-
-<br>
-<p>
-The image centroid (in Y) for extended sources is once again calculated
-including airglow lines. In many cases extended sources are very faint
-and the airglow will help locate the spectra. Extended sources will
-ordinarily fill the slits in the same manner as airglow, so the accuracy
-of the centroid calculation will not be adversely affected.
-<p>
-Changed CALFUSE version to 1.8.7.
-
-<hr>
-<p>October 13, 2000
-<br>Jeff Kruk
-<br>cf_ttag_screen.c 1.52
-<br>cf_extract.c 1.46
-<br>cf_fuv_init.c 1.9
-
-<br>
-<p>
-Three calls to FITS_read_key (infits, TSTRING, keyword, &arrayname,...) in the
-program cf_ttag_screen were modified to remove the extraneous ampersand.
-<p>
-One call to FITS_read_key (infits, TSTRING, keyword, &arrayname,...) in
-cf_extract.c was modified to remove the extraneous ampersand. Also
-fixed a bug in the test for the variable ystop_bis being out of limits.
-<p>
-CF_VER_NUM was brought up to date in cf_fuv_init.c
-
-<P>These changes are too small to update the version number of the pipeline.
-
-<hr>
-<p>October 2, 2000
-<br>Jeff Kruk, JC Hsu
-<br>cf_hist_dopp 1.25
-<br>calfuse.h 1.101
-<br>cal_fuse_exp_ttag.csh
-<br>cal_fuse_exp_hist.csh
-
-<br>
-<p>
-The program cf_hist_dopp was modified to incorporate corrections for
-grating thermal motion. The mean motion for the exposure is added to
-the doppler correction.
-<p>
-The shell script cal_fuse_exp_hist.csh was
-modified to call cf_make_shift and to pass the resulting shift file
-to cf_hist_dopp.
-<p>
-The include file calfuse.h was modified to include the function prototype
-for lif_sic_border() (see below), and to change the MKSH_COR
-histogram pipeline entry in CALIBRATION_STEP_KEYS to PERFORM.
-<p>
-The shell scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh were
-modified to test cfstat before calling the idlplot routines.
-
-<P>The pipeline version number was incremented to 1.8.6.
-
-<hr>
-<p>October 2, 2000
-<br>Jeff Kruk
-<br>cf_check_point 1.17
-<br>cf_hist_screen 1.21
-<br>cf_ttag_screen 1.51
-
-<br>
-<p>
-The programs cf_hist_screen and cf_ttag_screen were modified to
-update the keyword EXPNIGHT, newly created to provide the number of
-seconds of exposure time (after screening) that were obtained during
-the night side of the oribt. This keyword will be used by an upcoming
-version of cf_bkgd.
-<p>
-The function cf_check_point was modified to return a flag indicating
-whether the satellite was in daylight or night at the time being
-checked.
-
-<P>The pipeline version number was updated for an additional change made
-later in the day.
-
-<hr>
-<p>October 2, 2000
-<br>Jeff Kruk, JC Hsu
-<br>lif_sic_border() 1.00
-
-<br>
-<p>
-The function lif_sic_border() was extracted from cf_hist_dopp.c
-and make a function in libcf so that it would be available for
-the upcoming 1-D version of cf_ff. The libcf Makefiles were modified
-accordingly.
-
-<P>No change in functionality resulted, so no update to the pipeline
-version number was made.
-
-<hr>
-<p>October 2, 2000
-<br>Jeff Kruk
-<br>state_limb 1.08
-
-<br>
-<p>
-The function state_limb() was modified (v1.08) to include fortran
-function prototype wrappers for the new slalib calls introduced by
-the previous change (slaDcc2s, slaEvp, slaDranrm).
-
-<P>This change was solely for running Make on the distribution version
-of calfuse, so no update to the pipeline version number was made.
-
-<hr>
-<p>September 26, 2000
-<br>Martial Andre
-<br>state_limb 1.05, 1.06, 1.07
-<br>cf_check_point 1.16
-<br>cf_orbit 1.03
-<br>calfuse.h 1.98, 1.99, 1.100
-
-<br>
-<p>
-The function state_limb() was modified (v1.05) to calculate the limb angle
-constraint in the same way as is done by the mission planners:
-it checks if the limb itself is in daylight or night, rather than the
-old simplistic method of seeing if the satellite was in day or night.
-This required a modification to the call to state_limb.
-Versions 1.06, 1.07 of state_limb were to fix minor bugs.
-<p>
-The function cf_check_point (v1.16) and the program cf_orbit (v1.03) were
-modified to make use of this new limb angle constraint calculation.
-<p>
-The include file calfuse.h (v1.98, v1.99) was modified to provide the
-proper function prototype for the new versions of state_limb and
-cf_check_point.
-
-<P>These changes led to the increase in pipeline version number to 1.8.5
-(implemented by version 1.100 of calfuse.h).
-
-
-<hr>
-<p>September 18, 2000
-<br>Ed Murphy
-<br>Pipeline Distribution Version
-
-<br>
-<p>
-Ed Murphy & Paul Barrett produce distribution version of pipeline.
-Major change was to incorporate "makemake" files.
-
-<P>Update the version number of the pipeline to v1.8.4.
-
-<hr>
-<p>September 18, 2000
-<br>Ed Murphy
-<br>cf_astig2 1.07
-
-<br>
-<p>
-Ed made some change, not documented in the header.
-
-<P>Since this routine is still in testing, I have not updated the
-pipeline version number. The new version of cf_astig2.c is 1.07.
-
-
-<hr>
-<p>September 6, 2000
-<br>Jeff Kruk
-<br>cf_dtcor 1.18
-
-<br>
-<p>
-Jeff Kruk modified cf_dtcor.c to populate three new keywords
-in the FUV header:
-DEAD_DET Detector dead time factor
-DEAD_IDS IDS dead time factor
-DEAD_TOT Combined dead time factor
-
-New version of cf_dtcor.c is 1.18. He also changed sunmath.h to math.h.
-
-<P>These changes are too small to update the version number of the pipeline.
-
-<hr>
-<p>September 5, 2000
-<br>Ed Murphy
-<br>cf_astig2 1.06
-
-<br>
-<p>
-Modify cf_astig2 to get the calibration file from the ASTG_CAL keyword
-rather than being hardcoded.
-
-<P>Since this routine is still in testing, I have not update the
-pipeline version number. The new version of cf_astig2.c is 1.06.
-
-<hr>
-<p>August 25, 2000
-<br>Ed Murphy
-<br>cf_astig2 1.05
-
-<br>
-<p>
-Jeff Kruk found that cf_astig2 crashed on all segment 1B data. The
-routine lacked any boundary checking and was running off the bottom
-of the image when attempting to centroid the SiC spectrum. The
-centroiding routines have been updated to include boundary checking.
-
-<P>I also added the ability for the routine to check the number
-of arguments.
-
-<P>Since this routine is still in testing, I have not update the
-pipeline version number. The new version of cf_astig2.c is 1.05.
-
-<hr>
-<p>August 23, 2000
-<br>Martial Andre
-<br>cf_extract 1.44
-
-<br>
-<p>
-Martial fixed a bug in the initialization of column_sum that caused a
-fatal bus error.
-The change is too small to update the pipeline version number.
-<P>
-
-<hr>
-<p>August 18, 2000
-<br>Ed Murphy
-<br>cf_update_qual 1.03
-
-<br>
-<p>
-I added calls to cf_proc_check and cf_proc_update to cf_update_qual
-to rid the trailer files of the warnings concerning the QUAL_COR
-keyword. New version of cf_update_qual is 1.03. The change is too
-small to update the pipeline version number.
-<P>
-
-<hr>
-<p>August 14, 2000
-<br>Martial
-<br>cf_extract 1.43
-
-<br>
-<p>
-To avoid the centroid to be shifted close to the bright edge, the procedure should compute the size of
-the scanning window for each different channel (the changes done in version 1.41 were wrong!!!)
-<P>
-
-<hr>
-<p>August 13, 2000
-<br>Martial
-<br>cf_coadd 1.17
-
-<br>
-<p>
-Propagation of quality should have been done with float since the very beginning (now fixed).
-<P>
-
-<hr>
-<p>August 9, 2000
-<br>Martial
-<br>cf_extract 1.42
-
-<br>
-<p>
-Added a define statement to use sunmath only ifdef SOLARIS.
-<P>
-
-<hr>
-<p>July 26, 2000
-<br>J. C. Hsu, R. Robinson, Ed Murphy
-<br>cf_update_qual v1.02
-<br>cf_driftcorr2 v1.23
-
-<p>J. C. Hsu has written a program cf_update_qual to update the quality
-flags in the *_img.fit files after the drift correction has been
-determined. The FARF positions of the dead spots and edges of the detectors
-were determined by Rich Robinson and are in the qual*001.fit calibration
-files. The drift correction is used to correct for the strecth/shift
-in going from the FARF to the observed data frame.
-
-<p>When implementing cf_update_qual, Ed Murphy noticed that cf_driftcorr2
-was centroiding the stims incorrectly. The error arose because the
-algorithm was computing the stim centroid in a box that had an extent
-of +-256 in X. Since the stims are at pixel ~230 (on segment 1a) the
-centroiding box was including counts along the X=0 column, which
-skewed the centroid. In the particular observation that he used
-to test the routine (M999 flat field) the X=0 column was particularly
-bright due to the high count rates in a stim lamp observation. This
-problem probably does not effect most observations, since the X=0 column
-is normally much weaker. He also modified cf_driftcorr2 to use the
-FARF stim positions given in calfuse.h as opposed to the positions that
-were hard coded into the routine.
-<P>
-Ed Murphy created V1.8.3.
-
-<hr>
-<p>July 21, 2000
-<br>Martial
-<br>cf_extract 1.41
-
-<br>
-<p>
-Fixed bug of implementation of a pointer in im_centroid wich caused a bus error.
-<P>
-
-<hr>
-<p>June 27, 2000
-<br>Jeff Kruk
-<br>cf_dtcor v1.17
-
-<p>Jeff Kruk added an IDS dead time correction to the dead time correction
-routine cf_dtcor.c.
-
-<P>
-Ed Murphy created V1.8.2 and V1.7.8.
-
-<hr>
-<p>June 26, 2000
-<br>Martial
-<br>cf_coadd v1.15
-
-<p>Now the default resolution of the coadded spectra is 0.1 Angstrom. This way,
-we make sure that astronomers outside JHU don't use them for science purpose
-(since some of the channels are currently misaligned => artefacts). Note that
-the user is still free to have maximal resolution by tuning the arguments.
-
-<hr>
-<p>June 20, 2000
-<br>Ed Murphy
-<br>cf_ttag_screen 1.49, cf_hist_dopp v1.23
-<br>PR 41926
-
-<br>
-<p>
-Peter Young noticed that the Doppler shift in pixels for the SiC and
-LiF spectra on segment 1a were both in the same direction. Since the
-dispersions run in opposite directions, the two shifts should be opposite
-in sign. The DISPAPIX keyword in the wavelength calibration file records
-the average dispersion in Angstroms/pixel. It should be positive when
-the wavelength increases with increasing pixel number and it should be
-negative when the wavelength decreases with increasing pixel number
-(SiC1 and LiF2). However, I found that the DISPAPIX keyword was always
-positive in the recent versions of the wavelength calibration files.
-Therefore, for SiC1 and LiF2, the sign of the Doppler and heliocentric
-corrections are incorrect.
-
-<P>
-I have modified the code in cf_ttag_screen and cf_hist_dopp to read in
-the absolute value of DISPAPIX and compute the sign of the shift based
-on the aperture to which the photon belongs. The new version of
-cf_ttag_screen is 1.49 and the new version of cf_hist_dopp is 1.23.
-
-<P>
-I have also removed the flat-fielding step from the pipeline. Even
-though we do not have a flat-field file, we have been applying a flat
-field (filled with 1's) to the data so that we could incorporate a bad
-pixel mask. However, we are not stretching/shifting the flat field file
-(since it is all 1's) to match the data which means that the bad pixel
-mask does not line up with the data. J.C. Hsu is in the process of
-writing a new module to properly apply the bad pixel mask. However,
-the routine cf_ttag_geodopp.c still requires the _ff.fit file, so we
-must still run cf_make_ff_temp. This intermediate _ff.fit data file
-contains all 1's over the active area of the detectors, and 0's
-everywhere else. Since we are not running the cf_ff, the locations
-where the flat field is 0 are not being flagged as bad. This was
-causing cf_ttag_geodopp to report a lot of "Divide by zero in ffbuf"
-errors. For now, I have turned off the warning in cf_ttag_geodopp.
-
-<P>
-Ed Murphy created V1.8.1 and V1.7.7.
-
-<hr>
-<p>June 13, 2000
-<br>Martial
-<br>cf_extract 1.40
-<br>
-
-<br>
-<p>
-The algorithm of finding the centroid has been totally changed. Now the position
-of the spectrum is reached via a maximisation of the flux in the extraction window.
-Moreover, the airglows are systematically screened to center only on the source.
-
-<hr>
-<p>June 9, 2000
-<br>Martial
-<br>cf_extract 1.39
-
-<br>
-<p>
-Airglow screened while computing the centroid.
-<P>
-<hr>
-<p>June 9, 2000
-<br>Martial
-<br>cf_extract 1.38
-
-<br>
-<p>
-Major change to calculate the centroid. Center is reached for flux maximum.
-<P>
-<hr>
-<p>June 4, 2000
-<br>Martial
-<br>Version 7 of the extraction windows
-<br>
-
-<br>
-<p>
-The way the windows are calculated changed drastically. Using the parameter of the distortion
-correction, the shape of each window has been simplified (butterfly or trapeze) and the
-weigth files are filled with parabolic profiles (first approximation). For more details
-see /data1/fuse/calfuse/v1.8/src/cal/extraction_masks/README
-
-
-<hr>
-<p>May 24, 2000
-<br>Martial
-<br>cf_extract 1.37
-
-<br>
-<p>
-Added a define statement for the cpp and DEC
-<P>
-<hr>
-<br>
-<hr>
-<p>May 18, 2000
-<br>Jeff Kruk, Ed Murphy
-<br>cf_wcal 1.24
-
-<br>
-<p>
-Jeff Kruk upgraded cf_wcal to read either the new FPA keywords (FPASXPOS
-or FPALXPOS) or the old keywords (FP1SXPOS, FP1LXPOS, FP2SXPOS, or
-FP2LXPOS). New version is 1.24.
-<P>
-Ed Murphy created V1.8.0.
-
-
-<hr>
-<p>May 17, 2000
-<br>Jeff Kruk, Ed Murphy, Paul Barrett
-<br>CALFUSE v1.7.6
-
-<br>
-<p>
-Jeff Kruk has completed the new version of cf_dtcor.
-<P>
-Ed Murphy found and corrected a bug in cf_extract that prevented the
-SiC extraction windows from being reset to the default position if
-the centroid was more than EMAX_SIC pixels from the exptected position.
-<P>
-Paul Barret changed the interpolation algorithm back to a constant (to
-prevent ringing around the outside of the spectrum) and fixed a bug in
-that implementation.
-
-<hr>
-
-<p>May 12, 2000
-<br>Jeff Kruk, Paul Barrett
-<br>CALFUSE v1.7.5
-
-<br>
-<p>
-Jeff Kruk has modified cf_wcal.c (now version 1.23) to correct the
-wavelength scale for the position of the FPA.
-<P>
-Paul Barrett has produced new versions of the detector distortion
-files: geom*005.fit in /data1/fuse/calfuse/calfiles.
-
-<hr>
-
-<p>April 24, 2000
-<br>Ed Murphy
-<br>CALFUSE v1.7.4
-
-<br>
-<p>
-The pipeline can now generate a few diagnostic plots (using IDL) while
-it is running if the CF_IDLDIR environment variable is set to point to
-the location of the IDL programs. To set up the pipeline to make the
-plots, add the following to your .cshrc or .login file:<BR>
-setenv CF_IDLDIR '/data1/fuse/calfuse/current/idl/'
-<P>
-The plots are in GIF format so that they can, at some future time,
-be linked to the SDOG pages.
-<hr>
-<p>April 24, 2000
-<br>Ed Murphy
-<br>CALFUSE v1.7.4
-
-<br>
-<p>
-Development on V1.7.4 of the pipeline has been frozen. Only bug fixes
-will be made from now on. The current stable version of the pipeline
-now points to V1.7.4. You will need new calibration files, new
-parameter files, and a new master_calib_file.dat
-<P>
-Upgrades (besides those listed in previous messages) include:
-<ol>
-<li> Both the code (V1.7.*) and calibration files are now in the
-Flight Alignment Reference Frame. This means that the stretch and
-shift has been reduced from about 120 pixels in X to less than 10
-pixels in X.
-<li> Improved wavelength calibration from Don Lindler.
-<li> Improved flux calibration from Jeff Kruk.
-<li> Improved distortion correction from Paul Barrett.
-<li> The user now has the ability to scale the background by a simple
-scalar value when using pulse height screening. The value to scale
-the background is in the PHA_BKGD keyword in the screening parameter
-file.
-<li> The user now has the ability to limit the motion of the spectral
-extraction windows based on the pipeline determined centroid. If the
-difference between the expected and actual positions is larger than
-the limit, the pipeline defaults to the expected position. The limit
-is set using the EMAX_LIF and EMAX_SIC keywords in the parm**002.fit
-files.
-<li> The user now has the ability to ignore the pipeline determined
-centroid and place the extraction windows where ever they wish using
-the SPEX_SIC and SPEX_LIF keywords in the parm**002.fit files. Note
-that the maximum motion limit described above still applies.
-</ol>
-
-<hr WIDTH="100%">
-
-<p>March 24, 2000
-<br>Paul Barrett
-<br>CALFUSE v1.7.4
-<br>PR 41000
-<p>It has been suggested that a higher order interpolation scheme be used
-when expanding the binned histogram data, instead of the current constant
-interpolation scheme. A quadratic average interpolation algorithm has been
-implemented in cf_hist_init. This algorithm uses data from neighboring
-pixels to interpolate the data in binned pixles while conserving the total
-number of counts per binned pixel. This routine has been tested.
-<p>This modification to cf_hist_init will now allow histogram data to be
-used for determining distortion corrections by providing necessary spatial
-resolution.
-<hr WIDTH="100%">
-<p>March 7, 2000
-<br>Ed Murphy
-<br>CALFUSE V1.6.9 and V1.7.3
-<br>PR 40864
-
-<p STYLE="margin-bottom: 0in">In the SDOG report for P1320101 Jeff Kruk
-found that the pipeline seemed to be excessively screening out data that
-was near, but not violating, the night time limb angle limit. I found flawed
-logic in the limb angle check in cf_check_point.c that meant that the bright
-limb angle was always used regardless of the day/night flag. The problem
-has been corrected (cf_check_point.c now V1.15) and the routine has been
-tested.
-<br>
-<hr>
-<p>February 10, 2000
-<br>Ed Murphy
-<br>CALFUSE V1.6.8 and V1.7.2
-<br>PR 40661
-
-<p STYLE="margin-bottom: 0in">Bill Oegerle noticed that the pipeline was
-not subtracting the background from some recently processed datasets. The
-pipeline has been in this state since sometime around the end of December
-1999. I fixed the problem in both versions of the pipeline: new versions
-are V1.6.8 and V1.7.2
-<p>The problem was found in cf_make_bkgd_temp.c, which is a temporary module
-designed to read in the background calibration file and write it into the
-*ttagf_bkgd.fit file needed by the pipeline. The module does not stretch
-or shift the background image but does scale the background by the integration
-time. In the calibration file, the background image is composed of short
-integers with the value 1 everywhere. The keyword BSCALE gives the number
-of square cm per pixel, so that the file contains the number of counts
-per pixel per second. The original version of cf_make_bkgd_temp.c read
-in the calibration image and wrote it out directly, without converting
-the input image to floats. All it did was multiply BSCALE by the integration
-time, so that when cf_bkgd.c read in the file and scaled by BSCALE, the
-resulting image would be background counts per pixel for the full integration.
-<p>In late December 1999, it was decided to rewrite cf_make_bkgd_temp.c
-to rebin the data for histogram mode observations. In this case, the new
-routine read in the calibration file array (all 1), converted the background
-image to floats by applying BSCALE, rebinned the data (if necessary), and
-wrote out an array of floats. However, the header was copied from the input
-file, so the BSCALE keyword still remained even though the data had already
-been scaled as part of the routine. In addition, the step where BSCALE
-was multiplied by the integration time also remained in the new version.
-Therefore, when cf_bkgd.c read in the *ttagf_bkgd.fit intermediate file,
-it used the BSCALE keyword a second time. The result was that the subtracted
-background was about two orders of magnitude too small.
-<p>Because the pipeline now unbins the histogram data, we have reverted
-back to the original versions of the routines which do not rebin the data
-and do not suffer from this problem. The new version of cf_make_bkgd_temp.c
-is V1.4.&nbsp;
-<hr>
-<p>February 1, 2000
-<br>Ed Murphy
-<br>CALFUSE V1.6.7 and V1.7.1
-<br>PR 40541
-
-<p STYLE="margin-bottom: 0in">A few histogram data sets were crashing the
-pipeline becuause of a bad pixel value that was larger than 32767. This
-value was large enough that it would not fit into a short integer in the
-pipeline and cfitsio would return a data conversion error. Jim Rose has
-agreed to modify the OPUS pipeline to find pixel values larger than 32767
-and change them to the data fill value 21865. As seen below, the pipeline
-will convert the data fill value to 0.0 and change its quality flag to
-bad.
-<hr>
-<p>February 1, 2000
-<br>Ed Murphy
-<br>CALFUSE V1.6.7 and V1.7.1
-<br>PR 40544
-
-<p STYLE="margin-bottom: 0in">A number of histogram data sets have fill
-data in them (decimal 21865) which the pipeline was not filtering out.
-I have modifed v1.6.7 and v1.7.1 of the pipeline to check pixels for the
-fill data value. If the fill data value is found, it will replace the data
-with 0.0 and change the quality flag to bad.
-<hr>
-<p>January 31, 2000
-<br>Ed Murphy
-<br>CALFUSE V1.6.7 and V1.7.1
-<br>PR 40553
-
-<p STYLE="margin-bottom: 0in">Until now, the DATE keyword in the header
-was not modified by any of the modules in the pipeline, even though its
-comment stated that it was the "date the file was written." I have modified
-cf_proc_update.c to update the DATE keyword. Since cf_proc_update is called
-at the end of each module of the pipeline, the output files and all intermediate
-data products will now have accurate dates and times in the DATE keyword.
-This change was made to both V.1.6.7 and V1.7.1 of the pipeline.
-<hr>
-<p>January 24, 2000
-<br>Martial
-<br>CALFUSE V1.6 and V1.7
-
-<p STYLE="margin-bottom: 0in">CENTROIDING PROBLEMS FIXED :
-
-<p STYLE="margin-bottom: 0in">Until now, the cf_extract procedure was unable
-to perform a good centroiding in Y when very few counts were involved.
-Since we used the formula : Ycenter = (<font face="symbol">&aring;</font>
-Yi * nbcounts_i)/<font face="symbol">&aring;</font>nbcounts_i, where nbcounts_i
-is the total number of counts along the row i, the result was depending
-on the Y limits of the sum. For instance, if the upper limit equals infinity,
-the result is infinity (do not forget that the noise is different of 0).
-So, to use this formula, we need a first guess for the position of the
-center in order
-
-<p STYLE="margin-bottom: 0in">to choose a domain of calculation surrounding
-it. At present, this first guess is the maximum peak.
-<br>
-<hr>
-<p>January 21, 2000
-<br>Martial
-<br>CALFUSE V1.6 and V1.7
-
-<p STYLE="margin-bottom: 0in">The new extraction windows are now available
-(spex*005.fit). This is the first set of In Orbit Based Extraction Windows
-: all the apertures have the same window (based on 100 percent with LWRS).
-
-<p STYLE="margin-bottom: 0in">The associated weight files are also available
-(wgts*003.fit). Note that since the raw windows extracted from In Orbit
-Data are very noisy, I had to smooth and correct the geometrical distorsions
-, sometimes " by hand ".
-<br>&nbsp;
-<table BORDER CELLSPACING=3 CELLPADDING=4 >
-<caption><COL WIDTH=85><COL WIDTH=85><COL WIDTH=85><THEAD>
-<br></THEAD><TBODY>
-<br></TBODY></caption>
-
-<tr VALIGN=TOP>
-<th>Detector</th>
-
-<th>Data Used</th>
-
-<th>Notes</th>
-</tr>
-
-<tr VALIGN=TOP>
-<td>1A (LiF)</td>
-
-<td>/data2/fuse/CAL/M101/M1010201</td>
-
-<td>Good&nbsp;</td>
-</tr>
-
-<tr VALIGN=TOP>
-<td>1A (SiC)</td>
-
-<td>/data2/fuse/CAL/M103/M1030303</td>
-
-<td>Good&nbsp;</td>
-</tr>
-
-<tr VALIGN=TOP>
-<td>1B (LiF)</td>
-
-<td>/data2/fuse/CAL/M101/M1010201</td>
-
-<td>Corrected by hand : mirror transformation applied</td>
-</tr>
-
-<tr VALIGN=TOP>
-<td>1B (SiC)</td>
-
-<td>/data2/fuse/CAL/M103/M1030304</td>
-
-<td>Corrected by hand : linear regression for the narrow domain</td>
-</tr>
-
-<tr VALIGN=TOP>
-<td>2A (LiF)</td>
-
-<td>/data2/fuse/CAL/M101/M1010201</td>
-
-<td>Good</td>
-</tr>
-
-<tr VALIGN=TOP>
-<td>2A (SiC)</td>
-
-<td>/data2/fuse/CAL/M103/M1030304</td>
-
-<td>Good&nbsp;</td>
-</tr>
-
-<tr VALIGN=TOP>
-<td>2B (LiF)</td>
-
-<td>NOT AVAILABLE</td>
-
-<td>Here I didn't find a signal strong enough ... I used the old Ground
-Based Files + geometrical correction</td>
-</tr>
-
-<tr VALIGN=TOP>
-<td>2B (SiC)</td>
-
-<td>/data2/fuse/CAL/M103/M1030304</td>
-
-<td>Ground Based Files + geometrical correction</td>
-</tr>
-</table>
-
-<div STYLE="margin-bottom: 0in"></div>&nbsp;
-
-
-<p STYLE="margin-bottom: 0in">Note also that you can change the windows
-with "cf_modifwindows" wich apply an homothetic factor to the LiF channel
-and the SiC channel :
-
-<p STYLE="margin-bottom: 0in">>cf_modifwindows filename 0.8 (80% for LiF)
-0.9 (90% for SiC)
-<br>
-<hr>
-<br>&nbsp;
-<br>&nbsp;
-<br>&nbsp;
-<p>January 5, 2000
-<br>Ed Murphy
-<br>CALFUSE V1.6 and V1.7
-
-<p STYLE="margin-bottom: 0in">By popular demand, I have written a program
-to convert an ASCII file to the 1-D FITS extracted format that comes out
-of the pipeline. The program is called ascii2fits and is in the /usr/local/fusesw/calfuse/current/bin
-directory. The program takes 3 arguments: Calling sequence:ascii2fits ascii_file
-template_fits_file output_fits_file The ASCII file must have six columns:
-wavelength (float) flux (float) errors (float) quality flags (int) counts
-(float) errors on counts (float) The template FITS file is used to populate
-the header keywords. It can be any raw or pipeline processed file.
-<br>
-<hr>
-<p>January 03, 2000
-<br>Paul Barrett
-<br>CALFUSE V1.6.5
-
-<p STYLE="margin-bottom: 0in">Overlapping pixels are now averaged by cf_hist_geodopp.
-This is a temporary fix to minimize the effect on the spectrum due to a
-mis-match between the BARF and FARF, i.e. it removes the spikes from the
-spectrum.
-<br>
-<hr>
-<p>December 21, 1999
-<br>Ed Murphy
-<br>CALFUSE V1.7.1
-
-<p STYLE="margin-bottom: 0in">Version 1.7.1 of the pipeline is now in the
-FARF frame, however, the calibration files are not.
-<br>
-<hr>
-<p>December 21, 1999
-<br>Ed Murphy
-<br>CALFUSE V1.6.5
-
-<p STYLE="margin-bottom: 0in">The dead time correction step has been removed
-from the pipeline. The new version of pipeline is V1.6.5. The pipeline
-module itself was fine. However, Dave Sahnow has found that the on-board
-counters behave strangely at low count rates (in addition to behaving strangely
-in the SAA). Until this issue is resolved, we will not dead time correct
-the data.
-<br>
-<hr>
-<p>December 21, 1999
-<br>Ed Murphy
-<br>CALFUSE V1.6.4
-
-<p STYLE="margin-bottom: 0in">Histogram data currently show strong spikes
-approximately once per Angstrom. This behavior is not unexpected. It comes
-from the fact that we have to compress the image in the X direction by
-about 110 pixels in order to bring the data into the reference frame of
-the calibration files. Until we can redefine the calibration file reference
-frame and remake all our calibration files, this behavior will be present
-in the data.
-<br>
-<hr>
-<p>December 17, 1999
-<br>Ed Murphy
-<br>CALFUSE V1.6.4
-<p>Version 1.6.4 of the CALFUSE pipeline is now frozen. In the future,
-only bug fixes will occur. The /usr/local/fusesw/calfuse/current directory
-will now point to v1.6. All development will take place in v1.7.
-<p>Upgrades include:
-<ol>
-<div STYLE="margin-bottom: 0in">The histogram pipeline finally works. The
-histogram images are, for now, expanded out to 16384x1024 in size to avoid
-some of the binning problems we were encountering.</div>
-
-
-<p STYLE="margin-bottom: 0in">The spectral thermal shifts are now removed
-from the data using Kathy's algorithm. If you have a local copy of the
-calibration files, will need to copy the new version of master_calib_file.dat
-from /data1/fuse/calfuse/parmfiles and the new calibration file shft001.fit
-from /data1/fuse/calfuse/calfiles.
-
-<p STYLE="margin-bottom: 0in">In ttag data, the calculated centroid of
-the target aperture is used to offset all apertures to account for movememnt
-in the Y direction. In the past, each aperture was centroided and offset
-independently. However, because of the overlapping spectra on side 2, the
-HIRS aperture centroid often caused the HIRS extraction to contain significant
-flux from the LWRS aperture.
-<p>A large number of small items were taken care of (keyword updates, minor
-bug fixes, etc.).</ol>
-
-<div STYLE="margin-bottom: 0in">REMINDER: Many people directly reference
-"v1.5" rather than "current" in their PATH and LD_LIBRARY_PATH. If you
-do this, be sure to change both PATH and LD_LIBARARY_PATH to v1.6. Otherwise,
-you will be running the pipeline with outdated copies of the library routines
-since we are now using dynamically linked libraries (linked in at run time).</div>
-
-<br>
-<hr>
- <address><a href="mailto:emurphy@pha.jhu.edu">Ed Murphy</a></address>
-<!-- Created: Fri Apr 28 15:14:57 EDT 2000 -->
-<!-- hhmts start -->
-Last modified: Monday, December 10 2001
-<!-- hhmts end -->
- </body>
-</html>