diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-03-05 12:53:09 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-03-05 12:53:09 -0500 |
commit | 832b4b34ff8ce84a13751883c0822c16c152fe48 (patch) | |
tree | edb4d7050c37ade55bc543de80e76e58c4486908 /doc | |
parent | 8f848043369b49e861942ce132181fed2c53c2d3 (diff) | |
download | calfuse-832b4b34ff8ce84a13751883c0822c16c152fe48.tar.gz |
Massive rework
Diffstat (limited to 'doc')
-rw-r--r-- | doc/FIXING_SELINUX_ISSUES | 84 | ||||
-rw-r--r-- | doc/INSTALLING_A_FORTRAN_COMPILER | 259 | ||||
-rw-r--r-- | doc/INSTALLING_CalFUSEv3.2.3 | 215 | ||||
-rw-r--r-- | doc/INTRO_TO_CalFUSEv3.2.3 | 385 | ||||
-rw-r--r-- | doc/Makefile.am | 6 | ||||
-rw-r--r-- | doc/Makefile.in | 504 | ||||
-rw-r--r-- | doc/pipeline_status.html | 3515 |
7 files changed, 4968 insertions, 0 deletions
diff --git a/doc/FIXING_SELINUX_ISSUES b/doc/FIXING_SELINUX_ISSUES new file mode 100644 index 0000000..548077b --- /dev/null +++ b/doc/FIXING_SELINUX_ISSUES @@ -0,0 +1,84 @@ + +------------------------------------------------------------------------------- + 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/doc/INSTALLING_A_FORTRAN_COMPILER b/doc/INSTALLING_A_FORTRAN_COMPILER new file mode 100644 index 0000000..9af64ff --- /dev/null +++ b/doc/INSTALLING_A_FORTRAN_COMPILER @@ -0,0 +1,259 @@ + +------------------------------------------------------------------------------- + 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/doc/INSTALLING_CalFUSEv3.2.3 b/doc/INSTALLING_CalFUSEv3.2.3 new file mode 100644 index 0000000..9579254 --- /dev/null +++ b/doc/INSTALLING_CalFUSEv3.2.3 @@ -0,0 +1,215 @@ +# +# 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/doc/INTRO_TO_CalFUSEv3.2.3 b/doc/INTRO_TO_CalFUSEv3.2.3 new file mode 100644 index 0000000..0408121 --- /dev/null +++ b/doc/INTRO_TO_CalFUSEv3.2.3 @@ -0,0 +1,385 @@ +# Documentation for CalFUSE, the FUSE Calibration Pipeline +# +# Introduction to CalFUSE v3.2 +# +# Created 02/03/2004 +# Van Dixon +# +# History: +# 03/05/2004 Update for v3.0.5. +# Change name of POTHOLE column to QUALITY. +# 04/01/2004 Update for v3.0.6. +# Pipeline now runs on Linux and works on HIST data. +# Default output binning reduced to 0.013 A. +# 05/05/2004 Update for v3.0.7. +# Fixed bug in initial spectral-centroiding routine. +# Extraction routine now uses the same algorithm to +# compute the spectral, weights, and bkgd arrays. +# Modified boxcar extraction to improve background +# estimate. +# 08/20/2004 Update for v3.0.7 release. +# Pipeline now runs on Mac OS X 10.2 and higher. +# Screening now preceeds aperture centroiding. +# Raised minimum pulse height to 2 for all segments. +# 01/21/2005 Add a note about reading the new extracted +# spectral files into IDL. +# 04/19/2005 Update for v3.1.0 release. +# 06/06/2005 Update for v3.1.1 release. +# 06/10/2005 Clarify discussion of spectral file format. +# 06/15/2005 Update for v3.1.2 release. +# 06/24/2005 Add instructions for generating new jitter files. +# 07/12/2005 Modify instructions for generating new jitter files. +# 07/21/2005 Add information about post-processing tools. +# 09/07/2005 Update for v3.1.3 release. +# 12/02/2005 Update for v3.1.5 release. +# 12/03/2005 New changes to cf_mirror_motion and cf_grating_motion +# 01/24/2006 Update for v3.1.6 release. +# 02/02/2006 Update for v3.1.7. +# 05/24/2006 Update for v3.1.8. +# 11/08/2006 Update for v3.2.0. +# 01/15/2007 Move FIFO-overflow correction to cf_convert_to_farf. +# 08/24/2007 Update for v3.2.1. +# 02/15/2008 Update for v3.2.2. +# 12/05/2008 Update for v3.2.3. +# + + +I. Introduction + + CalFUSE v3.2.3 is the latest version of the FUSE data-reduction + pipeline. This package includes a new set of calibration files and + support for Linux 64-bit and Solaris 10 machines. + + For complete details about the program, see the paper, + "CalFUSE v3: A Data-Reduction Pipeline for the Far Ultraviolet + Spectroscopic Explorer" by Dixon et al. (2007) + (http://adsabs.harvard.edu/abs/2007PASP..119..527D). It describes + the CalFUSE pipeline, the instrument calibrations upon which it is + based, and the format of the resulting calibrated data files. + + +II. Recent Improvements + + New in CalFUSE v3.1.5 + + Bad-Pixel Correction: A new routine, cf_screen_bad_pixels, flags + photon events falling in known bad-pixel regions. + + Histogram Mode: For data obtained in HIST mode, + cf_count_rate_y_distort must use a single count-rate value for + the entire exposure. To better estimate it, we replace the + time-dependent FEC-rate array with its weighted mean value. + Rather than using different HIST_PAD values for each aperture, + cf_extraction_limits now pads apertures by 8 pixels (top and + bottom). + + Jitter Correction: To improve the jitter-correction algorithm, we + removed the data-screening functions from cf_satellite_jitter and + moved them to a new routine, cf_screen_jitter. + + New in CalFUSE v3.1.6 + + Burst Correction: Because cf_screen_bursts attempts to exclude + airglow photons from the calculated background, these photons must + be flagged before the routine is called. To this end, + cf_screen_airglow is now the first of the screening routines. + + Background Models: The model background consists of a + spatially-uniform component and a scattered-light image. As a + result of changes introduced in CalFUSE v3.1.3, the scattered-light + component was over-estimated, because the data were summed over a + larger region of the detector than the scattered-light image. Now, + the same limits are applied to both data and models. + + New in CalFUSE v3.1.7 + + Spectral Centroids: We tightened the limits over which + cf_find_spectra computes the spectral centroid to prevent a bright + star in a nearby aperture or the enhanced background near the + detector edge from pulling the extraction window off center. In + both cf_compute_y_centroid and cf_find_spectra, we returned the + parameter-file keywords EMAX_LIF and EMAX_SIC to their original + behavior: if the centroid differs from the default value by more + than this limit, the default value is used. + + New in CalFUSE v3.1.8 + + Astigmatism and Dispersion: The routine + cf_astigmatism_and_dispersion was divided into two programs, + cf_astigmatism and cf_dispersion. + + Fewer Warnings: The pipeline no longer issues WARNING messages + when a raw or intermediate data file is empty, when the jitter file + is missing, when the detector voltage is low, or when it cannot + perform optimal extraction. + + Fewer Bad Spectra: The program cf_extract_spectra no longer + discards (that is, sets to zero the flux and error arrays of) + spectra with non-zero values of EXP_STAT. + + New in CalFUSE v3.2.0 + + Time-Dependent X and Y Distortions: It turns out that the X and Y + coordinates computed by the detector electronics for a particular + spectral feature drift slowly with time. The new routine + cf_time_xy_distort corrects for this effect. + + Grating Motion: The grating-motion correction has been revised to + better correct the zero point of the wavelength scale. + + Jitter Files: Over the years, FUSE engineers have repeatedly + modified the spacecraft-control software, but the routine that + generates jitter files has not been kept up to date. As a result, + the program was not using all available information to determine + the quality and value of pointing errors. We have modified the + code to make use of this information. As a result, the meaning of + the jitter-file TRKFLG array has changed: values between 1 and 5 + reflect increasing levels of confidence in the quality of reported + pointing errors, a value of 0 indicates that pointing telemetry is + missing, and a value of -1 says that the pointing is unknown but + likely to be bad. Jitter files generated with the new routine + receive a version number >= 3.0. The use of old jitter files with + the new software is likely to yield unsatisfactory results. If you + have the housekeeping files, you can generate jitter files that are + consistent with the new pipeline. To do it, delete (or hide) the + old jitter files, then type + + prompt> cf_jitter P9990101001hskpf.fit P9990101001jitrf.fit + + for each exposure. Run the pipeline as usual. + + Jitter Correction: The jitter routines cf_screen_jitter and + cf_satellite_jitter have been updated to take advantage of the + information present in the new jitter files, and three new keywords + have been added to the parameter file. Times for which the X or Y + pointing errors are greater than DX_MAX or DY_MAX (default is 30") + are flagged as bad. Only pointing errors with associated tracking + flag values >= TRKFLG (default is 3) are considered reliable. + + FIFO Overflow: Before, the screening routines flagged times when + the detector count rate went to zero because of FIFO overflows. + This technique underestimated the actual target flux. Now, we + modify the IDS dead-time correction to account for photon losses + due to FIFO overflows. + + New in CalFUSE v3.2.1 + + Jitter Correction: We have modified the program cf_jitter, which + constructs jitter files, to be more robust when presented with + weird pointing data. + + SAA Contours: The size of the South Atlantic Anomaly varies on + timescales of weeks. If you find that the default contours (in the + file saac004.fit) are too small, causing times with elevated + background rates to be flagged as good, you can switch to the + smaller set of contours in the file saac005.fit by modifying the + file master_calib_file.dat. + + New in CalFUSE v3.2.2 + + New Platforms: CalFUSE now runs on 64-bit machines running Linux + and Sun workstations running Solaris v10. See the file + INSTALLING_CalFUSEv3.2.2 for installation details. + + We have used data from the last few months of the mission to + produce final versions of the PHAH_CAL, STIM_CAL, and PHAX_CAL + files. + + New in CalFUSE v3.2.3 + + The final version of the pipeline includes updates needed for the + final processing of the FUSE archive. First, airglow exposures get + special treatment: data taken close to the earth limb are flagged + but not rejected. Airglow exposures are ignored by cf_combine and + idf_combine unless the -a flag is set. Second, the usual limits on + the spectral centroids are not applied to HIST data, because + spectra from other apertures are not present to confuse the + centroiding algorithm. + + +III. Overview of Pipeline + + The following modules are called by the shell script calfuse.csh: + + cf_ttag_init, cf_hist_init + Converts raw-data file into an IDF containing photon-event + list, GTI's, and timeline table. Histogram data are converted + to a pseudo-time-tag format. + + cf_convert_to_farf + Corrects for detector deadtime. Transforms photon coordinates + into the FARF (flight alignment reference frame). + + cf_screen_photons + Checks data quality. Assigns status flag to each photon. + + cf_remove_motions + Corrects for mirror, grating, FPA, and spacecraft motions. + + cf_assign_wavelength + Applies astigmatism and Doppler corrections. + Assigns wavelength to each photon. + + cf_flux_calibrate + Converts WEIGHT to ERG/CM2 for each photon. + + cf_bad_pixels + Applies image-motion corrections to bad-pixel map. + + cf_extract_spectra + Extracts LiF and SiC spectra only for target aperture. + Wavelength array is user defined; default spacing is 0.013 A. + + +IV. Installing and Running the Pipeline + + CalFUSE is now available for Macs running OS X 10.2 and higher, + 64-bit Linux machines, and Sun workstations running Solaris 10. + + Please see the document INSTALLING_CalFUSEv3.2.2 for instructions. + + For both TTAG and HIST data, the command is + + prompt> calfuse P99901010011attagfraw.fit + prompt> calfuse P99901010011ahistfraw.fit + + The pipeline expects to find all data files (*raw.fit, *jitrf.fit, + *hskpf.fit) in the current directory. It operates on one detector + segment at a time. + + CalFUSE v3 produces the following output files: an intermediate + data file (IDF), discussed below; a bad-pixel map (BPM), with a + format similar to the IDF; two extracted spectral files, one for + each of the LiF and SiC channels; and (if IDL is installed on your + machine) a pair of GIF or JPEG files, one an image of the detector + and the other a count-rate plot. + + +V. The Intermediate Data File (IDF) + + The photon-list files consist of three FITS binary tables. The + first contains the photon events themselves. The pipeline does not + discard any events, but uses a series of flags to indicate whether + particular photons violate pulse-height limits, limb-angle + constraints, etc. The IDL tool cf_edit (discussed below) allows + users to modify these flags and combine IDF files from multiple + exposures. + + The second extension to the data files is a list of good-time + intervals (GTI's). They are not used by the extraction routine, + but may prove helpful to pipeline users. + + The third extension is called a timeline table. For each second + during the exposure, it lists a dozen parameters, including count + rate, day-night status, and detector voltage. The pipeline uses + this list to set the status flags for each photon. + + Note: because of the new file format employed by IDF files, + extensions 1 and 3 must be read using the /fscale keyword. + + idl> a=mrdfits('P99901010011attagfidf.fit',1,/fscale) + idl> help,a,/str + + Elements of individual arrays must be addressed using the syntax + + idl> print,a.time[3:30] -- not a[3:30].time + + For details about the format of the IDF, please see the document + + [calfuse_directory]/v3.1/src/README_FILES/IDF_Format.txt + + +VI. Manipulating the IDF with cf_edit + + CF_EDIT is an Interactive Data Language (IDL) visualization tool + for the examination and modification of FUSE IDF files containing + flux- and wavelength-calibrated photon-event lists. Users without + IDL licenses may use the IDL "Virtual Machine" version of the + tool for free. Complete instructions for installing and using + cf_edit are available at this URL: + + http://fuse.pha.jhu.edu/analysis/fuse_idl_tools.html + + More information on the IDL Virtual Machine is available here: + + http://www.rsinc.com/idlvm/index.asp + + +VII. The Output Spectral File + + The format of the output spectral files is somewhat changed from + earlier versions of CalFUSE. + + float WAVE Wavelength (Angstroms) + float FLUX Flux (erg/cm2/s/A) + float ERROR Gaussian errors (erg/cm2/s/A) + int COUNTS Raw counts in extraction window + float WEIGHTS Raw counts corrected for deadtime, etc. + float BKGD Estimated background in extraction window + short QUALITY Percentage of window used for extraction + + Note that the QUALITY array no longer lists the number of Y pixels + that contribute to each output X pixel. Instead, it is the fraction + of the extraction window considered to contain valid data, expressed + as a percentage (0 is all bad; 100 is all good). + + Do-it-yourself-ers can use the following recipe to generate a + flux-calibrated spectrum: + + TARGET_COUNTS = WEIGHTS - BKGD + TARGET_FLUX = TARGET_COUNTS * HC / LAMBDA / AEFF / EXPTIME / WPC + + where AEFF = effective area in cm^2 and WPC = size of output pixel in + Angstroms. + +VIII. Additional Files Available from MAST + + CalFUSE produces eight extracted spectral (*fcal.fit) files for + each exposure. We combine them into a set of three + observation-level files for submission to the MAST archive. + Depending on the target and the questions that you are trying to + answer, you may find that these files are of sufficient fidelity + for scientific investigation. Here's a brief description of their + contents: + + ALL: For each channel (LiF 1A, SiC 1A, etc.), we combine data from + all exposures in the observation into a single spectrum. If the + individual spectra are bright enough, we cross correlate and shift + before combining them. If the spectra are too faint, we combine the + individual IDF files and extract a single spectrum to optimize the + background model. The combined spectrum for each channel is stored + in a separate extension. + + Note: The cataloging software used by MAST requires the presence of + an ALL file for each exposure, not just for the entire observation. + We now generate such a file, but it contains no data, only a FITS + file header. The observation-level ALL files discussed above can be + identified by the string "00000all" in their names. + + ANO (all, night-only): Same format as the ALL files, but using only + data obtained during the night-time portion of each exposure. These + files are generated only for TTAG data, and only if EXPNIGHT > 0. + + NVO (National Virtual Observatory): Contains a single spectrum + spanning the entire FUSE wavelength range. The spectrum is + assembled by cutting and pasting segments from the most sensitive + channel at each wavelength. Segments are shifted to match LiF 1A + between 1045 and 1070 E. Columns are WAVE, FLUX, and ERROR and are + stored in a single binary table extension. + +IX. Data-Analysis Tools + + A variety of IDL routines to display and manipulate FUSE data are + available from the FUSE IDL Tools Reference Page: + + http://fuse.pha.jhu.edu/analysis/fuse_idl_tools.html + + Data-analysis tools distributed with the CalFUSE pipeline are + reviewed in the document FUSE Tools in C: + + http://fuse.pha.jhu.edu/analysis/fuse_toolbox.html + + A subset of these programs, designed specifically for the + manipulation of IDF files, is described in the IDF Cookbook: + + http://fuse.pha.jhu.edu/analysis/idfcook/index.html diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..239796f --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,6 @@ +docdir = $(datadir)/doc/@PACKAGE@-@VERSION@ +doc_DATA = FIXING_SELINUX_ISSUES \ + INSTALLING_A_FORTRAN_COMPILER \ + INSTALLING_CalFUSEv3.2.3 \ + INTRO_TO_CalFUSEv3.2.3 \ + pipeline_status.html diff --git a/doc/Makefile.in b/doc/Makefile.in new file mode 100644 index 0000000..0ed656b --- /dev/null +++ b/doc/Makefile.in @@ -0,0 +1,504 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = doc +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/include/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(docdir)" +DATA = $(doc_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +cfitsio_CFLAGS = @cfitsio_CFLAGS@ +cfitsio_LIBS = @cfitsio_LIBS@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = $(datadir)/doc/@PACKAGE@-@VERSION@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +doc_DATA = FIXING_SELINUX_ISSUES \ + INSTALLING_A_FORTRAN_COMPILER \ + INSTALLING_CalFUSEv3.2.3 \ + INTRO_TO_CalFUSEv3.2.3 \ + pipeline_status.html + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign doc/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-docDATA: $(doc_DATA) + @$(NORMAL_INSTALL) + @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ + done + +uninstall-docDATA: + @$(NORMAL_UNINSTALL) + @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(docdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-docDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-docDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-docDATA install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-docDATA + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/doc/pipeline_status.html b/doc/pipeline_status.html new file mode 100644 index 0000000..be15d28 --- /dev/null +++ b/doc/pipeline_status.html @@ -0,0 +1,3515 @@ +<!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. +<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">å</font> +Yi * nbcounts_i)/<font face="symbol">å</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> +<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 </td> +</tr> + +<tr VALIGN=TOP> +<td>1A (SiC)</td> + +<td>/data2/fuse/CAL/M103/M1030303</td> + +<td>Good </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 </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> + + +<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> +<br> +<br> +<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> |