.. _software: Software ======== .. warning:: Please **do not** download large files during the tutorial or the WIFI network will overload. We will distribute the software and data you need via USB sticks. To participate in the tutorial you should bring a Mac or Linux laptop. This page describes how to install the software we need for the tutorial and how to check that it works properly. If you have a Windows laptop, you can install `VirtualBox `_ and then install Linux in a virtual machine. It's best to install a Linux distribution that is officially supported by the Fermi science tools (see `here `_): unfortunately the `Scientific Linux `_ distribution is very large (over 4 GB) and `Ubuntu `_ has known problems. Therefore we recomment you try `Fedora `_, which should be similar enough to ScientificLinux for the `Scientific Linux 6 64 bit libc 2.12 `_ binary version of the ScienceTools to work. **Check:** you should be able to open a terminal and do this:: $ echo "Hello world" Hello world $ Overview -------- You should install the following software: * Fermi Science Tools * FTOOLS = HEASOFT (includes fv) * ds9 * TOPCAT * Aladin (if you want) * Enrico Fermi Science Tools ------------------- The main analysis software you will use for this tutorial is the Fermi data analysis software, called the `Fermi science tools `_. The `Fermi Science Support Center `_ web pages contain a lot of information about Fermi `data access `_ and `data analysis `_. If you have a problem you can't solve yourself (always try finding a solution yourself with Google first), you can contact the official NASA `Fermi help desk `_ or post in `this forum `_. The most important piece of advice on the `Installing the Fermi Science Tools `_ page is: > Downloading and installing the Fermi science tools from the binary tar files below is strongly recommended. > The many minor variations in the various Unix systems makes building the tools from source challenging. So download the binary tar file for your machine ... this will take a while because it's about 1 GB in size. As an example, for Mac the file you get will be called ``ScienceTools-v9r31p1-fssc-20130410-x86_64-apple-darwin12.2.0.tar.gz`` or maybe if it is automatically unzipped after download it will be called ``ScienceTools-v9r31p1-fssc-20130410-x86_64-apple-darwin12.2.0.tar``. After download you have to set up the Fermi science tools as described `here `_. **Check:** you should be able to use the Fermi science tools from the Shell command line and via Python:: $ which gtbin $ gtbin # abort with CTRL + C $ which python $ python >>> import UnbinnedAnalysis libcrypto and libssl shared library problem +++++++++++++++++++++++++++++++++++++++++++ If gtbin complains about missing ``libcrypto.so.10``, then you need make a link to your installed version with the name requested. To do this first use ``locate`` to find your version, then cd to that directory and create a symbolic link. Example:: $ sudo -i # locate libcrypto /PATH TO FILE/libcrypto.so.0.9.8 # cd /PATH TO FILE/ # ln -s libcrypto.so.0.9.8 libcrypto.so.10 You see either a file called ``libcrypto.so.0.9.8`` or ``libcrypto.so.1.0.0``. If locate finds a file called ``libcrypto.so.1.0.0``, use that file instead of the ``libcrypto.0.9.8`` version. After creating the ``libcrypto`` link, try to run ``gtbin``. Sometimes a similar error regarding ``libssl`` will take place, if it does repeat the steps above with thelibssl file to (hopefully) correct it. FTOOLS = HEASOFT ---------------- Next install the `FTOOLS --- A General Package of Software to Manipulate FITS Files `_ following the installation instructions on the web. To install correctly you must run the ``configure`` script found in ``heasoft-6.14/[platform version]/BUILD_DIR``, where ``[platform version]`` corresponds to the string of your platform (e.g., ``x86_64-unknown-linux-gnu-libc2.5`` for Linux64). With the FTOOLS you install `Fv: The Interactive FITS File Editor `_, a flexible tool to view and edit `FITS `_ files. .. E.g. the `ftlist command line tool `_ is very handy to check what is in a given FITS file. Use `ds9` as an image viewer and `fv` to look at the content of Fermi event lists (called `photon files `_). **Check:** Open up a Fermi event list as described `here `_ with ``fv`` ds9 --- `SAOImage DS9 `_ is one of the best viewers for astronomical 2D images and 3D cubes ... please download it from `here `_. **Check:** Download and open up the following `FITS `_ files: * Hubble space telescope image of the Antennae Galaxies (`FITS file `_ of the 2D image) * Fermi LAT diffuse emission model (an outdated version, used here because of the small file size) (`FITS file `_ of the 3D cube with `log(energy)` on the third axis). If you want: * Some Hubble space telescope optical images `here `_. * Some Chandra X-ray observatory X-ray images `here `_ TOPCAT ------ `TOPCAT ` is a Java program to view FITS tables. Follow the installation instructions on the web. Aladin (optional) ----------------- `Aladin --- A FITS image viewer (alternative to ds9) `_ is a nice astronomical image and catalog viewer ... an alternative to ``ds9``. Install it and give it a try if you want. Enrico ------ Producing a spectrum (global model and flux points in energy bins) or light curve (flux points in time bins) requires calling a lot of Fermi science tools with the right parameters in the right order. Luckily you have `Enrico `_ to help you. Enrico is a set of `Python `_ scripts that take a single `config file `_ as input where you specify what kind of analysis you want to run and the most important analysis parameters, and the run all Fermi science tools in the right order (or in parallel where possible) with the right parameters for you. Please install Enrico as described `here `_. **Check:** To check that Enrico is installed correctly run this command:: $ enrico_setupcheck Init file --------- You should create a file `fermi-hero-init.sh` which sets up your shell for this tutorial. Once all software is installed all you have to do is:: $ source fermi-hero-init.sh This is an example init file ... you'll have to adapt the PATHs / versions to your system:: export FERMI_HERO = /Users/deil/FERMI_HERO export HEADAS=$FERMI_HERO/heasoft-6.14/x86_64-unknown-linux-gnu-libc2.5 source $HEADAS/headas-init.sh export FERMI_DIR=$FERMI_HERO/ScienceTools-v9r31p1-fssc-20130410-x86_64-apple-darwin12.2.0/x86_64-apple-darwin12.2.0 source $FERMI_DIR/fermi-init.sh export ENRICO_DIR=$FERMI_HERO/enrico source $ENRICO_DIR/enrico-init.sh alias topcat="java -Xms512m -Xmx4024m -jar /Applications/TOPCAT.app/Contents/Resources/Java/topcat-full.jar" alias aladin="java -Xms512m -Xmx4024m -jar /Applications/Aladin.app/Contents/Resources/Java/Aladin.jar" # Add location of binaries to your PATH, e.g. for ds9: export PATH=$PATH:$FERMI_HERO