FTOOLS Frequently Asked Questions

  1. What is the most recent version of FTOOLS?
  2. How may I be notified of future releases of FTOOLS?
  3. How do I obtain and install the current version of FTOOLS?
  4. Is my platform/OS/compiler supported?
  5. How do I use my favorite compiler instead of gcc?
  6. Can I use g77?
  7. How much disk space is required?
  8. How can I turn off optimization in the build process?
  9. Once I've installed the FTOOLS, how do I rebuild just one of them?
  10. How do I call an FTOOL from a script (perl, sh, etc)?
  11. My ftools keep dying because I didn't remove the output file before starting. This is driving me crazy.
  12. How do I get on-line FTOOLS help information?
  13. I hate typing long FITS file names.
  14. Why does fparkey not like it when I give a filename as the keyword value?
  15. What are the known issues in the current version of FTOOLS?
  16. That's all very nice, but where can I ask a real question?

  1. What is the most recent released version of FTOOLS?

    Please refer to the HEASOFT page for information about the latest release.

    Return to the list of questions

  2. How may I be notified of future releases of HEASOFT?

    Subscribe to the "FTOOLS Notes" mailing list by sending an e-mail with empty Subject and in the body "subscribe" to ftoolsnotes-join@lists.nasa.gov

    Return to the list of questions

  3. How do I obtain and install the current version of FTOOLS?

    Point your web browser at the download webpage:

    https://heasarc.gsfc.nasa.gov/lheasoft/download.html

    from which you can download FTOOLS (either the source or binary distributions) and will also find detailed information about installation, usage, etc.

    Return to the list of questions

  4. Is my platform/OS/compiler supported?

    We try our best to support current versions of the most popular PC Linux, Mac, and PC Cygwin operating systems. For more information, please see our installation guides:

    Return to the list of questions

  5. How do I use my favorite compiler instead of gcc?

    BEFORE typing "./configure" in your BUILD_DIR set your CC environment variable, eg, setenv CC cc

    Return to the list of questions

  6. Can I use g77?

    Currently, using g77 to build FTOOLS is ONLY supported on Linux, Mac OS X, and Cygwin systems and cannot be used on other platforms.

    Return to the list of questions

  7. How much disk space is required?

    The unpackaged size of the downloaded software will vary depending on the packages you select and - if you choose a binary distribution - the architecture selected. The full source code distribution is roughly 590 Mb. Complete binary distribution sizes are approximately: Linux PC (660 Mb), Linux PC 64-bit (770 Mb), Linux Mac (580 Mb), Mac PPC Darwin (750 Mb), Mac Intel Darwin (800 Mb), Solaris (1 Gb), and Cygwin (300 Mb). Individual binary packages range in size from only a few Mb to around 200 Mb for the Xspec distributions, as the Xspec distributions include a number of large data files required to run Xspec. The APEC NEI data files (which are only needed by users running APEC NEI models) are packaged separately.

    Return to the list of questions

  8. How can I turn off optimization in the build process?

    The BUILD_DIR/configure script accepts the options --with-copt, --with-cxxopt, and --with-fopt with which you can set the optimization for each compiler (C/C++/Fortran). For example, to reduce C and C++ optimization from -O2 to -O, and turn off Fortran optimization, you would run configure --with-copt=-O --with-cxxopt=-O --with-fopt=none.

    Return to the list of questions

  9. Once I've installed the FTOOLS, how do I rebuild just one of them (to apply a patch, make my own changes, etc.)?

    Note: This will only work if you already installed from the source code....

    1. Perform a standard Ftools initialization.
      For C-shell variants:

            setenv HEADAS /path/to/my/headas-X.X/<arch>
            source $HEADAS/headas-init.csh
      
      or, for Bourne-shell variants:
            HEADAS=/path/to/my/headas-X.X/<arch>
            export HEADAS
            . $HEADAS/headas-init.csh
      
      where <arch> is the long architecture-specific directory containing your Ftools installation.

    2. Go to the directory containing the source code for the tool you wish to build, and use the hmake utility to build it, e.g.:

            cd headas-X.X/heatools/dummyftool
            hmake
      
      (You can capture the output to a log file if you wish.)

    3. If step 3 finishes without error, use hmake to install the tool:

            hmake install
      
      This will safely install the new binary.

    Return to the list of questions

  10. How do I call an FTOOL from a script (perl, sh, etc)?

    Specify all parameters that you don't want the user prompted for on the command line using the parameter="value" syntax. Specify *all* hidden parameters (you're only going to type it once, so don't whine). For example:

       fparkey value="ROSAT" fitsfile="myfile.fits+1" keyword="MISSION"
       comm="What made this thing" add=yes 
    

    In the past, this FAQ mentioned a way to run FTOOLS using mode=h. While not particularly dangerous when used *interactively* by an experienced user, we no longer recommend this method; it's too easy for inexperienced users to shoot themselves in the foot.

    DO NOT use mode=h, in scripts! DO NOT use 'pset' to set up an FTOOL to run! (This is the number one generator of "bugs which aren't really bugs" on ftoolshelp.) DO always specify *all* parameters on the command line in scripts.

    Return to the list of questions

  11. My ftools keep dying because I didn't remove the output file before starting. This is driving me crazy.

    Most of the FTOOLS now have a clobber parameter. Just set clobber=yes (on the command line or with pset) and your output files will be cheerfully overwritten. In a less hazardous solution, most of the FTOOLS also will clobber an output file if you precede the file name with an exclamation mark. If your favorite FTOOL doesn't obey this convention, let us know, and we'll fix it for the next release.

    Return to the list of questions

  12. How do I get on-line FTOOLS help information?

    From the command line "fhelp ftools" will list all of the FTOOLS and Perl scripts with a short description of each. More and more specific help can be requested; for example "fhelp xte" will list the FTOOLS in the XTE subpackage, and "fhelp fdump" will yield the full help page for the fdump FTOOL.

    Return to the list of questions

  13. I hate typing long FITS file names.

    So do I. Luckily, the FTOOLS parameter interface (XPI) uses the GNU readline library, so a full set of command line editing features is available (the same as you'd get in bash, for example). A few of the more useful keys:

    Key Action
    TAB Filename completion. (Two tabs will show you a list of possible completions if there's an ambiguity).
    up arrow (or ^p) Recall previously entered line.
    down arrow (or ^n) "Undoes" up arrow.
    right arrow (or ^f) Move cursor right on current line.
    left arrow (or ^b) Move cursor left on current line.
    RETURN Enters the parameter you've just typed. (Your cursor does not need to be at the end of the line.)

    Return to the list of questions

  14. Why does fparkey not like it when I give a filename as the keyword value?

    Due to a feature added to one of the core library routines with FTOOLS v4.1, if a string containing a forward slash ('/') is given as the keyword value (eg, in a unix path), only the characters preceding the slash will be interpreted as the keyword's value while those following it will be the comment. When entered interactively in response to fparkey's prompt, surrounding the string in single quotes prevents this parsing. When entered on the command line, however, 2 sets of quotes are required (one single and one double) because unix strips off one set before passing the string to the program. It thus looks like either this:

      > fparkey
      Keyword value[] '/home/bubba/in.fits'
      Name of FITS file and [ext#][] out.fits
      Keyword name[] RESPFILE
    
    or this:
      fparkey value="'/home/bubba/in.fits'" fitsfile=out.fits keyword=RESPFILE
    
    The single quotes must be the innermost set of quotes on the value string.

    Return to the list of questions

  15. What are the known issues in the current version of FTOOLS?

    Descriptions of known issues (and usually solutions) in the current software release can be found on the HEAsoft Known Issues page.

    Return to the list of questions

  16. That's all very nice, but where can I ask a real question?

    Contact us via the FTOOLS Help Desk

    Return to the list of questions


    FTOOLS HELP DESK

    If FTOOLS has been useful in your research, please reference this site (http://heasarc.gsfc.nasa.gov/ftools) and use the ASCL reference for HEASoft [ascl:1408.004] or the ASCL reference for the original FTOOLs paper [ascl:9912.002]:

    Blackburn, J. K. 1995, in ASP Conf. Ser., Vol. 77, Astronomical Data Analysis Software and Systems IV, ed. R. A. Shaw, H. E. Payne, and J. J. E. Hayes (San Francisco: ASP), 367.

    Web page maintained by: Bryan K. Irby